From d58c0699dc5b4fccb9873a0181e827c15071ae63 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 11:57:05 +0200 Subject: [PATCH 001/209] Changes variable and function name to start with lowercase letter. According to ATLAS code guidelines about starting function names with lowercase letter [variable-and-function-naming]. Changes: DecodeErrCount -> decodeErrCount BeginNewEvent() -> beginNewEvent() --- .../ISCTRawDataProviderTool.h | 2 +- .../src/SCTRawDataProvider.cxx | 2 +- .../src/SCTRawDataProviderTool.cxx | 12 ++++++------ .../src/SCTRawDataProviderTool.h | 2 +- .../src/TrigSCTRawDataProvider.cxx | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h index 6b8d4b36f8f..5391de25f4c 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h @@ -32,7 +32,7 @@ class ISCTRawDataProviderTool : virtual public IAlgTool SCT_ByteStreamFractionContainer* bsFracCont) = 0; //Replace the incident calls with private calls, more MT friendly - virtual void BeginNewEvent() = 0; + virtual void beginNewEvent() = 0; }; #endif // SCT_RAWDATABYTESTREAMCNV_ISCTRAWDATAPROVIDERTOOL_H diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx index 175222f87b9..612fc080710 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx @@ -75,7 +75,7 @@ typedef EventContainers::IdentifiableContTemp<InDetRawDataCollection<SCT_RDORawD StatusCode SCTRawDataProvider::execute() { - m_rawDataTool->BeginNewEvent(); + m_rawDataTool->beginNewEvent(); SG::WriteHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerKey); bool externalcacheRDO = !m_rdoContainerCacheKey.key().empty(); diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index 8f571a07a95..de6956867ca 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -36,7 +36,7 @@ StatusCode SCTRawDataProviderTool::initialize() /// ------------------------------------------------------- /// convert method -void SCTRawDataProviderTool::BeginNewEvent() { +void SCTRawDataProviderTool::beginNewEvent() { /** reset list of known robIds */ m_robIdSet.clear(); } @@ -48,7 +48,7 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR { if(vecRobs.empty()) return StatusCode::SUCCESS; ATH_MSG_DEBUG("SCTRawDataProviderTool::convert()"); - static int DecodeErrCount{0}; + static int decodeErrCount{0}; /** are we working on a new event ? */ std::vector<const ROBFragment*>::const_iterator rob_it{vecRobs.begin()}; @@ -68,12 +68,12 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR } else { sc = m_decoder->fillCollection(**rob_it, rdoIdc, errs, bsFracCont); if (sc==StatusCode::FAILURE) { - if (DecodeErrCount < 100) { + if (decodeErrCount < 100) { ATH_MSG_ERROR("Problem with SCT ByteStream Decoding!"); - DecodeErrCount++; - } else if (100 == DecodeErrCount) { + decodeErrCount++; + } else if (100 == decodeErrCount) { ATH_MSG_ERROR("Too many Problem with SCT Decoding messages, turning message off. "); - DecodeErrCount++; + decodeErrCount++; } } } diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index 62532c6c04f..ced1c8e3395 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -39,7 +39,7 @@ class SCTRawDataProviderTool : public extends<AthAlgTool, ISCTRawDataProviderToo InDetBSErrContainer* errs, SCT_ByteStreamFractionContainer* bsFracCont) override; - virtual void BeginNewEvent() override; + virtual void beginNewEvent() override; private: diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx index 272bfdb1874..0e7a37e0ec2 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx @@ -126,7 +126,7 @@ namespace InDet { void TrigSCTRawDataProvider::handle(const Incident& inc) { if (inc.type() == "BeginEvent") { m_container->cleanup(); - m_rawDataTool->BeginNewEvent(); + m_rawDataTool->beginNewEvent(); } } -- GitLab From 5d69e2611ef213e5b843cc86deca838a28797a45 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 12:33:45 +0200 Subject: [PATCH 002/209] Changed ordering of methods in soruce file to match order in header According to ATLAS code guidelines about identical order of methods in header and source file [method-ordering]. Change: moved beginNewEvent() to bottom in source file. --- .../src/SCTRawDataProviderTool.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index de6956867ca..12e2438cb78 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -36,11 +36,6 @@ StatusCode SCTRawDataProviderTool::initialize() /// ------------------------------------------------------- /// convert method -void SCTRawDataProviderTool::beginNewEvent() { - /** reset list of known robIds */ - m_robIdSet.clear(); -} - StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecRobs, ISCT_RDO_Container& rdoIdc, InDetBSErrContainer* errs, @@ -86,3 +81,11 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR return sc; } + +/// ------------------------------------------------------- +/// beginNewEvent method + +void SCTRawDataProviderTool::beginNewEvent() { + /** reset list of known robIds */ + m_robIdSet.clear(); +} -- GitLab From b2b968a8093f85bb0b290a1c5487bc5bb3ba0455 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 12:38:41 +0200 Subject: [PATCH 003/209] Changed order of include statements in header according to dependency According to ATLAS coding guidelines on ordering of #include statements [include-ordering]. --- .../src/SCTRawDataProviderTool.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index ced1c8e3395..bca35d7c99f 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -7,12 +7,12 @@ #include "SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h" -#include "GaudiKernel/ToolHandle.h" - -#include "AthenaBaseComps/AthAlgTool.h" -#include "ByteStreamData/RawEvent.h" -#include "InDetRawData/SCT_RDO_Container.h" #include "SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h" +#include "InDetRawData/SCT_RDO_Container.h" +#include "ByteStreamData/RawEvent.h" +#include "AthenaBaseComps/AthAlgTool.h" + +#include "GaudiKernel/ToolHandle.h" #include <set> -- GitLab From 6d003f668801027ed9c39bb8db6880c496c289a7 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 13:08:31 +0200 Subject: [PATCH 004/209] Made the loop over ROB fragments a range-based loop According to ATLAS coding guidelines range-based loops are prefered over explicit iterators [prefer-range-based-for]. --- .../src/SCTRawDataProviderTool.cxx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index 12e2438cb78..c98cca6671b 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -45,28 +45,27 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR ATH_MSG_DEBUG("SCTRawDataProviderTool::convert()"); static int decodeErrCount{0}; - /** are we working on a new event ? */ - std::vector<const ROBFragment*>::const_iterator rob_it{vecRobs.begin()}; - StatusCode sc{StatusCode::SUCCESS}; /** loop over the ROB fragments */ - for(; rob_it!=vecRobs.end(); ++rob_it) { + for(const ROBFragment* rob_it : vecRobs) { /** get the ID of this ROB/ROD */ - uint32_t robid{(*rob_it)->rod_source_id()}; + uint32_t robid{(rob_it)->rod_source_id()}; /** check if this ROBFragment was already decoded (EF case in ROIs) */ if (!m_robIdSet.insert(robid).second) { ATH_MSG_DEBUG(" ROB Fragment with ID " << std::hex<<robid << std::dec << " already decoded, skip"); - } else { - sc = m_decoder->fillCollection(**rob_it, rdoIdc, errs, bsFracCont); + } + else { + sc = m_decoder->fillCollection(*rob_it, rdoIdc, errs, bsFracCont); if (sc==StatusCode::FAILURE) { if (decodeErrCount < 100) { ATH_MSG_ERROR("Problem with SCT ByteStream Decoding!"); decodeErrCount++; - } else if (100 == decodeErrCount) { + } + else if (100 == decodeErrCount) { ATH_MSG_ERROR("Too many Problem with SCT Decoding messages, turning message off. "); decodeErrCount++; } -- GitLab From d27b1c4272da08327cf06712675750a382e8ee34 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 16:26:50 +0200 Subject: [PATCH 005/209] Changed static variable to class member According to ATLAS coding guidelines non-const static variables should not be used [mt-no-nonconst-static]. --- .../SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx | 3 ++- .../SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index c98cca6671b..6cefba0e711 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -43,7 +43,8 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR { if(vecRobs.empty()) return StatusCode::SUCCESS; ATH_MSG_DEBUG("SCTRawDataProviderTool::convert()"); - static int decodeErrCount{0}; + + decodeErrCount = 0; StatusCode sc{StatusCode::SUCCESS}; diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index bca35d7c99f..cc424ae08da 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -47,6 +47,8 @@ class SCTRawDataProviderTool : public extends<AthAlgTool, ISCTRawDataProviderToo // bookkeeping if we have decoded a ROB already std::set<uint32_t> m_robIdSet; + + int m_decodeErrCount; }; #endif // SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H -- GitLab From f0c19a0cd480bd2a7a7b08371562d8f8d61f84f0 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Fri, 20 Jul 2018 16:42:42 +0200 Subject: [PATCH 006/209] Changed error from previous commit (d27b1c42) Had not update decodeErrCount to m_decodeErrCount. --- .../src/SCTRawDataProviderTool.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index 6cefba0e711..49fe6af34de 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -44,7 +44,7 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR if(vecRobs.empty()) return StatusCode::SUCCESS; ATH_MSG_DEBUG("SCTRawDataProviderTool::convert()"); - decodeErrCount = 0; + m_decodeErrCount = 0; StatusCode sc{StatusCode::SUCCESS}; @@ -62,13 +62,13 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR else { sc = m_decoder->fillCollection(*rob_it, rdoIdc, errs, bsFracCont); if (sc==StatusCode::FAILURE) { - if (decodeErrCount < 100) { + if (m_decodeErrCount < 100) { ATH_MSG_ERROR("Problem with SCT ByteStream Decoding!"); - decodeErrCount++; + m_decodeErrCount++; } - else if (100 == decodeErrCount) { + else if (100 == m_decodeErrCount) { ATH_MSG_ERROR("Too many Problem with SCT Decoding messages, turning message off. "); - decodeErrCount++; + m_decodeErrCount++; } } } -- GitLab From 8618f77c79c6f368e805e0a685d8122f3674fae6 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Mon, 23 Jul 2018 15:18:14 +0200 Subject: [PATCH 007/209] Implemented Doxygen comments, should be reviewed by author @oda According to ATLAS Coding Guidelines comments are to follow the Doxygen style commenting [doxygen-comments], written in complete English sentences [english-comments]. In a header file comments describing functions and attributes is to be included [comment-functions]. --- .../src/SCTRawDataProviderTool.cxx | 32 +++++++++------ .../src/SCTRawDataProviderTool.h | 41 +++++++++++++++---- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index 49fe6af34de..d1164b61557 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -2,13 +2,20 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ +/////////////////////////////////////////////////////////////////// +// SCTRawDataProviderTool.cxx +// Implementation file for class SCTRawDataProviderTool +/////////////////////////////////////////////////////////////////// +// (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// + #include "SCTRawDataProviderTool.h" #include "StoreGate/ReadHandle.h" using OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment; -/// ------------------------------------------------------- -/// contructor +// ------------------------------------------------------- +// Constructor SCTRawDataProviderTool::SCTRawDataProviderTool (const std::string& type, const std::string& name, const IInterface* parent) @@ -17,8 +24,8 @@ SCTRawDataProviderTool::SCTRawDataProviderTool { } -/// ------------------------------------------------------- -/// initialize +// ------------------------------------------------------- +// Initialize StatusCode SCTRawDataProviderTool::initialize() { @@ -33,8 +40,8 @@ StatusCode SCTRawDataProviderTool::initialize() return StatusCode::SUCCESS; } -/// ------------------------------------------------------- -/// convert method +// ------------------------------------------------------- +// Convert method StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecRobs, ISCT_RDO_Container& rdoIdc, @@ -48,12 +55,11 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR StatusCode sc{StatusCode::SUCCESS}; - /** loop over the ROB fragments */ - + // loop over the ROB fragments for(const ROBFragment* rob_it : vecRobs) { - /** get the ID of this ROB/ROD */ + // get the ID of this ROB/ROD uint32_t robid{(rob_it)->rod_source_id()}; - /** check if this ROBFragment was already decoded (EF case in ROIs) */ + // check if this ROBFragment was already decoded (EF case in ROIs) if (!m_robIdSet.insert(robid).second) { ATH_MSG_DEBUG(" ROB Fragment with ID " << std::hex<<robid << std::dec @@ -82,10 +88,10 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR return sc; } -/// ------------------------------------------------------- -/// beginNewEvent method +// ------------------------------------------------------- +// beginNewEvent method void SCTRawDataProviderTool::beginNewEvent() { - /** reset list of known robIds */ + // reset list of known robIds m_robIdSet.clear(); } diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index cc424ae08da..3889c656cdc 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -2,6 +2,13 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ +/////////////////////////////////////////////////////////////////// +// SCTRawDataProviderTool.h +// Header file for class SCTRawDataProviderTool +/////////////////////////////////////////////////////////////////// +// (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// + #ifndef SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H #define SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H @@ -16,38 +23,58 @@ #include <set> +/** @class SCTRawDataProviderTool + * + * @breif Athena Algorithm Tool to fill Collections of SCT RDO Containers. + * + * The class inherits from AthAlgTool and ISCTRawDataProviderTool. + * + * Contains a convert method that fills the SCT RDO Collection. + */ class SCTRawDataProviderTool : public extends<AthAlgTool, ISCTRawDataProviderTool> { public: - //! constructor + /** Constructor */ SCTRawDataProviderTool(const std::string& type, const std::string& name, const IInterface* parent); - //! destructor + /** Destructor */ virtual ~SCTRawDataProviderTool() = default; - //! initialize + /** Initialize */ virtual StatusCode initialize() override; - //! finalize is empty, unnecessary to override + // finalize is empty, unnecessary to override - //! this is the main decoding method + /** @brief Main decoding method. + * + * Loops over ROB fragments, get ROB/ROD ID, then decode if not allready decoded. + * + * @param vecRobs Vector containing ROB framgents. + * @param rdoIdc RDO ID Container to be filled. + * @param errs Byte stream error container. + * @param bsFracCont Byte stream fraction container. + * */ virtual StatusCode convert(std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs, ISCT_RDO_Container& rdoIdc, InDetBSErrContainer* errs, SCT_ByteStreamFractionContainer* bsFracCont) override; + /** Reset list of known ROB IDs */ virtual void beginNewEvent() override; private: - + + /** Algorithm Tool to decode ROD byte stream into RDO. */ ToolHandle<ISCT_RodDecoder> m_decoder{this, "Decoder", "SCT_RodDecoder", "Decoder"}; - // bookkeeping if we have decoded a ROB already + /** For bookkeeping of decoded ROBs */ std::set<uint32_t> m_robIdSet; + /** Number of decode errors encountered in decoding. + * Turning off error message after 100 errors are counted */ int m_decodeErrCount; }; -- GitLab From c71743e7fc1cf9b20f8ac710ccf08bf57302a552 Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Mon, 23 Jul 2018 15:29:18 +0200 Subject: [PATCH 008/209] Fixed typo: @breif -> @brief --- .../SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index 3889c656cdc..b7fed280961 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -25,7 +25,7 @@ /** @class SCTRawDataProviderTool * - * @breif Athena Algorithm Tool to fill Collections of SCT RDO Containers. + * @brief Athena Algorithm Tool to fill Collections of SCT RDO Containers. * * The class inherits from AthAlgTool and ISCTRawDataProviderTool. * -- GitLab From d1df5a7565e8ffbf7da07837a4644dec778ee64b Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Tue, 23 Oct 2018 11:39:52 +0200 Subject: [PATCH 009/209] First attempt to add DecorHandleKeyArrays --- .../StoreGate/StoreGate/DecorHandleKeyArray.h | 60 ++++++ .../StoreGate/ReadDecorHandleKeyArray.h | 44 ++++ .../StoreGate/WriteDecorHandleKeyArray.h | 43 ++++ .../src/egammaTruthAssociationAlg.cxx | 138 +------------ .../src/egammaTruthAssociationAlg.h | 191 +++++++++++++++--- 5 files changed, 316 insertions(+), 160 deletions(-) create mode 100644 Control/StoreGate/StoreGate/DecorHandleKeyArray.h create mode 100644 Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h create mode 100644 Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h diff --git a/Control/StoreGate/StoreGate/DecorHandleKeyArray.h b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h new file mode 100644 index 00000000000..407dc9a2380 --- /dev/null +++ b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h @@ -0,0 +1,60 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_DECORHANDLEKEYARRAY_H +#define STOREGATE_DECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/HandleKeyArray.h" + +namespace SG { + + /** + * @class SG::DecorHandleKeyArray<T> + * @brief class to hold an array of DecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * This class is based on HandleKeyArray but adds another Property Constructor, with + * a std::string that is the name of the base container. It is up to the user + * in the algorithm initialize to convert the HandleKeyArray to to have the + * needed handle keys. + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T_Handle, class T_HandleKey, Gaudi::DataHandle::Mode MODE> + class DecorHandleKeyArray : + public HandleKeyArray< T_Handle, T_HandleKey, MODE> { + + public: + + /** + * @brief auto-declaring Property Constructor from a HandleKeyArray + * that takes an initializer list of std::strings, and associates the WHKA + * with the specified Property name + * @param name name of Property + * @param std::strings that is the name of the base incput container + * @param doc documentation string + */ + template <class OWNER, + typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type> + inline DecorHandleKeyArray( OWNER* owner, + std::string name, + std::string baseContName = "", + std::string doc="") : + HandleKeyArray<T_Handle, T_HandleKey, MODE> {} { + // For now just create one key with just the base name + // This should be updated in the initialize phase + if (baseContName != "") { + this->push_back(T_HandleKey{baseContName}); + } + auto p = owner->declareProperty(std::move(name), *this, std::move(doc)); + p->template setOwnerType<OWNER>(); + } + }; + +} // namespace SG + +#endif diff --git a/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h new file mode 100644 index 00000000000..9d8aea7f11b --- /dev/null +++ b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h @@ -0,0 +1,44 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_READDECORHANDLEKEYARRAY_H +#define STOREGATE_READDECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/DecorHandleKeyArray.h" + +#include "StoreGate/ReadDecorHandleKey.h" +#include "StoreGate/ReadDecorHandle.h" + +namespace SG { + + /** + * @class SG::ReadDecorHandleKeyArray<T> + * @brief class to hold an array of ReadDecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * initialization can be done in three ways. + * 1: with an std::vector<ReadDecorHandleKey> as a parameter + * SG::ReadDecorHandleKeyArray<foo> m_foo ( std::vector<ReadDecorHandleKey> ); + * 2: with an initializer list of ReadDecorHandleKeys + * SG::ReadDecorHandleKeyArray<foo> m_foo { ReadDecorHandleKey<foo> k1, ReadDecorHandleKey<foo> k2 }; + * 3: with an initializer list of std::strings, that will be used to + * internally create ReadDecorHandleKeys with those initializers + * SG::ReadDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; + * + * Additionally, a propery configuration can be done with just a std::string that's the base + * container name. This then allows for the right decor handles to be added in the alg/tool's + * initilize stage. + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T, class S = float> + using ReadDecorHandleKeyArray = DecorHandleKeyArray<ReadDecorHandle<T, S>, ReadDecorHandleKey<T>, Gaudi::DataHandle::Reader >; + + +} // namespace SG + +#endif diff --git a/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h new file mode 100644 index 00000000000..a44710174bf --- /dev/null +++ b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h @@ -0,0 +1,43 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_WRITEDECORHANDLEKEYARRAY_H +#define STOREGATE_WRITEDECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/DecorHandleKeyArray.h" + +#include "StoreGate/WriteDecorHandleKey.h" +#include "StoreGate/WriteDecorHandle.h" + +namespace SG { + + /** + * @class SG::WriteDecorHandleKeyArray<T> + * @brief class to hold an array of WriteDecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * initialization can be done in three ways. + * 1: with an std::vector<WriteDecorHandleKey> as a parameter + * SG::WriteDecorHandleKeyArray<foo> m_foo ( std::vector<WriteDecorHandleKey> ); + * 2: with an initializer list of WriteDecorHandleKeys + * SG::WriteDecorHandleKeyArray<foo> m_foo { WriteDecorHandleKey<foo> k1, WriteDecorHandleKey<foo> k2 }; + * 3: with an initializer list of std::strings, that will be used to + * internally create WriteDecorHandleKeys with those initializers + * SG::WriteDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; + * + * Additionally, a propery configuration can be done with just a std::string that's the base + * container name. This then allows for the right decor handles to be added in the alg/tool's + * initilize stage. + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T, class S = float> + using WriteDecorHandleKeyArray = DecorHandleKeyArray<WriteDecorHandle<T, S>,WriteDecorHandleKey<T>, Gaudi::DataHandle::Writer >; + +} // namespace SG + +#endif diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx index 6f8c1b53f3f..ddb35c7edb4 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx @@ -11,19 +11,14 @@ #include "xAODCaloEvent/CaloClusterContainer.h" #include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/PhotonContainer.h" -#include "xAODEgamma/EgammaxAODHelpers.h" -#include "xAODTruth/xAODTruthHelpers.h" -#include "xAODTruth/TruthParticle.h" -#include "xAODTruth/TruthParticleAuxContainer.h" -#include "xAODTruth/TruthEventContainer.h" - -#include "egammaInterfaces/IEMExtrapolationTools.h" +#include <memory> typedef ElementLink<xAOD::TruthParticleContainer> TruthLink_t; typedef ElementLink<xAOD::CaloClusterContainer> ClusterLink_t; typedef ElementLink<xAOD::ElectronContainer> ElectronLink_t; typedef ElementLink<xAOD::PhotonContainer> PhotonLink_t; + // ============================================================= egammaTruthAssociationAlg::egammaTruthAssociationAlg(const std::string& name, @@ -45,13 +40,17 @@ StatusCode egammaTruthAssociationAlg::initialize() { ATH_CHECK(m_truthParticleContainerKey.initialize()); // Now the standard decoration handles - ATH_CHECK(m_electronDecKeys.initializeDecorKeys(m_electronContainerName)); - ATH_CHECK(m_photonDecKeys.initializeDecorKeys(m_photonContainerName)); + ATH_CHECK(initializeDecorKeys(m_electronDecKeys)); + ATH_CHECK(initializeDecorKeys(m_photonDecKeys)); if (m_matchClusters) { - ATH_CHECK(m_clusterDecKeys.initializeDecorKeys(m_clusterContainerName)); + ATH_CHECK(initializeDecorKeys(m_clusterDecKeys)); + } else { + m_clusterDecKeys.clear(); } if (m_matchForwardElectrons){ - ATH_CHECK(m_fwdElectronDecKeys.initializeDecorKeys(m_fwdElectronContainerName)); + ATH_CHECK(initializeDecorKeys(m_fwdElectronDecKeys)); + } else { + m_fwdElectronDecKeys.clear(); } CHECK( m_mcTruthClassifier.retrieve() ); @@ -212,120 +211,3 @@ egammaTruthAssociationAlg::getEgammaTruthParticle(const xAOD::TruthParticle *tru } return 0; } -// ========================================================================== -template<class T, class L> -StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& truthParticles, - const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys, - const SG::AuxElement::Accessor<L>& linkAccess, - xAOD::TruthParticleContainer& egammaTruthContainer) { - - writeDecorHandles<T> decoHandles(hkeys); - - //Extrapolation Cache - Cache extrapolationCache{}; - - for (auto particle : *decoHandles.readHandle()){ - - MCTruthInfo_t info = particleTruthClassifier(particle, &extrapolationCache); - - const xAOD::TruthParticle* truthParticle = info.genPart; - if (truthParticle) { - ElementLink<xAOD::TruthParticleContainer> link(truthParticle, truthParticles); - ATH_MSG_DEBUG("Decorating object with link to truth, index = " << link.index()); - decoHandles.el(*particle) = link; - } else { - decoHandles.el(*particle) = ElementLink<xAOD::TruthParticleContainer>(); - } - decoHandles.el(*particle).toPersistent(); - ATH_MSG_DEBUG("truthType = " << info.first << " truthOrigin = " << info.second); - decoHandles.type(*particle) = static_cast<int>( info.first ); - decoHandles.origin(*particle) = static_cast<int>( info.second ); - - // Decorate the corresponding truth particle with the link to the reco - if (m_doEgammaTruthContainer) { - const xAOD::TruthParticle *truth = xAOD::TruthHelpers::getTruthParticle(*particle); - if (truth) { - xAOD::TruthParticle *truthEgamma = getEgammaTruthParticle(truth, egammaTruthContainer); - if (truthEgamma) { - // we found a truthEgamma object we should annotate if this is the best link - bool annotateLink = true; // by default we annotate - const auto link = linkAccess(*truthEgamma); // what already exists - if (link.isValid()) { - auto oldPart = *link; - if (oldPart && truthEgamma->e() > 0 && - std::abs( oldPart->e()/truthEgamma->e()-1 ) < std::abs( particle->e()/truthEgamma->e()-1 ) ){ - ATH_MSG_DEBUG(truthEgamma << ": " << " already set to a better matched particle: " << particle); - annotateLink = false; - } - } - - if (annotateLink) { - L link(particle, *decoHandles.readHandle()); - linkAccess(*truthEgamma) = link; - linkAccess(*truthEgamma).toPersistent(); - } - } - } - } - } - return StatusCode::SUCCESS; -} - -// ========================================================================== -// not a constructor -template<class T> -StatusCode -egammaTruthAssociationAlg::writeDecorHandleKeys<T>::initializeDecorKeys(const std::string &name) -{ - keys[0] = name + ".truthParticleLink"; - keys[1] = name + ".truthType"; - keys[2] = name + ".truthOrigin"; - - for (auto& key : keys) { - ATH_CHECK(key.initialize()); - } - return StatusCode::SUCCESS; -} - -// ========================================================================== -// constructor -template<class T> -egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys) : - el(hkeys.keys[0]), - type(hkeys.keys[1]), - origin(hkeys.keys[2]) -{ -} - - -// ========================================================================== -template<class T> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} -/** Template specialisation for electrons: - * second pass based on the cluster to find true photons **/ -template<> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); - if (ret.first == MCTruthPartClassifier::Unknown && - !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ - ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); - ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); - } - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} - diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h index 78453085a60..da7a954be37 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h @@ -2,8 +2,8 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -#ifndef EGAMMAREC_egammaTruthAssociationAlg_H -#define EGAMMAREC_egammaTruthAssociationAlg_H +#ifndef EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H +#define EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H #include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" @@ -12,19 +12,22 @@ #include "xAODEgamma/EgammaContainer.h" #include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/PhotonContainer.h" +#include "xAODEgamma/EgammaxAODHelpers.h" #include "xAODTruth/TruthParticleContainer.h" #include "xAODTruth/TruthEventContainer.h" +#include "xAODTruth/xAODTruthHelpers.h" +#include "xAODTruth/TruthParticle.h" +#include "xAODTruth/TruthParticleAuxContainer.h" #include "RecoToolInterfaces/IParticleCaloExtensionTool.h" #include "StoreGate/ReadHandleKey.h" #include "StoreGate/ReadHandle.h" #include "StoreGate/WriteHandleKey.h" -#include "StoreGate/WriteDecorHandleKey.h" +#include "StoreGate/WriteDecorHandleKeyArray.h" #include "StoreGate/WriteDecorHandle.h" -#include <memory> -#include <array> +#include <string> /** @class egammaTruthAssociationAlg @@ -61,16 +64,12 @@ private: const xAOD::TruthParticle* genPart; }; - /** @brief helper class to contain write docoration handle keys */ - template<class T> struct writeDecorHandleKeys { - StatusCode initializeDecorKeys(const std::string &name); // note, not constructor - - std::array<SG::WriteDecorHandleKey<T>, 3> keys; - }; + /// A function that initializes the decor handles, but also checks the naming convention + template<class T> StatusCode initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys); /** @brief helper class to contain write decoration handles */ template<class T> struct writeDecorHandles { - writeDecorHandles(const writeDecorHandleKeys<T>& keys); // constructor + writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& keys); // constructor SG::WriteDecorHandle<T, ElementLink<xAOD::TruthParticleContainer> > el; SG::WriteDecorHandle<T, int > type; @@ -85,7 +84,7 @@ private: /** @brief Loop over elements in the reco container, decorate them with truth info and * decorate the truth particles with links to the reco ones (reco<typeName>Link) **/ template<class T, class L> StatusCode match(const xAOD::TruthParticleContainer& truthParticles, - const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys, + const SG::WriteDecorHandleKeyArray<T>& hkeys, const SG::AuxElement::Accessor<L>& linkAccess, xAOD::TruthParticleContainer& egammaTruthContainer) ; @@ -124,30 +123,26 @@ private: Gaudi::Property<bool> m_matchClusters {this, "MatchClusters", false, "Match clusters?"}; - /** @brief Name of the egamma cluster container **/ - Gaudi::Property<std::string> m_clusterContainerName {this, - "ClusterContainerName", "", + /** @brief The egamma cluster decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::CaloClusterContainer> m_clusterDecKeys {this, + "ClusterContainerName", "", "Name of the egamma cluster container"}; - writeDecorHandleKeys<xAOD::CaloClusterContainer> m_clusterDecKeys; - - /** @brief Name of the input electron container **/ - Gaudi::Property<std::string> m_electronContainerName {this, + + /** @brief The electron container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_electronDecKeys {this, "ElectronContainerName", "", - "Name of the input electron container"}; - writeDecorHandleKeys<xAOD::ElectronContainer> m_electronDecKeys; + "Name of the input electron container"}; - /** @brief Name of the input electron container **/ - Gaudi::Property<std::string> m_fwdElectronContainerName {this, + /** @brief The fwd electron container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_fwdElectronDecKeys {this, "FwdElectronContainerName", "", - "Name of the input fwd electron container"}; - writeDecorHandleKeys<xAOD::ElectronContainer> m_fwdElectronDecKeys; + "Name of the input fwd electron container"}; - /** @brief Name of the input photon container **/ - Gaudi::Property<std::string> m_photonContainerName {this, + /** @brief The photon container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::PhotonContainer> m_photonDecKeys {this, "PhotonContainerName", "", - "Name of the input photon container"}; - writeDecorHandleKeys<xAOD::PhotonContainer> m_photonDecKeys; - + "Name of the input photon container"}; + /** @brief Name of the truth event container **/ SG::ReadHandleKey<xAOD::TruthEventContainer> m_truthEventContainerKey {this, "TruthEventContainerName", "", @@ -181,4 +176,136 @@ private: }; -#endif // EGAMMAREC_egammaTruthAssociationAlg_H +//// The templated functions + + +// ========================================================================== +template<class T> +StatusCode +egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys) +{ + if (keys.size() == 0) { + return StatusCode::SUCCESS; + } else if (keys.size() == 1) { + // This should be the default, with just one key defined + // that's just the base name. It should not have any . in it; + std::string baseName = keys[0].key(); + if (baseName.find('.') != std::string::npos) { + ATH_MSG_FATAL("Only the input container name is expeted, without extensions. Given: " << baseName); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("The base container name is " << baseName); + keys[0] = baseName + ".truthParticleLink"; + keys.emplace_back(baseName + ".truthType"); + keys.emplace_back(baseName + ".truthOrigin"); + ATH_CHECK(keys.initialize()); + return StatusCode::SUCCESS; + } else { + ATH_MSG_FATAL("Must specify only the base container name as a string"); + return StatusCode::FAILURE; + } +} + +// ========================================================================== +// constructor +template<class T> +egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& hkeys) : + el(hkeys.at(0)), + type(hkeys.at(1)), + origin(hkeys.at(2)) +{ +} + + +// ========================================================================== +template<class T> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} +/** Template specialisation for electrons: + * second pass based on the cluster to find true photons **/ +template<> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); + if (ret.first == MCTruthPartClassifier::Unknown && + !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ + ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); + ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); + } + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} + +// ========================================================================== +template<class T, class L> +StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& truthParticles, + const SG::WriteDecorHandleKeyArray<T>& hkeys, + const SG::AuxElement::Accessor<L>& linkAccess, + xAOD::TruthParticleContainer& egammaTruthContainer) { + + writeDecorHandles<T> decoHandles(hkeys); + + //Extrapolation Cache + Cache extrapolationCache{}; + + for (auto particle : *decoHandles.readHandle()){ + + MCTruthInfo_t info = particleTruthClassifier(particle, &extrapolationCache); + + const xAOD::TruthParticle* truthParticle = info.genPart; + if (truthParticle) { + ElementLink<xAOD::TruthParticleContainer> link(truthParticle, truthParticles); + ATH_MSG_DEBUG("Decorating object with link to truth, index = " << link.index()); + decoHandles.el(*particle) = link; + } else { + decoHandles.el(*particle) = ElementLink<xAOD::TruthParticleContainer>(); + } + decoHandles.el(*particle).toPersistent(); + ATH_MSG_DEBUG("truthType = " << info.first << " truthOrigin = " << info.second); + decoHandles.type(*particle) = static_cast<int>( info.first ); + decoHandles.origin(*particle) = static_cast<int>( info.second ); + + // Decorate the corresponding truth particle with the link to the reco + if (m_doEgammaTruthContainer) { + const xAOD::TruthParticle *truth = xAOD::TruthHelpers::getTruthParticle(*particle); + if (truth) { + xAOD::TruthParticle *truthEgamma = getEgammaTruthParticle(truth, egammaTruthContainer); + if (truthEgamma) { + // we found a truthEgamma object we should annotate if this is the best link + bool annotateLink = true; // by default we annotate + const auto link = linkAccess(*truthEgamma); // what already exists + if (link.isValid()) { + auto oldPart = *link; + if (oldPart && truthEgamma->e() > 0 && + std::abs( oldPart->e()/truthEgamma->e()-1 ) < std::abs( particle->e()/truthEgamma->e()-1 ) ){ + ATH_MSG_DEBUG(truthEgamma << ": " << " already set to a better matched particle: " << particle); + annotateLink = false; + } + } + + if (annotateLink) { + L link(particle, *decoHandles.readHandle()); + linkAccess(*truthEgamma) = link; + linkAccess(*truthEgamma).toPersistent(); + } + } + } + } + } + return StatusCode::SUCCESS; +} + + +#endif // EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H -- GitLab From 0bd6e6e3dc71e0fd4a46a918de6372a528f3886c Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Tue, 23 Oct 2018 14:39:07 +0200 Subject: [PATCH 010/209] fix double definition problem --- .../src/egammaTruthAssociationAlg.cxx | 130 +++++++++++++++++ .../src/egammaTruthAssociationAlg.h | 131 ------------------ 2 files changed, 130 insertions(+), 131 deletions(-) diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx index ddb35c7edb4..fbfabe7ec28 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx @@ -211,3 +211,133 @@ egammaTruthAssociationAlg::getEgammaTruthParticle(const xAOD::TruthParticle *tru } return 0; } + +//// The templated functions + +// ========================================================================== +template<class T> +StatusCode +egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys) +{ + if (keys.size() == 0) { + return StatusCode::SUCCESS; + } else if (keys.size() == 1) { + // This should be the default, with just one key defined + // that's just the base name. It should not have any . in it; + std::string baseName = keys[0].key(); + if (baseName.find('.') != std::string::npos) { + ATH_MSG_FATAL("Only the input container name is expeted, without extensions. Given: " << baseName); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("The base container name is " << baseName); + keys[0] = baseName + ".truthParticleLink"; + keys.emplace_back(baseName + ".truthType"); + keys.emplace_back(baseName + ".truthOrigin"); + ATH_CHECK(keys.initialize()); + return StatusCode::SUCCESS; + } else { + ATH_MSG_FATAL("Must specify only the base container name as a string"); + return StatusCode::FAILURE; + } +} + +// ========================================================================== +// constructor +template<class T> +egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& hkeys) : + el(hkeys.at(0)), + type(hkeys.at(1)), + origin(hkeys.at(2)) +{ +} + + +// ========================================================================== +template<class T> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} +/** Template specialisation for electrons: + * second pass based on the cluster to find true photons **/ +template<> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); + if (ret.first == MCTruthPartClassifier::Unknown && + !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ + ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); + ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); + } + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} + +// ========================================================================== +template<class T, class L> +StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& truthParticles, + const SG::WriteDecorHandleKeyArray<T>& hkeys, + const SG::AuxElement::Accessor<L>& linkAccess, + xAOD::TruthParticleContainer& egammaTruthContainer) { + + writeDecorHandles<T> decoHandles(hkeys); + + //Extrapolation Cache + Cache extrapolationCache{}; + + for (auto particle : *decoHandles.readHandle()){ + + MCTruthInfo_t info = particleTruthClassifier(particle, &extrapolationCache); + + const xAOD::TruthParticle* truthParticle = info.genPart; + if (truthParticle) { + ElementLink<xAOD::TruthParticleContainer> link(truthParticle, truthParticles); + ATH_MSG_DEBUG("Decorating object with link to truth, index = " << link.index()); + decoHandles.el(*particle) = link; + } else { + decoHandles.el(*particle) = ElementLink<xAOD::TruthParticleContainer>(); + } + decoHandles.el(*particle).toPersistent(); + ATH_MSG_DEBUG("truthType = " << info.first << " truthOrigin = " << info.second); + decoHandles.type(*particle) = static_cast<int>( info.first ); + decoHandles.origin(*particle) = static_cast<int>( info.second ); + + // Decorate the corresponding truth particle with the link to the reco + if (m_doEgammaTruthContainer) { + const xAOD::TruthParticle *truth = xAOD::TruthHelpers::getTruthParticle(*particle); + if (truth) { + xAOD::TruthParticle *truthEgamma = getEgammaTruthParticle(truth, egammaTruthContainer); + if (truthEgamma) { + // we found a truthEgamma object we should annotate if this is the best link + bool annotateLink = true; // by default we annotate + const auto link = linkAccess(*truthEgamma); // what already exists + if (link.isValid()) { + auto oldPart = *link; + if (oldPart && truthEgamma->e() > 0 && + std::abs( oldPart->e()/truthEgamma->e()-1 ) < std::abs( particle->e()/truthEgamma->e()-1 ) ){ + ATH_MSG_DEBUG(truthEgamma << ": " << " already set to a better matched particle: " << particle); + annotateLink = false; + } + } + + if (annotateLink) { + L link(particle, *decoHandles.readHandle()); + linkAccess(*truthEgamma) = link; + linkAccess(*truthEgamma).toPersistent(); + } + } + } + } + } + return StatusCode::SUCCESS; +} diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h index da7a954be37..97139d8109c 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h @@ -176,136 +176,5 @@ private: }; -//// The templated functions - - -// ========================================================================== -template<class T> -StatusCode -egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys) -{ - if (keys.size() == 0) { - return StatusCode::SUCCESS; - } else if (keys.size() == 1) { - // This should be the default, with just one key defined - // that's just the base name. It should not have any . in it; - std::string baseName = keys[0].key(); - if (baseName.find('.') != std::string::npos) { - ATH_MSG_FATAL("Only the input container name is expeted, without extensions. Given: " << baseName); - return StatusCode::FAILURE; - } - ATH_MSG_DEBUG("The base container name is " << baseName); - keys[0] = baseName + ".truthParticleLink"; - keys.emplace_back(baseName + ".truthType"); - keys.emplace_back(baseName + ".truthOrigin"); - ATH_CHECK(keys.initialize()); - return StatusCode::SUCCESS; - } else { - ATH_MSG_FATAL("Must specify only the base container name as a string"); - return StatusCode::FAILURE; - } -} - -// ========================================================================== -// constructor -template<class T> -egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& hkeys) : - el(hkeys.at(0)), - type(hkeys.at(1)), - origin(hkeys.at(2)) -{ -} - - -// ========================================================================== -template<class T> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} -/** Template specialisation for electrons: - * second pass based on the cluster to find true photons **/ -template<> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); - if (ret.first == MCTruthPartClassifier::Unknown && - !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ - ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); - ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); - } - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} - -// ========================================================================== -template<class T, class L> -StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& truthParticles, - const SG::WriteDecorHandleKeyArray<T>& hkeys, - const SG::AuxElement::Accessor<L>& linkAccess, - xAOD::TruthParticleContainer& egammaTruthContainer) { - - writeDecorHandles<T> decoHandles(hkeys); - - //Extrapolation Cache - Cache extrapolationCache{}; - - for (auto particle : *decoHandles.readHandle()){ - - MCTruthInfo_t info = particleTruthClassifier(particle, &extrapolationCache); - - const xAOD::TruthParticle* truthParticle = info.genPart; - if (truthParticle) { - ElementLink<xAOD::TruthParticleContainer> link(truthParticle, truthParticles); - ATH_MSG_DEBUG("Decorating object with link to truth, index = " << link.index()); - decoHandles.el(*particle) = link; - } else { - decoHandles.el(*particle) = ElementLink<xAOD::TruthParticleContainer>(); - } - decoHandles.el(*particle).toPersistent(); - ATH_MSG_DEBUG("truthType = " << info.first << " truthOrigin = " << info.second); - decoHandles.type(*particle) = static_cast<int>( info.first ); - decoHandles.origin(*particle) = static_cast<int>( info.second ); - - // Decorate the corresponding truth particle with the link to the reco - if (m_doEgammaTruthContainer) { - const xAOD::TruthParticle *truth = xAOD::TruthHelpers::getTruthParticle(*particle); - if (truth) { - xAOD::TruthParticle *truthEgamma = getEgammaTruthParticle(truth, egammaTruthContainer); - if (truthEgamma) { - // we found a truthEgamma object we should annotate if this is the best link - bool annotateLink = true; // by default we annotate - const auto link = linkAccess(*truthEgamma); // what already exists - if (link.isValid()) { - auto oldPart = *link; - if (oldPart && truthEgamma->e() > 0 && - std::abs( oldPart->e()/truthEgamma->e()-1 ) < std::abs( particle->e()/truthEgamma->e()-1 ) ){ - ATH_MSG_DEBUG(truthEgamma << ": " << " already set to a better matched particle: " << particle); - annotateLink = false; - } - } - - if (annotateLink) { - L link(particle, *decoHandles.readHandle()); - linkAccess(*truthEgamma) = link; - linkAccess(*truthEgamma).toPersistent(); - } - } - } - } - } - return StatusCode::SUCCESS; -} - #endif // EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H -- GitLab From 11d117ab5192afbe002ed759eb079239075632ae Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Thu, 25 Oct 2018 12:19:30 +0200 Subject: [PATCH 011/209] Remove special string initialization for DecorHandleKeyArrays. Also changed egammaTruthAssociation to use a separate string config. --- .../StoreGate/StoreGate/DecorHandleKeyArray.h | 35 +----------------- .../StoreGate/ReadDecorHandleKeyArray.h | 4 -- .../StoreGate/WriteDecorHandleKeyArray.h | 4 -- .../src/egammaTruthAssociationAlg.cxx | 37 +++++++------------ .../src/egammaTruthAssociationAlg.h | 23 +++++++++++- 5 files changed, 38 insertions(+), 65 deletions(-) diff --git a/Control/StoreGate/StoreGate/DecorHandleKeyArray.h b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h index 407dc9a2380..a0806e7746e 100644 --- a/Control/StoreGate/StoreGate/DecorHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h @@ -16,44 +16,13 @@ namespace SG { * since it inherits from std::vector, all vector operations are * permitted. * - * This class is based on HandleKeyArray but adds another Property Constructor, with - * a std::string that is the name of the base container. It is up to the user - * in the algorithm initialize to convert the HandleKeyArray to to have the - * needed handle keys. + * This can be converted to a class if it needs customization * * Note: makeHandles only works if the type is the same; otherwise have do do individually * */ template <class T_Handle, class T_HandleKey, Gaudi::DataHandle::Mode MODE> - class DecorHandleKeyArray : - public HandleKeyArray< T_Handle, T_HandleKey, MODE> { - - public: - - /** - * @brief auto-declaring Property Constructor from a HandleKeyArray - * that takes an initializer list of std::strings, and associates the WHKA - * with the specified Property name - * @param name name of Property - * @param std::strings that is the name of the base incput container - * @param doc documentation string - */ - template <class OWNER, - typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type> - inline DecorHandleKeyArray( OWNER* owner, - std::string name, - std::string baseContName = "", - std::string doc="") : - HandleKeyArray<T_Handle, T_HandleKey, MODE> {} { - // For now just create one key with just the base name - // This should be updated in the initialize phase - if (baseContName != "") { - this->push_back(T_HandleKey{baseContName}); - } - auto p = owner->declareProperty(std::move(name), *this, std::move(doc)); - p->template setOwnerType<OWNER>(); - } - }; + using DecorHandleKeyArray = HandleKeyArray< T_Handle, T_HandleKey, MODE>; } // namespace SG diff --git a/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h index 9d8aea7f11b..211045a8b78 100644 --- a/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h @@ -28,10 +28,6 @@ namespace SG { * internally create ReadDecorHandleKeys with those initializers * SG::ReadDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; * - * Additionally, a propery configuration can be done with just a std::string that's the base - * container name. This then allows for the right decor handles to be added in the alg/tool's - * initilize stage. - * * Note: makeHandles only works if the type is the same; otherwise have do do individually * */ diff --git a/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h index a44710174bf..d5ff973d3e6 100644 --- a/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h @@ -28,10 +28,6 @@ namespace SG { * internally create WriteDecorHandleKeys with those initializers * SG::WriteDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; * - * Additionally, a propery configuration can be done with just a std::string that's the base - * container name. This then allows for the right decor handles to be added in the alg/tool's - * initilize stage. - * * Note: makeHandles only works if the type is the same; otherwise have do do individually * */ diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx index fbfabe7ec28..0021b7b3b7b 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx @@ -40,15 +40,15 @@ StatusCode egammaTruthAssociationAlg::initialize() { ATH_CHECK(m_truthParticleContainerKey.initialize()); // Now the standard decoration handles - ATH_CHECK(initializeDecorKeys(m_electronDecKeys)); - ATH_CHECK(initializeDecorKeys(m_photonDecKeys)); + ATH_CHECK(initializeDecorKeys(m_electronDecKeys, m_electronDecName)); + ATH_CHECK(initializeDecorKeys(m_photonDecKeys, m_photonDecName)); if (m_matchClusters) { - ATH_CHECK(initializeDecorKeys(m_clusterDecKeys)); + ATH_CHECK(initializeDecorKeys(m_clusterDecKeys, m_clusterDecName)); } else { m_clusterDecKeys.clear(); } if (m_matchForwardElectrons){ - ATH_CHECK(initializeDecorKeys(m_fwdElectronDecKeys)); + ATH_CHECK(initializeDecorKeys(m_fwdElectronDecKeys, m_fwdElectronDecName)); } else { m_fwdElectronDecKeys.clear(); } @@ -217,28 +217,19 @@ egammaTruthAssociationAlg::getEgammaTruthParticle(const xAOD::TruthParticle *tru // ========================================================================== template<class T> StatusCode -egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys) +egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys, + std::string name) { - if (keys.size() == 0) { - return StatusCode::SUCCESS; - } else if (keys.size() == 1) { - // This should be the default, with just one key defined - // that's just the base name. It should not have any . in it; - std::string baseName = keys[0].key(); - if (baseName.find('.') != std::string::npos) { - ATH_MSG_FATAL("Only the input container name is expeted, without extensions. Given: " << baseName); - return StatusCode::FAILURE; - } - ATH_MSG_DEBUG("The base container name is " << baseName); - keys[0] = baseName + ".truthParticleLink"; - keys.emplace_back(baseName + ".truthType"); - keys.emplace_back(baseName + ".truthOrigin"); - ATH_CHECK(keys.initialize()); - return StatusCode::SUCCESS; - } else { - ATH_MSG_FATAL("Must specify only the base container name as a string"); + if (keys.size() != 0) { + ATH_MSG_FATAL("The WriteDecorHandle should not be configured directly."); return StatusCode::FAILURE; } + + keys.emplace_back(name + ".truthParticleLink"); + keys.emplace_back(name + ".truthType"); + keys.emplace_back(name + ".truthOrigin"); + ATH_CHECK(keys.initialize()); + return StatusCode::SUCCESS; } // ========================================================================== diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h index 97139d8109c..6deb2c10c64 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h @@ -65,7 +65,8 @@ private: }; /// A function that initializes the decor handles, but also checks the naming convention - template<class T> StatusCode initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys); + template<class T> StatusCode initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys, + std::string name); /** @brief helper class to contain write decoration handles */ template<class T> struct writeDecorHandles { @@ -125,21 +126,41 @@ private: /** @brief The egamma cluster decor handle key array **/ SG::WriteDecorHandleKeyArray<xAOD::CaloClusterContainer> m_clusterDecKeys {this, + "DoNotSet_ClusterContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The egamma cluster name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_clusterDecName {this, "ClusterContainerName", "", "Name of the egamma cluster container"}; /** @brief The electron container decor handle key array **/ SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_electronDecKeys {this, + "DoNotSet_ElectronContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The electron container name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_electronDecName {this, "ElectronContainerName", "", "Name of the input electron container"}; /** @brief The fwd electron container decor handle key array **/ SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_fwdElectronDecKeys {this, + "DoNotSet_FwdElectronContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The fwd electron name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_fwdElectronDecName {this, "FwdElectronContainerName", "", "Name of the input fwd electron container"}; /** @brief The photon container decor handle key array **/ SG::WriteDecorHandleKeyArray<xAOD::PhotonContainer> m_photonDecKeys {this, + "DoNotSet_PhotonContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The photon container name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_photonDecName {this, "PhotonContainerName", "", "Name of the input photon container"}; -- GitLab From 12d8ffd9eb739773521bd73fb366e7b659e19413 Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Thu, 25 Oct 2018 16:40:05 +0200 Subject: [PATCH 012/209] Add some basic unit tests; should look at the results --- Control/StoreGate/CMakeLists.txt | 12 ++ .../test/ReadDecorHandleKeyArray_test.cxx | 171 +++++++++++++++ .../test/WriteDecorHandleKeyArray_test.cxx | 199 ++++++++++++++++++ 3 files changed, 382 insertions(+) create mode 100644 Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx create mode 100644 Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx diff --git a/Control/StoreGate/CMakeLists.txt b/Control/StoreGate/CMakeLists.txt index d8dd609d3d3..431493987d4 100644 --- a/Control/StoreGate/CMakeLists.txt +++ b/Control/StoreGate/CMakeLists.txt @@ -174,6 +174,18 @@ atlas_add_test( CondHandleKeyArray_test LINK_LIBRARIES StoreGateLib AthContainers TestTools ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) +atlas_add_test( WriteDecorHandleKeyArray_test + SOURCES test/WriteDecorHandleKeyArray_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES StoreGateLib TestTools + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + +atlas_add_test( ReadDecorHandleKeyArray_test + SOURCES test/ReadDecorHandleKeyArray_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES StoreGateLib TestTools + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/StoreGate_jobOptions.txt diff --git a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx new file mode 100644 index 00000000000..ab031216b16 --- /dev/null +++ b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ + +// $Id$ +/** + * @file StoreGate/test/ReadDecorHandleKeyArrau_test.cxx + * @author Jovan Mitrevski <Jovan.Mitrevski.cern.ch> + * @date Oct, 2018 + * @brief Tests for ReadDecorHandleKeyArray; based on the tests for WriteDecorHandleKeyArray + */ + + +#undef NDEBUG +#include "SGTools/TestStore.h" +#include "SGTools/CLASS_DEF.h" +#include "StoreGate/ReadDecorHandleKeyArray.h" +#include "TestTools/initGaudi.h" +#include <cassert> +#include <iostream> + + +class MyObj {}; +CLASS_DEF (MyObj, 293847295, 1) + + +class TestHolder + : public IDataHandleHolder +{ +public: + virtual std::vector<Gaudi::DataHandle*> inputHandles() const override; + virtual std::vector<Gaudi::DataHandle*> outputHandles() const override; + virtual void addDependency(const DataObjID&, const Gaudi::DataHandle::Mode&) override; + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &, void**) override { std::abort(); } + virtual const std::string& name() const override { std::abort(); } + + + virtual const DataObjIDColl& extraInputDeps() const override { std::abort(); } + virtual const DataObjIDColl& extraOutputDeps() const override { std::abort(); } + + virtual void acceptDHVisitor(IDataHandleVisitor*) const override { std::abort(); } + + virtual const DataObjIDColl& inputDataObjs() const override { std::abort(); } + virtual const DataObjIDColl& outputDataObjs() const override { std::abort(); } + + virtual void declare(Gaudi::DataHandle&) override { std::abort(); } + virtual void renounce(Gaudi::DataHandle&) override { std::abort(); } + + std::vector<Gaudi::DataHandle*> m_inputHandles; + std::vector<Gaudi::DataHandle*> m_outputHandles; + std::vector<DataObjID> m_deps; +}; + + +std::vector<Gaudi::DataHandle*> TestHolder::inputHandles() const +{ + return m_inputHandles; +} + + +std::vector<Gaudi::DataHandle*> TestHolder::outputHandles() const +{ + return m_outputHandles; +} + + +void TestHolder::addDependency(const DataObjID& id, const Gaudi::DataHandle::Mode&) +{ + m_deps.push_back (id); +} + + + +void test1() +{ + std::cout << "test1\n"; + + SG::ReadDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Reader); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); +} + +void test1a() +{ + std::cout << "test1a\n"; + + SG::ReadDecorHandleKeyArray<MyObj, int> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Reader); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + +} + + +void test2() +{ + std::cout << "test2" << std::endl; + + TestHolder h; + SG::ReadDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + for (auto k: k1.keys()) { + k->setOwner(&h); + } + + + SG::ReadHandleKey<MyObj> r1 ("rrr"); + SG::WriteHandleKey<MyObj> w1 ("sss"); + h.m_inputHandles.push_back (&r1); + h.m_outputHandles.push_back (&w1); + assert (k1.initialize().isSuccess()); + + // Not sure this works. Shouldn't there be dependencies set? Now none are made + + // std::cout << "h.m_deps.size() = " << h.m_deps.size() << std::endl; + + // assert (h.m_deps.size() == 2); + // assert (h.m_deps[0].fullKey() == "MyObj/StoreGateSvc+aaa"); + + // // Don't really know what the stuff below is testing. + // h.m_deps.clear(); + // SG::ReadHandleKey<MyObj> r2 ("aaa"); + // h.m_inputHandles.push_back (&r2); + // assert (k1.initialize().isSuccess()); + // assert (h.m_deps.empty()); + // h.m_inputHandles.pop_back(); + + // h.m_deps.clear(); + // SG::WriteHandleKey<MyObj> w2 ("aaa"); + // h.m_outputHandles.push_back (&w2); + // assert (k1.initialize().isSuccess()); + // assert (h.m_deps.empty()); + // h.m_outputHandles.pop_back(); +} + + +int main() +{ + ISvcLocator* pDum; + Athena_test::initGaudi(pDum); //need MessageSvc + + test1(); + test1a(); + test2(); + return 0; +} diff --git a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx new file mode 100644 index 00000000000..20aa79c5228 --- /dev/null +++ b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ + +// $Id$ +/** + * @file StoreGate/test/WriteDecorHandleKeyArrau_test.cxx + * @author Jovan Mitrevski <Jovan.Mitrevski.cern.ch> + * @date Oct, 2018 + * @brief Tests for WriteDecorHandleKeyArray; based on the tests for WriteDecorHandleKey + */ + + +#undef NDEBUG +#include "SGTools/TestStore.h" +#include "SGTools/CLASS_DEF.h" +#include "StoreGate/WriteDecorHandleKeyArray.h" +#include "TestTools/initGaudi.h" +#include <cassert> +#include <iostream> + + +class MyObj {}; +CLASS_DEF (MyObj, 293847295, 1) + + +class TestHolder + : public IDataHandleHolder +{ +public: + virtual std::vector<Gaudi::DataHandle*> inputHandles() const override; + virtual std::vector<Gaudi::DataHandle*> outputHandles() const override; + virtual void addDependency(const DataObjID&, const Gaudi::DataHandle::Mode&) override; + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &, void**) override { std::abort(); } + virtual const std::string& name() const override { std::abort(); } + + + virtual const DataObjIDColl& extraInputDeps() const override { std::abort(); } + virtual const DataObjIDColl& extraOutputDeps() const override { std::abort(); } + + virtual void acceptDHVisitor(IDataHandleVisitor*) const override { std::abort(); } + + virtual const DataObjIDColl& inputDataObjs() const override { std::abort(); } + virtual const DataObjIDColl& outputDataObjs() const override { std::abort(); } + + virtual void declare(Gaudi::DataHandle&) override { std::abort(); } + virtual void renounce(Gaudi::DataHandle&) override { std::abort(); } + + std::vector<Gaudi::DataHandle*> m_inputHandles; + std::vector<Gaudi::DataHandle*> m_outputHandles; + std::vector<DataObjID> m_deps; +}; + + +std::vector<Gaudi::DataHandle*> TestHolder::inputHandles() const +{ + return m_inputHandles; +} + + +std::vector<Gaudi::DataHandle*> TestHolder::outputHandles() const +{ + return m_outputHandles; +} + + +void TestHolder::addDependency(const DataObjID& id, const Gaudi::DataHandle::Mode&) +{ + m_deps.push_back (id); +} + + + +void test1() +{ + std::cout << "test1\n"; + + SG::WriteDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Writer); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + assert (k1[1].contHandleKey().clid() == 293847295); + assert (k1[1].contHandleKey().key() == "aaa"); + assert (k1[1].contHandleKey().mode() == Gaudi::DataHandle::Reader); + assert (k1[1].contHandleKey().storeHandle().name() == "StoreGateSvc"); + assert (k1[1].contHandleKey().storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + assert (k1[2].contHandleKey().key() == "bbb"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + assert (k1[1].contHandleKey().key() == "ccc"); + + // Can't get this to work + // // let's try making the handles + // SGTest::TestStore dumstore; + // EventContext ctx; + // ctx.setExtension( Atlas::ExtendedEventContext(&dumstore) ); + // std::vector<SG::WriteDecorHandle<MyObj, float> > handles = k1.makeHandles(ctx); + // assert (handles.size() == 2); +} + +void test1a() +{ + std::cout << "test1a\n"; + + SG::WriteDecorHandleKeyArray<MyObj, int> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Writer); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + assert (k1[1].contHandleKey().clid() == 293847295); + assert (k1[1].contHandleKey().key() == "aaa"); + assert (k1[1].contHandleKey().mode() == Gaudi::DataHandle::Reader); + assert (k1[1].contHandleKey().storeHandle().name() == "StoreGateSvc"); + assert (k1[1].contHandleKey().storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + assert (k1[2].contHandleKey().key() == "bbb"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + assert (k1[1].contHandleKey().key() == "ccc"); + + // Can't get this to work + // // let's try making the handles + // SGTest::TestStore dumstore; + // EventContext ctx; + // ctx.setExtension( Atlas::ExtendedEventContext(&dumstore) ); + // std::vector<SG::WriteDecorHandle<MyObj, float> > handles = k1.makeHandles(ctx); + // assert (handles.size() == 2); +} + + +void test2() +{ + std::cout << "test2" << std::endl; + + TestHolder h; + SG::WriteDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + for (auto k: k1.keys()) { + k->setOwner(&h); + } + + + SG::ReadHandleKey<MyObj> r1 ("rrr"); + SG::WriteHandleKey<MyObj> w1 ("sss"); + h.m_inputHandles.push_back (&r1); + h.m_outputHandles.push_back (&w1); + assert (k1.initialize().isSuccess()); + + // are the below values what is expected? + assert (h.m_deps.size() == 2); + assert (h.m_deps[0].fullKey() == "MyObj/StoreGateSvc+aaa"); + + // Don't really know what the stuff below is testing. + h.m_deps.clear(); + SG::ReadHandleKey<MyObj> r2 ("aaa"); + h.m_inputHandles.push_back (&r2); + assert (k1.initialize().isSuccess()); + assert (h.m_deps.empty()); + h.m_inputHandles.pop_back(); + + h.m_deps.clear(); + SG::WriteHandleKey<MyObj> w2 ("aaa"); + h.m_outputHandles.push_back (&w2); + assert (k1.initialize().isSuccess()); + assert (h.m_deps.empty()); + h.m_outputHandles.pop_back(); +} + + +int main() +{ + ISvcLocator* pDum; + Athena_test::initGaudi(pDum); //need MessageSvc + + test1(); + test1a(); + test2(); + return 0; +} -- GitLab From a6859a763bbf714bfb5793c565dc24f211454125 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 24 Oct 2018 15:40:07 +0200 Subject: [PATCH 013/209] TileEvent: Add TileMutable*Container. Add TileMutableRawChannelContainer, to allow modifying the contents of a TileRawChannelContainer in a controlled manner, while it's not locked in SG. Also TileMutableDigitsContainer, TileMutableBeamElemContainer, and TileMutableHitContainer. --- TileCalorimeter/TileEvent/CMakeLists.txt | 49 +++ .../TileEvent/TileBeamElemCollection.h | 7 + .../TileEvent/TileBeamElemContainer.h | 9 +- .../TileEvent/TileDigitsCollection.h | 17 +- .../TileEvent/TileEvent/TileDigitsContainer.h | 9 +- .../TileEvent/TileEvent/TileHitCollection.h | 13 +- .../TileEvent/TileEvent/TileHitContainer.h | 9 +- .../TileEvent/TileMutableBeamElemContainer.h | 61 ++++ .../TileEvent/TileMutableDataContainer.h | 183 +++++++++++ .../TileEvent/TileMutableDataContainer.icc | 218 +++++++++++++ .../TileEvent/TileMutableDigitsContainer.h | 24 ++ .../TileEvent/TileMutableHitContainer.h | 24 ++ .../TileMutableRawChannelContainer.h | 24 ++ .../TileEvent/TileRawChannelCollection.h | 10 +- .../TileEvent/TileRawDataContainer.h | 2 +- .../share/TileBeamElemCollection_test.ref | 2 + .../share/TileDigitsCollection_test.ref | 2 + .../share/TileHitCollection_test.ref | 2 + .../TileMutableBeamElemContainer_test.ref | 4 + .../share/TileMutableDataContainer_test.ref | 4 + .../share/TileMutableDigitsContainer_test.ref | 4 + .../share/TileMutableHitContainer_test.ref | 4 + .../TileMutableRawChannelContainer_test.ref | 4 + .../share/TileRawChannelCollection_test.ref | 2 + .../TileEvent/src/TileBeamElemCollection.cxx | 35 +++ .../TileEvent/src/TileContainer.cxx | 20 +- .../TileEvent/src/TileDigitsCollection.cxx | 1 - .../TileEvent/src/TileHitCollection.cxx | 35 +++ .../src/TileRawChannelCollection.cxx | 67 ++++ .../test/TileBeamElemCollection_test.cxx | 55 ++++ .../test/TileDigitsCollection_test.cxx | 73 +++++ .../TileEvent/test/TileHitCollection_test.cxx | 56 ++++ .../TileMutableBeamElemContainer_test.cxx | 252 +++++++++++++++ .../test/TileMutableDataContainer_test.cxx | 252 +++++++++++++++ .../test/TileMutableDigitsContainer_test.cxx | 270 ++++++++++++++++ .../test/TileMutableHitContainer_test.cxx | 241 +++++++++++++++ .../TileMutableRawChannelContainer_test.cxx | 288 ++++++++++++++++++ .../test/TileRawChannelCollection_test.cxx | 102 +++++++ 38 files changed, 2401 insertions(+), 33 deletions(-) create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h create mode 100644 TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h create mode 100644 TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileHitCollection_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref create mode 100644 TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref create mode 100644 TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx create mode 100644 TileCalorimeter/TileEvent/src/TileHitCollection.cxx create mode 100644 TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx create mode 100644 TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx diff --git a/TileCalorimeter/TileEvent/CMakeLists.txt b/TileCalorimeter/TileEvent/CMakeLists.txt index 76d2f87e4b0..ccbf265b056 100644 --- a/TileCalorimeter/TileEvent/CMakeLists.txt +++ b/TileCalorimeter/TileEvent/CMakeLists.txt @@ -18,6 +18,7 @@ atlas_depends_on_subdirs( PUBLIC TileCalorimeter/TileIdentifier TileCalorimeter/TileSimEvent PRIVATE + DetectorDescription/IdDictParser TileCalorimeter/TileCalib/TileCalibBlobObjs Calorimeter/CaloDetDescr Calorimeter/CaloIdentifier @@ -40,3 +41,51 @@ atlas_add_dictionary( TileEventDict INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} CaloEvent AthContainers StoreGateLib SGtests Identifier GaudiKernel TileConditionsLib TileIdentifier TileSimEvent CaloDetDescrLib CaloIdentifier SGTools TileEvent EventContainers ) + +atlas_add_test( TileRawChannelCollection_test + SOURCES + test/TileRawChannelCollection_test.cxx + LINK_LIBRARIES TileEvent ) + + +atlas_add_test( TileDigitsCollection_test + SOURCES + test/TileDigitsCollection_test.cxx + LINK_LIBRARIES TileEvent ) + +atlas_add_test( TileHitCollection_test + SOURCES + test/TileHitCollection_test.cxx + LINK_LIBRARIES TileEvent ) + +atlas_add_test( TileBeamElemCollection_test + SOURCES + test/TileBeamElemCollection_test.cxx + LINK_LIBRARIES TileEvent ) + + +atlas_add_test( TileMutableDataContainer_test + SOURCES + test/TileMutableDataContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + + +atlas_add_test( TileMutableRawChannelContainer_test + SOURCES + test/TileMutableRawChannelContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableDigitsContainer_test + SOURCES + test/TileMutableDigitsContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableHitContainer_test + SOURCES + test/TileMutableHitContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableBeamElemContainer_test + SOURCES + test/TileMutableBeamElemContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) diff --git a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h index d612c5d4c32..f3121f70f91 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h @@ -22,6 +22,13 @@ public: TileBeamElemCollection ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(ownPolicy) { } + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileBeamElemCollection (const TileBeamElemCollection& other); + ~TileBeamElemCollection() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h index 7449b790c94..5dbab5af58f 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileBeamElemContainer_H @@ -17,6 +17,13 @@ public: : TileRawDataContainer<TileBeamElemCollection> (createColl, TileFragHash::Beam, TileRawChannelUnit::ADCcounts, ownPolicy) { } + TileBeamElemContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileBeamElemCollection> (createColl, type, + unit, ownPolicy) { } + ~TileBeamElemContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h index a87a65161d0..2a041daac7b 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDigitsCollection_H @@ -64,10 +64,12 @@ public: * Set vector of extra words for this collection * @param extra - all words from frag trailer */ - void setFragExtraWords(const std::vector<uint32_t> & extra) { m_FragExtraWords = extra; - if (extra.size() < 2) m_FragExtraWords.resize(2); } - void setFragExtraWords(std::vector<uint32_t> && extra) { m_FragExtraWords = std::move(extra); - if (m_FragExtraWords.size() < 2) m_FragExtraWords.resize(2); } + void setFragExtraWords(const std::vector<uint32_t> & extra) { + m_FragExtraWords = extra; + if (extra.size() < 2) m_FragExtraWords.resize(2); } + void setFragExtraWords(std::vector<uint32_t> && extra) { + m_FragExtraWords = std::move(extra); + if (extra.size() < 2) m_FragExtraWords.resize(2); } /** * Get Frag extra words for this collection * @return vector with all words @@ -117,7 +119,8 @@ public: void setFragChipHeaderWordsHigh(std::vector<uint32_t>&& chipHWordsH) { m_FragChipHeaderWordsHIGH = std::move(chipHWordsH); } - + + /** * Get chip headers for this collcetion * If calib mode, this is LOW gain headers @@ -144,6 +147,8 @@ public: void setFragChipCRCWords(std::vector<uint32_t>&& chipCRCWords) { m_FragChipCRCWords = std::move(chipCRCWords); } + + /** * High gain CRC */ diff --git a/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h index fc328629a41..785116e9fef 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDigitsContainer_H @@ -17,6 +17,13 @@ public: : TileRawDataContainer<TileDigitsCollection> (createColl, TileFragHash::Digitizer, TileRawChannelUnit::ADCcounts, ownPolicy) { } + TileDigitsContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileDigitsCollection> (createColl, type, + unit, ownPolicy) { } + ~TileDigitsContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h index 776572499f5..d714fa1dd7c 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileHitCollection_H @@ -17,11 +17,20 @@ public: typedef MyBase::ID ID; typedef TileHit _TElement; - TileHitCollection ( ID& id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + TileHitCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy) { } TileHitCollection ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(ownPolicy) { } + + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileHitCollection (const TileHitCollection& other); + + ~TileHitCollection() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h index c08d0f5399f..da1124d96d6 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileHitContainer_H @@ -16,6 +16,13 @@ public: TileHitContainer(bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : TileRawDataContainer<TileHitCollection> (createColl, ownPolicy) { } + TileHitContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileHitCollection> (createColl, type, + unit, ownPolicy) { } + ~TileHitContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h new file mode 100644 index 00000000000..79818c4992f --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h @@ -0,0 +1,61 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableBeamElemContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H +#define TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H + + +#include "TileEvent/TileBeamElemContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +class TileMutableBeamElemContainer + : public TileMutableDataContainer<TileBeamElemContainer> +{ +public: + typedef TileMutableDataContainer<TileBeamElemContainer> BASE; + + TileMutableBeamElemContainer(bool createColl=false, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : BASE (createColl, + TileFragHash::Beam, + TileRawChannelUnit::ADCcounts, + ownPolicy) + { + } + + + TileMutableBeamElemContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : BASE (createColl, type, + unit, ownPolicy) + { + } + + + /** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ + TileMutableBeamElemContainer (const BASE::BASE& other) + : BASE (other) + { + } +}; + + +#endif // not TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h new file mode 100644 index 00000000000..bd2d1413b02 --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h @@ -0,0 +1,183 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDataContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + * + * ??? Make this more generic?? + */ + + +#ifndef TILEEVENT_TILEMUTABLEDATACONTAINER_H +#define TILEEVENT_TILEMUTABLEDATACONTAINER_H + + +#include "TileIdentifier/TileFragHash.h" +#include "TileIdentifier/TileRawChannelUnit.h" +#include "Identifier/IdentifierHash.h" +#include "AthContainers/DataVector.h" +#include "AthenaKernel/ILockable.h" +#include "GaudiKernel/StatusCode.h" +#include <vector> +#include <memory> + + +/** + * @brief Helper for holding non-const raw data prior to recording in SG. + * + * Sometimes one wants to construct a tile raw data container and then, + * before it is recorded in SG, modify the contents. This is problematic + * as the container classes only support const access to the contents. + * + * This helper derives from a specific tile raw data container and also maintains + * non-const pointers to the collections, which we can return. + * However, once the object has been made const in SG, we set a flag + * so that non-const access is no longer possible. + * + * After constructing one of these objects, one should call status() + * to check for errors. + * + * This class does not have its own CLID. Record in SG via a handle + * of type matching the base tile raw data container. + */ +template <class BASE_T> +class TileMutableDataContainer + : public BASE_T, public ILockable +{ +public: + typedef BASE_T BASE; + typedef typename BASE::TYPE TYPE; + typedef typename BASE::UNIT UNIT; + typedef typename BASE::IDENTIFIABLE Collection; + typedef typename BASE::_TElement Element; + + + /** + * @brief Constructor. + * @param createColl If true, create all collections now. + * @param type Hash type (from TileFragHash::TYPE). + * @param unit Measurement units for amplitude data. + * @param ownPolicy Ownership mode for collections. + * + * Call status() after this to check for errors. + */ + TileMutableDataContainer (bool createColl = false, + TYPE type=TileFragHash::Default, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy = SG::OWN_ELEMENTS); + + + /** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ + TileMutableDataContainer (const BASE& other); + + + TileMutableDataContainer (const TileMutableDataContainer&) = delete; + TileMutableDataContainer& operator= (const TileMutableDataContainer&) = delete; + + + /** + * @brief Add a collection to the container. + * @param coll Collection ot add. + * @param hash Hash value for the collection. + * + * We maintain a non-const reference to the collection. + */ + StatusCode addCollection (std::unique_ptr<Collection> coll, + IdentifierHash hash); + + + // Const version is inherited. + using BASE::addCollection; + + + /** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for owning container (created with SG::OWN_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ + StatusCode push_back (std::unique_ptr<Element> rch); + + + /** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for non-owning container (created with SG::VIEW_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ + StatusCode push_back (Element* rch); + + + /** + * @brief Look up a (non-const) collection via hash. + * @param hash Hash value to find. + */ + Collection* indexFindPtr (IdentifierHash hash); + + + // Const version is inherited. + using BASE::indexFindPtr; + + + /** + * @brief Return the error status from the constructors. + */ + StatusCode status() const; + + + /** + * @brief Lock this object. + * + * Called when this object is locked in SG. + * Prohibit non-const acces to this container. + */ + virtual void lock() override; + + +protected: + /** + * @brief Recycle this object for use in another event. + * + * This is called from AthenaKernel/RecyclableDataObject when this object + * is released by StoreGate. Unlock the object so that non-const access + * is again possible, and clear out the contents if the collections. + */ + void recycle(); + + +private: + /// Non-const references to collections, indexed by hash value. + std::vector<Collection*> m_mutableCollections; + + /// Is the container locked? + bool m_locked; + + /// StatusCode from constructors. + StatusCode m_sc; + + /// Default type; reset to this on recycle. + TYPE m_defaultType; + + /// Default unit; reset to this on recycle. + UNIT m_defaultUnit; +}; + + +#include "TileEvent/TileMutableDataContainer.icc" + + +#endif // not TILEEVENT_TILEMUTABLEDATACONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc new file mode 100644 index 00000000000..991b2baa97b --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDataContainer.icc + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +/** + * @brief Constructor. + * @param createColl If true, create all collections now. + * @param type Hash type (from TileFragHash::TYPE). + * @param unit Measurement units for amplitude data. + * @param ownPolicy Ownership mode for collections. + * + * Call status() after this to check for errors. + */ +template <class BASE> +TileMutableDataContainer<BASE>::TileMutableDataContainer + (bool createColl /*= false*/, + TYPE type /*= TileFragHash::Default*/, + UNIT unit /*= TileRawChannelUnit::ADCcounts*/, + SG::OwnershipPolicy ownPolicy /*= SG::OWN_ELEMENTS*/) + : BASE (false, type, unit, ownPolicy), + m_locked (false), + m_sc (StatusCode::SUCCESS), + m_defaultType (type), + m_defaultUnit (unit) +{ + if (createColl) { + // Create all collections. + const TileFragHash& hashFunc = this->hashFunc(); + int ncoll = hashFunc.max(); + for (int i=0; i<ncoll;++i) { + TileFragHash::ID frag = hashFunc.identifier(i); + auto coll = std::make_unique<Collection> (frag, ownPolicy) ; + if (addCollection (std::move (coll), + static_cast<IdentifierHash>(i)).isFailure()) + { + m_sc = StatusCode::FAILURE; + } + } + } +} + + +/** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ +template <class BASE> +TileMutableDataContainer<BASE>::TileMutableDataContainer + (const BASE& other) + : BASE (false, + other.get_type(), + other.get_unit(), + SG::OWN_ELEMENTS), + m_locked (false), + m_sc (StatusCode::SUCCESS), + m_defaultType (other.get_type()), + m_defaultUnit (other.get_unit()) +{ + this->set_bsflags (other.get_bsflags()); + for (IdentifierHash hash : other.GetAllCurrentHashes()) { + const Collection* coll = other.indexFindPtr (hash); + auto newColl = std::make_unique<Collection> (*coll); + if (addCollection (std::move (newColl), hash).isFailure()) { + m_sc = StatusCode::FAILURE; + } + } +} + + +/** + * @brief Add a collection to the container. + * @param coll Collection ot add. + * @param hash Hash value for the collection. + * + * We maintain a non-const reference to the collection. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::addCollection (std::unique_ptr<Collection> coll, + IdentifierHash hash) +{ + if (hash >= m_mutableCollections.size()) { + m_mutableCollections.resize (hash+1); + } + m_mutableCollections[hash] = coll.get(); + return BASE::addOrDelete (std::move (coll), hash); +} + + +/** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for owning container (created with SG::OWN_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::push_back (std::unique_ptr<Element> rch) +{ + int frag = rch->frag_ID(); + IdentifierHash hash = static_cast<IdentifierHash>(this->hashFunc()(frag)); + + // Find the collection; create a new one if needed. + Collection* coll = indexFindPtr (hash); + if (!coll) { + auto newColl = std::make_unique<Collection> (frag, SG::OWN_ELEMENTS); + coll = newColl.get(); + if (addCollection (std::move (newColl), hash).isFailure()) { + return StatusCode::FAILURE; + } + } + + coll->push_back (std::move (rch)); + return StatusCode::SUCCESS; +} + + +/** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for non-owning container (created with SG::VIEW_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::push_back (Element* rch) +{ + int frag = rch->frag_ID(); + IdentifierHash hash = static_cast<IdentifierHash>(this->hashFunc()(frag)); + + // Find the collection; create a new one if needed. + Collection* coll = indexFindPtr (hash); + if (!coll) { + auto newColl = std::make_unique<Collection> (frag, SG::OWN_ELEMENTS); + coll = newColl.get(); + if (addCollection (std::move (newColl), hash).isFailure()) { + return StatusCode::FAILURE; + } + } + + coll->push_back (rch); + return StatusCode::SUCCESS; +} + + +/** + * @brief Look up a (non-const) collection via hash. + * @param hash Hash value to find. + */ +template <class BASE> +typename TileMutableDataContainer<BASE>::Collection* +TileMutableDataContainer<BASE>::indexFindPtr (IdentifierHash hash) +{ + if (!m_locked && hash < m_mutableCollections.size()) { + return m_mutableCollections[hash]; + } + return nullptr; +} + + +/** + * @brief Return the error status from the constructors. + */ +template <class BASE> +StatusCode TileMutableDataContainer<BASE>::status() const +{ + return m_sc; +} + + +/** + * @brief Lock this object. + * + * Called when this object is locked in SG. + * Prohibit non-const acces to this container. + */ +template <class BASE> +void TileMutableDataContainer<BASE>::lock() +{ + m_locked = true; +} + + +/** + * @brief Recycle this object for use in another event. + * + * This is called from AthenaKernel/RecyclableDataObject when this object + * is released by StoreGate. Unlock the object so that non-const access + * is again possible, and clear out the contents if the collections. + */ +template <class BASE> +void TileMutableDataContainer<BASE>::recycle() +{ + // ??? Try to verify that this object is not in SG? Check refcount?? + m_locked = false; + for (IdentifierHash hash : this->GetAllCurrentHashes()) { + Collection* coll = this->indexFindPtr (hash); + coll->clear(); + } + + this->set_type (m_defaultType); + this->set_unit (m_defaultUnit); + this->set_bsflags (0); +} diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h new file mode 100644 index 00000000000..b92aef5c89b --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDigitsContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H +#define TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H + + +#include "TileEvent/TileDigitsContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileDigitsContainer> TileMutableDigitsContainer; + + +#endif // not TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h new file mode 100644 index 00000000000..ce0e8c2fc1d --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableHitContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEHITCONTAINER_H +#define TILEEVENT_TILEMUTABLEHITCONTAINER_H + + +#include "TileEvent/TileHitContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileHitContainer> TileMutableHitContainer; + + +#endif // not TILEEVENT_TILEMUTABLEHITCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h new file mode 100644 index 00000000000..20b914bcde8 --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableRawChannelContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H +#define TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H + + +#include "TileEvent/TileRawChannelContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileRawChannelContainer> TileMutableRawChannelContainer; + + +#endif // not TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h index 53deafe30d7..63211d37227 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileRawChannelCollection_H @@ -52,6 +52,14 @@ public: m_FragRODChipMask(0xFFFF) { } + + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileRawChannelCollection (const TileRawChannelCollection& other); + ~TileRawChannelCollection() { } /** diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h index ccc0946ea96..83697ef25da 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** diff --git a/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref b/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref new file mode 100644 index 00000000000..60337737f5c --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref @@ -0,0 +1,2 @@ +TileBeamElemCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref b/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref new file mode 100644 index 00000000000..d3f4c8d1118 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref @@ -0,0 +1,2 @@ +TileDigitsCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref b/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref new file mode 100644 index 00000000000..40bd590e6a1 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref @@ -0,0 +1,2 @@ +TileHitCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref new file mode 100644 index 00000000000..a37a8d25629 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableBeamElemContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref new file mode 100644 index 00000000000..d417b85c01d --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableDataContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref new file mode 100644 index 00000000000..162a7b4de8b --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableDigitsContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref new file mode 100644 index 00000000000..d4b8ed61714 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableHitContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref new file mode 100644 index 00000000000..dc2ee68ae05 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableRawChannelContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref b/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref new file mode 100644 index 00000000000..0968c4bc48f --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref @@ -0,0 +1,2 @@ +TileRawChannelCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx b/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx new file mode 100644 index 00000000000..a8a360dc566 --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileBeamElemCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileBeamElemCollection. + */ + + +#include "TileEvent/TileBeamElemCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileBeamElemCollection::TileBeamElemCollection + (const TileBeamElemCollection& other) + : TileRawDataCollection<TileBeamElem> (other.identify()) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileBeamElem* chan : other) { + push_back (std::make_unique<TileBeamElem> (*chan)); + } +} diff --git a/TileCalorimeter/TileEvent/src/TileContainer.cxx b/TileCalorimeter/TileEvent/src/TileContainer.cxx index 89c0be60bb6..13bb12a454e 100755 --- a/TileCalorimeter/TileEvent/src/TileContainer.cxx +++ b/TileCalorimeter/TileEvent/src/TileContainer.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //***************************************************************************** @@ -27,22 +27,4 @@ #include "TileEvent/TileBeamElemContainer.h" #include "SGTools/BaseInfo.h" -void TileRawChannelCollection::clear() -{ - m_FragGlobalCRC = 0; - m_FragBCID = 0; - m_FragMemoryPar = 0; - m_FragSstrobe = 0; - m_FragDstrobe = 0; - m_FragHeaderBit = 0; - m_FragHeaderPar = 0; - m_FragSampleBit = 0; - m_FragSamplePar = 0; - m_FragFEChipMask = 0xFFFF; - m_FragRODChipMask = 0xFFFF; - m_FragDSPBCID = 0xDEAD; - - TileRawChannelCollection::MyBase::clear(); -} - SG_ADD_BASE (TileContainer<TileCell>, DataVector<TileCell>); diff --git a/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx b/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx index 63498ed138c..10b0f531cc3 100644 --- a/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx +++ b/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx @@ -89,4 +89,3 @@ void TileDigitsCollection::clear() TileDigitsCollection::MyBase::clear(); } - diff --git a/TileCalorimeter/TileEvent/src/TileHitCollection.cxx b/TileCalorimeter/TileEvent/src/TileHitCollection.cxx new file mode 100644 index 00000000000..230d29c0487 --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileHitCollection.cxx @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileHitCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileHitCollection. + */ + + +#include "TileEvent/TileHitCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileHitCollection::TileHitCollection + (const TileHitCollection& other) + : TileRawDataCollection<TileHit> (other.identify()) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileHit* chan : other) { + push_back (std::make_unique<TileHit> (*chan)); + } +} diff --git a/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx b/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx new file mode 100644 index 00000000000..428bd16e35e --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileRawChannelCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileRawChannelCollection. + */ + + +#include "TileEvent/TileRawChannelCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileRawChannelCollection::TileRawChannelCollection + (const TileRawChannelCollection& other) + : TileRawDataCollection<TileRawChannel> (other.identify()), + m_FragGlobalCRC (other.m_FragGlobalCRC), + m_FragDSPBCID (other.m_FragDSPBCID), + m_FragBCID (other.m_FragBCID), + m_FragMemoryPar (other.m_FragMemoryPar), + m_FragSstrobe (other.m_FragSstrobe), + m_FragDstrobe (other.m_FragDstrobe), + m_FragHeaderBit (other.m_FragHeaderBit), + m_FragHeaderPar (other.m_FragHeaderPar), + m_FragSampleBit (other.m_FragSampleBit), + m_FragSamplePar (other.m_FragSamplePar), + m_FragFEChipMask (other.m_FragFEChipMask), + m_FragRODChipMask (other.m_FragRODChipMask) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileRawChannel* chan : other) { + push_back (std::make_unique<TileRawChannel> (*chan)); + } +} + + +void TileRawChannelCollection::clear() +{ + m_FragGlobalCRC = 0; + m_FragBCID = 0; + m_FragMemoryPar = 0; + m_FragSstrobe = 0; + m_FragDstrobe = 0; + m_FragHeaderBit = 0; + m_FragHeaderPar = 0; + m_FragSampleBit = 0; + m_FragSamplePar = 0; + m_FragFEChipMask = 0xFFFF; + m_FragRODChipMask = 0xFFFF; + m_FragDSPBCID = 0xDEAD; + + TileRawChannelCollection::MyBase::clear(); +} + diff --git a/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx new file mode 100644 index 00000000000..6c5fe2cea38 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileBeamElemCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileBeamElemCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileBeamElemCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileBeamElemCollection coll (123); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<uint32_t> digits { i*500u+1, i*500u+2, i*500u+3, i*500u+4 }; + coll.push_back (std::make_unique<TileBeamElem> (hwid, + std::move (digits))); + } + + TileBeamElemCollection newColl (coll); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileBeamElem* digit = newColl[i]; + assert (digit->get_digits() == (std::vector<uint32_t> { i*500u+1, i*500u+2, + i*500u+3, i*500u+4 })); + } +} + + +int main() +{ + std::cout << "TileBeamElemCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx new file mode 100644 index 00000000000..53a169c2e22 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileDigitsCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileDigitsCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileDigitsCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileDigitsCollection coll (123); + coll.setFragChipCRCWords (std::vector<uint32_t> { 1 }); + coll.setFragChipCRCWordsHigh (std::vector<uint32_t> { 2, 3 }); + coll.setFragChipHeaderWords (std::vector<uint32_t> { 3, 4, 5 }); + coll.setFragChipHeaderWordsHigh (std::vector<uint32_t> { 7, 6 }); + coll.setFragExtraWords (std::vector<uint32_t> { 9, 8 }); + coll.setFragSize (23); + coll.setFragBCID (53); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<float> digits { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f }; + coll.push_back (std::make_unique<TileDigits> (hwid, + std::move (digits))); + } + + TileDigitsCollection newColl (coll); + assert (newColl.identify() == 123); + assert (newColl.getFragChipCRCWords() == (std::vector<uint32_t> { 1 })); + assert (newColl.getFragChipCRCWordsHigh() == (std::vector<uint32_t> { 2, 3 })); + assert (newColl.getFragChipHeaderWords() == (std::vector<uint32_t> { 3, 4, 5 })); + assert (newColl.getFragChipHeaderWordsHigh() == (std::vector<uint32_t> { 7, 6 })); + assert (newColl.getFragExtraWords() == (std::vector<uint32_t> { 9, 8 })); + assert (newColl.getFragSize() == 23); + assert (newColl.getFragBCID() == 53); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileDigits* digit = newColl[i]; + assert (digit->adc_HWID() == HWIdentifier (10000 + i*1000)); + + assert (digit->samples() == (std::vector<float> { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f })); + } +} + + +int main() +{ + std::cout << "TileDigitsCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx new file mode 100644 index 00000000000..043212e638e --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileHitCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileHitCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileHitCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileHitCollection coll (123); + + for (int i=0; i < 10; i++) { + Identifier id (10000 + i*1000); + auto hit = std::make_unique<TileHit> (id); + hit->resize(2); + hit->setEnergy (i*100, 0); + hit->setEnergy (i*100+10, 1); + hit->setTime (i*200, 0); + hit->setTime (i*200+10, 1); + coll.push_back (std::move(hit)); + } + + TileHitCollection newColl (coll); + assert (newColl.identify() == 123); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileHit* hit = newColl[i]; + assert (hit->identify() == Identifier (10000 + i*1000)); + assert (hit->size() == 2); + assert (hit->energy(0) == i*100); + assert (hit->energy(1) == i*100+10); + assert (hit->time(0) == i*200); + assert (hit->time(1) == i*200+10); + } +} + + +int main() +{ + std::cout << "TileHitCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx new file mode 100644 index 00000000000..b10d5e7f9bd --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableBeamElemContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableBeamElemContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableBeamElemContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableBeamElemContainer + : public TileMutableBeamElemContainer +{ +public: + using TileMutableBeamElemContainer::TileMutableBeamElemContainer; + using TileMutableBeamElemContainer::recycle; +}; + + +void createCollection (TileMutableBeamElemContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileBeamElemCollection> (frag); + + coll->setLvl1Id (1071 + hash); + coll->setLvl1Type (1081 + hash); + coll->setDetEvType (1091 + hash); + coll->setRODBCID (1101 + hash); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableBeamElemContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<uint32_t> digits { offs*500u + 1, offs*500u + 2, + offs*500u + 3, offs*500u + 4 }; + auto chan = std::make_unique<TileBeamElem> (hwid, + std::move (digits)); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableBeamElemContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableBeamElemContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableBeamElemContainer& cont_nc, bool created) +{ + const TileMutableBeamElemContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileBeamElemCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileBeamElemCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableBeamElemContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableBeamElemContainer& cont, int offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileBeamElemCollection* coll = cont.indexFindPtr (hash); + for (TileBeamElem* chan : *coll) { + std::vector<uint32_t> digits = chan->get_digits(); + for (size_t i = 0; i < digits.size(); i++) { + digits[i] += offs; + } + TileBeamElem d (chan->adc_HWID(), + std::move (digits)); + *chan = d; + } + } +} + + +void check (const TileMutableBeamElemContainer& cont, + bool created, + int dig_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Beam); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileBeamElemCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && dig_offs >= 0) { + assert (coll->getLvl1Id() == 1071 + hash); + assert (coll->getLvl1Type() == 1081 + hash); + assert (coll->getDetEvType() == 1091 + hash); + assert (coll->getRODBCID() == 1101 + hash); + } + + if (dig_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileBeamElem* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + std::vector<uint32_t> digits + { offs*500u + 1 + dig_offs, offs*500u + 2 + dig_offs, + offs*500u + 3 + dig_offs, offs*500u + 4 + dig_offs }; + + assert (chan->get_digits() == digits); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableBeamElemContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileBeamElemContainer& dc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableBeamElemContainer> (dc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableBeamElemContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileBeamElemContainer& dc2 = *cont2; + auto cont2a = std::make_unique<TileMutableBeamElemContainer> (dc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableBeamElemContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx new file mode 100644 index 00000000000..a892deae3b2 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/testTileMutableDataContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableDataContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableDataContainer.h" +#include "TileEvent/TileRawDataContainer.h" +#include "TileEvent/TileRawDataCollection.h" +#include "TileEvent/TileRawData.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestElement + : public TileRawData +{ +public: + using TileRawData::TileRawData; + + unsigned m_x; +}; + + +class TestCollection + : public TileRawDataCollection<TestElement> +{ +public: + typedef TestElement _TElement; + using TileRawDataCollection<TestElement>::TileRawDataCollection; +}; + + +typedef TileRawDataContainer<TestCollection> TestContainer; +typedef TileMutableDataContainer<TestContainer> MutableTestContainer; + + +class TestMutableTestContainer + : public MutableTestContainer +{ +public: + using MutableTestContainer::MutableTestContainer; + using MutableTestContainer::recycle; +}; + + +void createCollection (MutableTestContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TestCollection> (frag); + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (MutableTestContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()->channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + auto chan = std::make_unique<TestElement> (hwid); + chan->m_x = offs; + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<MutableTestContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<MutableTestContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (MutableTestContainer& cont_nc, bool created) +{ + const MutableTestContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TestCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TestCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (MutableTestContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (MutableTestContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TestCollection* coll = cont.indexFindPtr (hash); + for (TestElement* chan : *coll) { + chan->m_x += offs; + } + } +} + + +void check (const MutableTestContainer& cont, bool /*created*/, float x_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TestCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + + if (x_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TestElement* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + assert (chan->m_x == offs + x_offs); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<MutableTestContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TestContainer& tc1 = *cont1; + auto cont1a = std::make_unique<TestMutableTestContainer> (tc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<MutableTestContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TestContainer& tc2 = *cont2; + auto cont2a = std::make_unique<MutableTestContainer> (tc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableDataContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx new file mode 100644 index 00000000000..dfab668a0bf --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx @@ -0,0 +1,270 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableDigitsContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableDigitsContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableDigitsContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableDigitsContainer + : public TileMutableDigitsContainer +{ +public: + using TileMutableDigitsContainer::TileMutableDigitsContainer; + using TileMutableDigitsContainer::recycle; +}; + + +void createCollection (TileMutableDigitsContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileDigitsCollection> (frag); + + unsigned int offs = hash; + coll->setFragChipCRCWords (std::vector<uint32_t> { 100+offs }); + coll->setFragChipCRCWordsHigh (std::vector<uint32_t> { 200+offs, 300+offs }); + coll->setFragChipHeaderWords (std::vector<uint32_t> { 300+offs, 400+offs, 500+offs }); + coll->setFragChipHeaderWordsHigh (std::vector<uint32_t> { 700+offs, 600+offs }); + coll->setFragExtraWords (std::vector<uint32_t> { 900+offs, 800+offs }); + coll->setFragSize (23+offs); + coll->setFragBCID (53+offs); + + coll->setLvl1Id (1071 + offs); + coll->setLvl1Type (1081 + offs); + coll->setDetEvType (1091 + offs); + coll->setRODBCID (1101 + offs); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableDigitsContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<float> digits { offs*500 + 0.5f, offs*500 + 1.5f, + offs*500 + 2.5f, offs*500 + 3.5f }; + auto chan = std::make_unique<TileDigits> (hwid, + std::move (digits)); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableDigitsContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableDigitsContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableDigitsContainer& cont_nc, bool created) +{ + const TileMutableDigitsContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileDigitsCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileDigitsCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableDigitsContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableDigitsContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileDigitsCollection* coll = cont.indexFindPtr (hash); + for (TileDigits* chan : *coll) { + std::vector<float> digits = chan->samples(); + for (size_t i = 0; i < digits.size(); i++) { + digits[i] += offs; + } + TileDigits d (chan->adc_HWID(), + std::move (digits)); + *chan = d; + } + } +} + + +void check (const TileMutableDigitsContainer& cont, + bool created, + float dig_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileDigitsCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && dig_offs >= 0) { + unsigned int offs = hash; + assert (coll->getFragChipCRCWords() == (std::vector<uint32_t> { 100+offs })); + assert (coll->getFragChipCRCWordsHigh() == (std::vector<uint32_t> { 200+offs, 300+offs })); + assert (coll->getFragChipHeaderWords() == (std::vector<uint32_t> { 300+offs, 400+offs, 500+offs })); + assert (coll->getFragChipHeaderWordsHigh() == (std::vector<uint32_t> { 700+offs, 600+offs })); + assert (coll->getFragExtraWords() == (std::vector<uint32_t> { 900+offs, 800+offs })); + assert (coll->getFragSize() == 23+offs); + assert (coll->getFragBCID() == 53+offs); + + assert (coll->getLvl1Id() == 1071 + offs); + assert (coll->getLvl1Type() == 1081 + offs); + assert (coll->getDetEvType() == 1091 + offs); + assert (coll->getRODBCID() == 1101 + offs); + } + + if (dig_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileDigits* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + std::vector<float> digits + { offs*500 + 0.5f + dig_offs, offs*500 + 1.5f + dig_offs, + offs*500 + 2.5f + dig_offs, offs*500 + 3.5f + dig_offs }; + + assert (chan->samples() == digits); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableDigitsContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileDigitsContainer& dc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableDigitsContainer> (dc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableDigitsContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileDigitsContainer& dc2 = *cont2; + auto cont2a = std::make_unique<TileMutableDigitsContainer> (dc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableDigitsContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx new file mode 100644 index 00000000000..3db5c877553 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx @@ -0,0 +1,241 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableHitContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableHitContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableHitContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableHitContainer + : public TileMutableHitContainer +{ +public: + using TileMutableHitContainer::TileMutableHitContainer; + using TileMutableHitContainer::recycle; +}; + + +void createCollection (TileMutableHitContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileHitCollection> (frag); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableHitContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + Identifier id = cabling->h2s_pmt_id (hwid); + int offs = i + hash*NCHAN; + + auto hit = std::make_unique<TileHit> (id); + hit->resize(2); + hit->setEnergy (offs*100, 0); + hit->setEnergy (offs*100+10, 1); + hit->setTime (offs*200, 0); + hit->setTime (offs*200+10, 1); + assert( cont.push_back (std::move (hit)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableHitContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableHitContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableHitContainer& cont_nc, bool created) +{ + const TileMutableHitContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileHitCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileHitCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableHitContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableHitContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileHitCollection* coll = cont.indexFindPtr (hash); + for (TileHit* hit : *coll) { + size_t sz = hit->size(); + for (size_t i = 0; i < sz; i++) { + hit->setEnergy (hit->energy(i)+offs, i); + hit->setTime (hit->time(i)+offs, i); + } + } + } +} + + +void check (const TileMutableHitContainer& cont, bool /*created*/, float hit_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileHitCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + + if (hit_offs < 0) { + assert (coll->size() == 0); + } + else { + int i = 0; + for (const TileHit* hit : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + Identifier id = cabling->h2s_pmt_id (hwid); + assert (hit->identify() == id); + + assert (hit->size() == 2); + assert (hit->energy(0) == offs*100 + hit_offs); + assert (hit->energy(1) == offs*100+10 + hit_offs); + assert (hit->time(0) == offs*200 + hit_offs); + assert (hit->time(1) == offs*200+10 + hit_offs); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableHitContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileHitContainer& hc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableHitContainer> (hc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableHitContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileHitContainer& hc2 = *cont2; + auto cont2a = std::make_unique<TileMutableHitContainer> (hc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableHitContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx new file mode 100644 index 00000000000..7fae32048ea --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx @@ -0,0 +1,288 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableRawChannelContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableRawChannelContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableRawChannelContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableRawChannelContainer + : public TileMutableRawChannelContainer +{ +public: + using TileMutableRawChannelContainer::TileMutableRawChannelContainer; + using TileMutableRawChannelContainer::recycle; +}; + + +void createCollection (TileMutableRawChannelContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileRawChannelCollection> (frag); + + coll->setFragGlobalCRC (234 + hash); + coll->setFragDSPBCID (345 + hash); + coll->setFragBCID (456 + hash); + coll->setFragMemoryPar (567 + hash); + coll->setFragSstrobe (687 + hash); + coll->setFragDstrobe (890 + hash); + coll->setFragHeaderBit (1011 + hash); + coll->setFragHeaderPar (1021 + hash); + coll->setFragSampleBit (1031 + hash); + coll->setFragSamplePar (1041 + hash); + coll->setFragFEChipMask (1051 + hash); + coll->setFragRODChipMask (1061 + hash); + coll->setLvl1Id (1071 + hash); + coll->setLvl1Type (1081 + hash); + coll->setDetEvType (1091 + hash); + coll->setRODBCID (1101 + hash); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableRawChannelContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<float> amplitude { offs*200.f, offs*200.f+10 }; + std::vector<float> time { offs*300.f+30, offs*400.f+30, offs*500.f+30 }; + std::vector<float> quality { offs*500 + 0.5f, offs*500 + 1.5f, + offs*500 + 2.5f, offs*500 + 3.5f }; + float ped = offs + 100; + + auto chan = std::make_unique<TileRawChannel> (hwid, + std::move (amplitude), + std::move (time), + std::move (quality), + ped); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableRawChannelContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableRawChannelContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableRawChannelContainer& cont_nc, bool created) +{ + const TileMutableRawChannelContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileRawChannelCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileRawChannelCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableRawChannelContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableRawChannelContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileRawChannelCollection* coll = cont.indexFindPtr (hash); + for (TileRawChannel* chan : *coll) { + size_t sz = chan->size(); + for (size_t i = 0; i < sz; i++) { + chan->setAmplitude (chan->amplitude(i) + offs, i); + } + } + } +} + + +void check (const TileMutableRawChannelContainer& cont, bool created, float amp_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileRawChannelCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && amp_offs >= 0) { + assert (coll->getFragGlobalCRC() == 234 + hash); + assert (coll->getFragDSPBCID() == 345 + hash); + assert (coll->getFragBCID() == 456 + hash); + assert (coll->getFragMemoryPar() == 567 + hash); + assert (coll->getFragSstrobe() == 687 + hash); + assert (coll->getFragDstrobe() == 890 + hash); + assert (coll->getFragHeaderBit() == 1011 + hash); + assert (coll->getFragHeaderPar() == 1021 + hash); + assert (coll->getFragSampleBit() == 1031 + hash); + assert (coll->getFragSamplePar() == 1041 + hash); + assert (coll->getFragFEChipMask() == 1051 + hash); + assert (coll->getFragRODChipMask() == 1061 + hash); + assert (coll->getLvl1Id() == 1071 + hash); + assert (coll->getLvl1Type() == 1081 + hash); + assert (coll->getDetEvType() == 1091 + hash); + assert (coll->getRODBCID() == 1101 + hash); + } + + if (amp_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileRawChannel* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + assert (chan->pedestal() == offs + 100); + + assert (chan->size() == 2); + assert (chan->amplitude(0) == offs*200.f + amp_offs); + assert (chan->amplitude(1) == offs*200.f+10 + amp_offs); + + assert (chan->sizeTime() == 3); + assert (chan->time(0) == offs*300.f+30); + assert (chan->time(1) == offs*400.f+30); + assert (chan->time(2) == offs*500.f+30); + + assert (chan->sizeQuality() == 4); + assert (chan->quality(0) == offs*500 + 0.5f); + assert (chan->quality(1) == offs*500 + 1.5f); + assert (chan->quality(2) == offs*500 + 2.5f); + assert (chan->quality(3) == offs*500 + 3.5f); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableRawChannelContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileRawChannelContainer& rc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableRawChannelContainer> (rc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableRawChannelContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileRawChannelContainer& rc2 = *cont2; + auto cont2a = std::make_unique<TileMutableRawChannelContainer> (rc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableRawChannelContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx new file mode 100644 index 00000000000..17115c66b42 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileRawChannelCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileRawChannelCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileRawChannelCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileRawChannelCollection coll (123); + coll.setFragGlobalCRC (234); + coll.setFragDSPBCID (345); + coll.setFragBCID (456); + coll.setFragMemoryPar (567); + coll.setFragSstrobe (687); + coll.setFragDstrobe (890); + coll.setFragHeaderBit (1011); + coll.setFragHeaderPar (1021); + coll.setFragSampleBit (1031); + coll.setFragSamplePar (1041); + coll.setFragFEChipMask (1051); + coll.setFragRODChipMask (1061); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<float> amplitude { i*200.f, i*200.f+10 }; + std::vector<float> time { i*300.f+30, i*400.f+30, i*500.f+30 }; + std::vector<float> quality { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f }; + float ped = i + 100; + coll.push_back (std::make_unique<TileRawChannel> (hwid, + std::move (amplitude), + std::move (time), + std::move (quality), + ped)); + } + + TileRawChannelCollection newColl (coll); + assert (newColl.identify() == 123); + assert (newColl.getFragGlobalCRC() == 234); + assert (newColl.getFragDSPBCID() == 345); + assert (newColl.getFragBCID() == 456); + assert (newColl.getFragMemoryPar() == 567); + assert (newColl.getFragSstrobe() == 687); + assert (newColl.getFragDstrobe() == 890); + assert (newColl.getFragHeaderBit() == 1011); + assert (newColl.getFragHeaderPar() == 1021); + assert (newColl.getFragSampleBit() == 1031); + assert (newColl.getFragSamplePar() == 1041); + assert (newColl.getFragFEChipMask() == 1051); + assert (newColl.getFragRODChipMask() == 1061); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileRawChannel* chan = newColl[i]; + assert (chan->adc_HWID() == HWIdentifier (10000 + i*1000)); + assert (chan->pedestal() == i + 100); + + assert (chan->size() == 2); + assert (chan->amplitude(0) == i*200.f); + assert (chan->amplitude(1) == i*200.f+10); + + assert (chan->sizeTime() == 3); + assert (chan->time(0) == i*300.f+30); + assert (chan->time(1) == i*400.f+30); + assert (chan->time(2) == i*500.f+30); + + assert (chan->sizeQuality() == 4); + assert (chan->quality(0) == i*500 + 0.5f); + assert (chan->quality(1) == i*500 + 1.5f); + assert (chan->quality(2) == i*500 + 2.5f); + assert (chan->quality(3) == i*500 + 3.5f); + } +} + + +int main() +{ + std::cout << "TileRawChannelCollection_test\n"; + test1(); + return 0; +} -- GitLab From 27a0e9e7c2fb19420ae0bedb27eeaab78d01dbc0 Mon Sep 17 00:00:00 2001 From: Tulay Cuhadar Donszelmann <tcuhadar@cern.ch> Date: Mon, 29 Oct 2018 11:01:05 +0100 Subject: [PATCH 014/209] ART version 0.11.11 --- Tools/ART/python/ART/art_base.py | 112 +++++++++++++++++----- Tools/ART/python/ART/art_build.py | 13 +-- Tools/ART/python/ART/art_configuration.py | 12 ++- Tools/ART/python/ART/art_grid.py | 103 ++++++++++++-------- Tools/ART/python/ART/art_header.py | 43 ++++++--- Tools/ART/python/ART/art_misc.py | 18 ++++ Tools/ART/scripts/art-clean.py | 2 +- Tools/ART/scripts/art-download.sh | 2 +- Tools/ART/scripts/art-internal.py | 16 ++-- Tools/ART/scripts/art-task-build.sh | 20 ++-- Tools/ART/scripts/art-task-grid.sh | 17 +++- Tools/ART/scripts/art.py | 74 ++++++++++---- Tools/ART/share/localSetupART.zsh | 5 + 13 files changed, 313 insertions(+), 124 deletions(-) create mode 100644 Tools/ART/share/localSetupART.zsh diff --git a/Tools/ART/python/ART/art_base.py b/Tools/ART/python/ART/art_base.py index fb7d57d2ce3..af31c9ec72a 100755 --- a/Tools/ART/python/ART/art_base.py +++ b/Tools/ART/python/ART/art_base.py @@ -4,6 +4,7 @@ __author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>" +import calendar import fnmatch import inspect import json @@ -16,6 +17,8 @@ try: except ImportError: import os as scan +from datetime import datetime + from art_configuration import ArtConfiguration # from art_diff import ArtDiff from art_header import ArtHeader @@ -62,24 +65,31 @@ class ArtBase(object): def validate(self, script_directory): """Validate all tests in given script_directory.""" log = logging.getLogger(MODULE) + log.info("Validating script directory: %s", script_directory) directories = self.get_test_directories(script_directory.rstrip("/")) found_test = False + valid = True for directory in directories.itervalues(): - files = self.get_files(directory) + files = self.get_files(directory, valid_only=False) for fname in files: test_name = os.path.join(directory, fname) found_test = True log.debug(test_name) if not is_exe(test_name): + valid &= False log.error("%s is not executable.", test_name) - ArtHeader(test_name).validate() + valid &= ArtHeader(test_name).validate() if not found_test: log.warning('No scripts found in %s directory', directories.values()[0]) - return 0 + return 1 - log.info("Scripts in %s directory are validated", script_directory) + if not valid: + log.error('Some scripts have invalid headers or are not executable') + return 1 + + log.info("Scripts in %s directory are valid", script_directory) return 0 def included(self, script_directory, job_type, index_type, nightly_release, project, platform): @@ -102,29 +112,32 @@ class ArtBase(object): log.info("%s", config.packages()) return 0 - keys = config.keys(nightly_release, project, platform, package) + keys = config.keys(nightly_release, project, platform, ArtConfiguration.ALL) + keys.update(config.keys(nightly_release, project, platform, package)) for key in keys: - log.info("%s %s", key, config.get(nightly_release, project, platform, package, key)) + log.info("'%s'-'%s'", key, config.get(nightly_release, project, platform, package, key)) return 0 # # Default implementations # - def compare_ref(self, path, ref_path, files, entries=-1, mode='detailed'): + def compare_ref(self, path, ref_path, files, diff_pool, diff_root, entries=-1, mode='detailed'): """TBD.""" result = 0 - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-pool", path, ref_path))) - if exit_code != 0: - result |= exit_code - print err - print out + if diff_pool: + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-pool", path, ref_path))) + if exit_code != 0: + result |= exit_code + print err + print out - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-root", "--mode=" + mode, "--entries=" + str(entries), (' '.join(('--file=' + s for s in files))), path, ref_path))) - if exit_code != 0: - result |= exit_code - print err - print out + if diff_root: + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-root", "--mode=" + mode, "--entries=" + str(entries), (' '.join(('--file=' + s for s in files))), path, ref_path))) + if exit_code != 0: + result |= exit_code + print err + print out return result @@ -156,7 +169,48 @@ class ArtBase(object): return result - def get_files(self, directory, job_type=None, index_type="all", nightly_release=None, project=None, platform=None): + def run_on(self, on_days): + """Return True if this is a good day to runself.""" + log = logging.getLogger(MODULE) + if on_days is None or len(on_days) == 0: + return True + + today = datetime.today() + + for on_day in on_days: + # Check for Monday, Tuesday, ... + if on_day.lower() == calendar.day_name[today.weekday()].lower(): + return True + + # weekends + if on_day.lower() == "weekends" and calendar.day_name[today.weekday()] in ['Saturday', 'Sunday']: + return True + + # weekdays + if on_day.lower() == "weekdays" and calendar.day_name[today.weekday()] not in ['Saturday', 'Sunday']: + return True + + # odd days + if on_day.lower() == "odd days" and today.day % 2 != 0: + return True + + # even days + if on_day.lower() == "even days" and today.day % 2 == 0: + return True + + # list of day numbers + days = on_day.split(',') + try: + for day in days: + if int(day) == today.day: + return True + except Exception: + log.warning("Some item in art_runon list '%s' is not an integer or keyword, skipped", on_days) + return False + + return False + + def get_files(self, directory, job_type=None, index_type="all", nightly_release=None, project=None, platform=None, run_all_tests=False, valid_only=True): """ Return a list of all test files matching 'test_*.sh' of given 'job_type', 'index_type' and nightly/project/platform. @@ -177,16 +231,24 @@ class ArtBase(object): continue test_name = os.path.join(directory, fname) + header = ArtHeader(test_name) + has_art_input = header.get(ArtHeader.ART_INPUT) is not None + has_art_athena_mt = header.get(ArtHeader.ART_ATHENA_MT) > 0 - has_art_input = ArtHeader(test_name).get(ArtHeader.ART_INPUT) is not None - has_art_athena_mt = ArtHeader(test_name).get(ArtHeader.ART_ATHENA_MT) > 0 + # SKIP if file is not valid + if valid_only and not header.is_valid(): + continue + + # SKIP if art-type not defined + if header.get(ArtHeader.ART_TYPE) is None: + continue # SKIP if is not of correct type - if job_type is not None and ArtHeader(test_name).get(ArtHeader.ART_TYPE) != job_type: + if job_type is not None and header.get(ArtHeader.ART_TYPE) != job_type: continue # SKIP if is not included in nightly_release, project, platform - if nightly_release is not None and not self.is_included(test_name, nightly_release, project, platform): + if not run_all_tests and nightly_release is not None and not self.is_included(test_name, nightly_release, project, platform): continue # SKIP if batch and does specify art-input or art-athena-mt @@ -197,6 +259,10 @@ class ArtBase(object): if index_type == "single" and not (has_art_input or has_art_athena_mt): continue + # SKIP if this is not a good day to run + if not self.run_on(header.get(ArtHeader.ART_RUNON)): + continue + result.append(fname) return result @@ -240,7 +306,7 @@ class ArtBase(object): (nightly_release_pattern, project_pattern, platform_pattern) = pattern.split('/', 3) elif count == 1: (nightly_release_pattern, project_pattern) = pattern.split('/', 2) - else: + elif pattern != "": nightly_release_pattern = pattern if fnmatch.fnmatch(nightly_release, nightly_release_pattern) and fnmatch.fnmatch(project, project_pattern) and fnmatch.fnmatch(platform, platform_pattern): diff --git a/Tools/ART/python/ART/art_build.py b/Tools/ART/python/ART/art_build.py index 500b264600c..9e2f7d00e64 100644 --- a/Tools/ART/python/ART/art_build.py +++ b/Tools/ART/python/ART/art_build.py @@ -20,7 +20,7 @@ from art_header import ArtHeader MODULE = "art.build" -def run_job(art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name): +def run_job(art_directory, sequence_tag, script_directory, package, job_type, job_index, run_all_tests, test_name): """ Job to be run by parallel or serial scheduler. @@ -30,7 +30,7 @@ def run_job(art_directory, sequence_tag, script_directory, package, job_type, jo # <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> log = logging.getLogger(MODULE) log.info("job started %s %s %s %s %s %d %s", art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name) - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join((os.path.join(art_directory, './art-internal.py'), "build", "job", script_directory, sequence_tag, package, "out", job_type, str(job_index)))) + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join((os.path.join(art_directory, './art-internal.py'), "build", "job", "--run-all-tests" if run_all_tests else "", script_directory, sequence_tag, package, "out", job_type, str(job_index)))) log.info("job ended %s %s %s %s %s %d %s", art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name) return (package, test_name, exit_code, out, err, start_time, end_time) @@ -39,7 +39,7 @@ def run_job(art_directory, sequence_tag, script_directory, package, job_type, jo class ArtBuild(ArtBase): """Class for (local) build submits.""" - def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=0, ci=False): + def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=0, ci=False, run_all_tests=False): """Keep arguments.""" super(ArtBuild, self).__init__(art_directory) log = logging.getLogger(MODULE) @@ -55,6 +55,7 @@ class ArtBuild(ArtBase): max_cores = max_cores if max_cores >= 4 else 1 self.max_jobs = max_cores if max_jobs <= 0 else max_jobs self.ci = ci + self.run_all_tests = run_all_tests def task_list(self, job_type, sequence_tag): """Run a list of packages for given job_type with sequence_tag.""" @@ -125,7 +126,7 @@ class ArtBuild(ArtBase): log.debug("task %s %s %s", package, job_type, sequence_tag) test_directories = self.get_test_directories(self.script_directory) test_directory = os.path.abspath(test_directories[package]) - test_names = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform) + test_names = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests) if not test_names: log.debug("No tests found for package %s and job_type %s", package, job_type) @@ -149,7 +150,7 @@ class ArtBuild(ArtBase): log.warning("job skipped, file not executable: %s", fname) if schedule_test: - future_set.append(executor.submit(run_job, self.art_directory, sequence_tag, self.script_directory, package, job_type, job_index, test_name)) + future_set.append(executor.submit(run_job, self.art_directory, sequence_tag, self.script_directory, package, job_type, job_index, self.run_all_tests, test_name)) job_index += 1 return future_set @@ -160,7 +161,7 @@ class ArtBuild(ArtBase): log.debug("ArtBuild job %s %s %s %d %s", package, job_type, sequence_tag, job_index, out) test_directories = self.get_test_directories(self.script_directory) test_directory = os.path.abspath(test_directories[package]) - test_name = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform)[int(job_index)] + test_name = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests)[int(job_index)] work_directory = os.path.join(sequence_tag, package, os.path.splitext(test_name)[0]) mkdir(work_directory) diff --git a/Tools/ART/python/ART/art_configuration.py b/Tools/ART/python/ART/art_configuration.py index d2d15ff9400..9838f1ddc79 100644 --- a/Tools/ART/python/ART/art_configuration.py +++ b/Tools/ART/python/ART/art_configuration.py @@ -61,12 +61,11 @@ class ArtConfiguration(object): if package not in self.config: return [] - keys = [] + keys = set() for pattern in self.config[package]: if fnmatch.fnmatch(self.release_key(nightly_release, project, platform), pattern): for key in self.config[package][pattern].keys(): - if key not in keys: - keys.append(key) + keys.add(key) return keys @@ -99,13 +98,13 @@ class ArtConfiguration(object): if package is None: log.debug("%s used for package", ArtConfiguration.ALL) - package = ArtConfiguration.ALL + return self.get(nightly_release, project, platform, ArtConfiguration.ALL, key, default_value) if package not in self.config: log.debug("%s not in config", package) return default_value - value = default_value + value = None for pattern in sorted(self.config[package], self.release_key_compare): release_key = self.release_key(nightly_release, project, platform) log.debug("release_key %s", release_key) @@ -116,6 +115,9 @@ class ArtConfiguration(object): if key in release: value = release[key] + if value is None: + value = default_value if package == ArtConfiguration.ALL else self.get(nightly_release, project, platform, ArtConfiguration.ALL, key, default_value) + log.debug("Value %s", value) return value diff --git a/Tools/ART/python/ART/art_grid.py b/Tools/ART/python/ART/art_grid.py index 750a7f2dc4b..0759683005b 100644 --- a/Tools/ART/python/ART/art_grid.py +++ b/Tools/ART/python/ART/art_grid.py @@ -29,7 +29,7 @@ from art_base import ArtBase from art_configuration import ArtConfiguration from art_header import ArtHeader from art_rucio import ArtRucio -from art_misc import count_files, cp, ls, mkdir, make_executable, rm, run_command, run_command_parallel, touch +from art_misc import CVMFS_DIRECTORY, build_script_directory, count_files, cp, ls, mkdir, make_executable, rm, run_command, run_command_parallel, touch MODULE = "art.grid" @@ -56,7 +56,6 @@ def copy_job(art_directory, indexed_package, dst, no_unpack, tmp, seq): class ArtGrid(ArtBase): """Class for grid submission.""" - CVMFS_DIRECTORY = '/cvmfs/atlas-nightlies.cern.ch/repo/sw' EOS_OUTPUT_DIR = '/eos/atlas/atlascerngroupdisk/data-art/grid-output' ARTPROD = 'artprod' @@ -66,7 +65,7 @@ class ArtGrid(ArtBase): RESULT_WAIT_INTERVAL = 5 * 60 # seconds, 5 mins KINIT_WAIT = 12 # 12 * RESULT_WAIT_INTERVAL, 1 hour - def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory=None, skip_setup=False, submit_directory=None, max_jobs=0): + def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory=None, skip_setup=False, submit_directory=None, max_jobs=0, run_all_tests=False): """Keep arguments.""" super(ArtGrid, self).__init__(art_directory) self.nightly_release = nightly_release @@ -78,6 +77,7 @@ class ArtGrid(ArtBase): self.skip_setup = skip_setup self.submit_directory = submit_directory self.max_jobs = multiprocessing.cpu_count() if max_jobs <= 0 else max_jobs + self.run_all_tests = run_all_tests self.rucio = ArtRucio(self.art_directory, self.nightly_release_short, project, platform, nightly_tag) @@ -87,22 +87,11 @@ class ArtGrid(ArtBase): def get_script_directory(self): """Return calculated script directory, sometimes overriden by commandline.""" - if self.script_directory is None: - self.script_directory = ArtGrid.CVMFS_DIRECTORY - self.script_directory = os.path.join(self.script_directory, self.nightly_release) # e.g. 21.0 - self.script_directory = os.path.join(self.script_directory, self.nightly_tag) # e.g. 2017-10-25T2150 - self.script_directory = os.path.join(self.script_directory, self.project) # e.g. Athena - try: - self.script_directory = os.path.join(self.script_directory, os.listdir(self.script_directory)[0]) # e.g. 21.0.3 - self.script_directory = os.path.join(self.script_directory, os.listdir(self.script_directory)[0]) # InstallArea - except OSError: - self.script_directory = os.path.join(self.script_directory, '*', '*') - self.script_directory = os.path.join(self.script_directory, self.platform) # x86_64-slc6-gcc62-opt - return self.script_directory + return build_script_directory(self.script_directory, self.nightly_release, self.nightly_tag, self.project, self.platform) def is_script_directory_in_cvmfs(self): """Return true if the script directory is in cvmfs.""" - return self.get_script_directory().startswith(ArtGrid.CVMFS_DIRECTORY) + return self.get_script_directory().startswith(CVMFS_DIRECTORY) def exit_if_no_script_directory(self): """Exit with ERROR is script directory does not exist.""" @@ -187,7 +176,7 @@ class ArtGrid(ArtBase): # copy results for all packages result = 0 for indexed_package, root in test_directories.items(): - number_of_tests = len(self.get_files(root, "grid", "all", self.nightly_release, self.project, self.platform)) + number_of_tests = len(self.get_files(root, "grid", "all", self.nightly_release, self.project, self.platform, self.run_all_tests)) if number_of_tests > 0: result |= self.copy_package(indexed_package, dst, user, no_unpack, tmp, seq, keep_tmp) return result @@ -350,9 +339,8 @@ class ArtGrid(ArtBase): """Submit a single package.""" log = logging.getLogger(MODULE) result = {} - number_of_tests = len(self.get_files(root, job_type, "all", self.nightly_release, self.project, self.platform)) + number_of_tests = len(self.get_files(root, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests)) if number_of_tests > 0: - print 'art-package:', package self.status('included') log.info('root %s with %d jobs', root, number_of_tests) log.info('Handling %s for %s project %s on %s', package, self.nightly_release, self.project, self.platform) @@ -363,7 +351,7 @@ class ArtGrid(ArtBase): result = self.task(script_directory, package, job_type, sequence_tag, inform_panda, no_action, config_file) return result - def task_list(self, job_type, sequence_tag, inform_panda, package=None, no_action=False, wait_and_copy=True, config_file=None): + def task_list(self, job_type, sequence_tag, inform_panda, packages=[], no_action=False, wait_and_copy=True, config_file=None): """Submit a list of packages.""" log = logging.getLogger(MODULE) log.info("Inform Panda %s", inform_panda) @@ -386,7 +374,7 @@ class ArtGrid(ArtBase): all_results = {} - if package is None: + if not packages: # submit tasks for all packages for package, root in test_directories.items(): if configuration is not None and configuration.get(self.nightly_release, self.project, self.platform, package, 'exclude', False): @@ -394,9 +382,10 @@ class ArtGrid(ArtBase): else: all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) else: - # Submit single package - root = test_directories[package] - all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) + # Submit list of packages + for package in packages: + root = test_directories[package] + all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) if no_action: log.info("--no-action specified, so not waiting for results") @@ -556,13 +545,14 @@ class ArtGrid(ArtBase): Returns jedi_id or 0 if submission failed. - # art-task-grid.sh [--no-action] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> + # art-task-grid.sh [--no-action --run-all-tasks] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> # - # art-task-grid.sh [--no-action] single [--inds <input_file> --n-files <number_of_files> --split <split> --in] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> + # art-task-grid.sh [--no-action --run-all-tasks] single [--inds <input_file> --n-files <number_of_files> --split <split> --in] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> """ log = logging.getLogger(MODULE) cmd = ' '.join((os.path.join(self.art_directory, 'art-task-grid.sh'), '--no-action' if no_action else '', + '--run-all-tests' if self.run_all_tests else '', sub_cmd)) if sub_cmd == 'single': @@ -642,7 +632,7 @@ class ArtGrid(ArtBase): test_directories = self.get_test_directories(self.get_script_directory()) test_directory = test_directories[package] - number_of_batch_tests = len(self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform)) + number_of_batch_tests = len(self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform, self.run_all_tests)) user = os.getenv('USER', 'artprod') if self.skip_setup else ArtGrid.ARTPROD outfile = self.rucio.get_outfile_name(user, package, sequence_tag) @@ -661,7 +651,7 @@ class ArtGrid(ArtBase): # submit single tests, index > 1 index = 1 - for job_name in self.get_files(test_directory, job_type, "single", self.nightly_release, self.project, self.platform): + for job_name in self.get_files(test_directory, job_type, "single", self.nightly_release, self.project, self.platform, self.run_all_tests): job = os.path.join(test_directory, job_name) header = ArtHeader(job) inds = header.get(ArtHeader.ART_INPUT) @@ -693,7 +683,7 @@ class ArtGrid(ArtBase): test_directories = self.get_test_directories(self.get_script_directory()) test_directory = test_directories[package] - test_list = self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform) + test_list = self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform, self.run_all_tests) # NOTE: grid counts from 1 index = int(job_index) @@ -720,6 +710,10 @@ class ArtGrid(ArtBase): """Run a job.""" log = logging.getLogger(MODULE) + print('# ' + '=' * 78) + print('\t\tART job name:\t ' + str(job_name)) + print('# ' + '=' * 78) + log.info("art-job-name: %s", job_name) panda_id = os.getenv('PandaID', '0') if inform_panda == 'True': @@ -962,26 +956,43 @@ class ArtGrid(ArtBase): return 0 - def compare(self, package, test_name, days, user, files, entries=-1, mode='detailed', shell=False): - """Compare current output against a job of certain days ago.""" + def __nightly_tag_and_ref_directory(self, days, ref_dir=None): + """ + Retrieve nightly tag and name for ref directory and create it. + + Returns (previous_nightly_tag, ref_dir), either of which can be None + """ log = logging.getLogger(MODULE) - user = ArtGrid.ARTPROD if user is None else user previous_nightly_tag = self.get_previous_nightly_tag(days) log.info("LOG Previous Nightly Tag: %s", str(previous_nightly_tag)) + if ref_dir is None and previous_nightly_tag is not None: + ref_dir = os.path.join('.', 'ref-' + previous_nightly_tag) + mkdir(ref_dir) + + log.info("LOG Ref Dir: %s", str(ref_dir)) + return (previous_nightly_tag, ref_dir) + + def download(self, package, test_name, days, user, ref_dir=None, shell=False): + """ + Download the output of a reference job. + + Returns ref_dir + """ + log = logging.getLogger(MODULE) + user = ArtGrid.ARTPROD if user is None else user + + (previous_nightly_tag, ref_dir) = self.__nightly_tag_and_ref_directory(days, ref_dir) if previous_nightly_tag is None: log.error("No previous nightly tag found") - return 1 - - ref_dir = os.path.join('.', 'ref-' + previous_nightly_tag) - mkdir(ref_dir) + return None log.info("Shell = %s", shell) tmp_tar = self.__get_tar(user, package, test_name, nightly_tag=previous_nightly_tag, shell=shell) if tmp_tar is None: - log.error("No comparison tar file found") - return 1 + log.error("No reference tar file found") + return None tar = tarfile.open(tmp_tar) for member in tar.getmembers(): @@ -989,7 +1000,19 @@ class ArtGrid(ArtBase): tar.close() os.remove(tmp_tar) - return self.compare_ref('.', ref_dir, files, entries, mode) + return ref_dir + + def compare(self, package, test_name, days, user, files, diff_pool, diff_root, entries=-1, mode='detailed', shell=False): + """Compare current output against a job of certain days ago.""" + log = logging.getLogger(MODULE) + user = ArtGrid.ARTPROD if user is None else user + + ref_dir = self.download(package, test_name, days, user, shell=shell) + if ref_dir is None: + log.error("No comparison done") + return 1 + + return self.compare_ref('.', ref_dir, files, diff_pool, diff_root, entries, mode) def __get_tar(self, user, package, test_name, grid_index=-1, tmp=None, tar=True, nightly_tag=None, shell=False): """Open tar file for particular release.""" @@ -1055,7 +1078,7 @@ class ArtGrid(ArtBase): 21:00 is the cutoff time. Any submission before 21:00 counts as the previous day. """ - directory = os.path.join(ArtGrid.CVMFS_DIRECTORY, self.nightly_release) + directory = os.path.join(CVMFS_DIRECTORY, self.nightly_release) tags = os.listdir(directory) tags.sort(reverse=True) tags = [x for x in tags if re.match(r'\d{4}-\d{2}-\d{2}T\d{2}\d{2}', x)] diff --git a/Tools/ART/python/ART/art_header.py b/Tools/ART/python/ART/art_header.py index f9e9f1aa0be..2387aec9e38 100644 --- a/Tools/ART/python/ART/art_header.py +++ b/Tools/ART/python/ART/art_header.py @@ -27,6 +27,7 @@ class ArtHeader(object): ART_INPUT_NFILES = 'art-input-nfiles' ART_INPUT_SPLIT = 'art-input-split' ART_OUTPUT = 'art-output' + ART_RUNON = 'art-runon' ART_TYPE = 'art-type' def __init__(self, filename): @@ -40,10 +41,13 @@ class ArtHeader(object): self.header = {} + self.valid = True + # general self.add(ArtHeader.ART_DESCRIPTION, StringType, '') self.add(ArtHeader.ART_TYPE, StringType, None, ['build', 'grid']) - self.add(ArtHeader.ART_INCLUDE, ListType, ['*']) + self.add(ArtHeader.ART_INCLUDE, ListType, []) # not specifying results in inclusion + self.add(ArtHeader.ART_RUNON, ListType, []) # "build" type only self.add(ArtHeader.ART_CI, ListType, []) @@ -58,12 +62,13 @@ class ArtHeader(object): self.read(filename) - def add(self, key, value_type, default_value=None, constraint=None): + def add(self, key, value_type, default_value=None, constraint=None, defined=True): """Add a single header definition.""" self.header[key] = {} self.header[key]['type'] = value_type self.header[key]['default'] = default_value self.header[key]['constraint'] = constraint + self.header[key]['defined'] = defined self.header[key]['value'] = None # e.g. the value was never set def is_list(self, key): @@ -79,6 +84,7 @@ class ArtHeader(object): try: key = line_match.group(1) value = line_match.group(2).strip() + # convert value if needed if key in self.header and self.header[key]['type'] == IntType: value = int(value) @@ -90,14 +96,21 @@ class ArtHeader(object): else: # handle values if key not in self.header: - log.warning("Unknown art-header %s: %s in file %s", key, value, filename) - self.add(key, StringType) + log.debug("Unknown art-header %s: %s in file %s", key, value, filename) + self.add(key, StringType, defined=False) + self.valid = False if self.header[key]['value'] is None: self.header[key]['value'] = value else: - log.warning("key %s: already set to %s in file %s", key, self.header[key]['value'], filename) + log.debug("key %s: already set to %s in file %s", key, self.header[key]['value'], filename) + self.valid = False except ValueError: - log.error("Invalid value in art-header %s: %s in file %s", key, value, filename) + log.debug("Invalid value in art-header %s: %s in file %s", key, value, filename) + self.valid = False + + def is_valid(self): + """Return True if file was read without errors.""" + return self.valid def get(self, key): """ @@ -132,36 +145,40 @@ class ArtHeader(object): - a key is found which is not defined - a value is found of the wrong value_type - a value is found outside the constraint + + return True is valid """ log = logging.getLogger(MODULE) + valid = True for line in open(self.filename, "r"): if self.header_format_error1.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, use space between '# and art-xxx' in file %s", self.filename) - log.error("") if self.header_format_error2.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, too many spaces between '# and art-xxx' in file %s", self.filename) - log.error("") if self.header_format_error3.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, use at least one space between ': and value' in file %s", self.filename) - log.error("") for key in self.header: - if 'type' not in self.header[key]: + if not self.header[key]['defined']: + valid &= False log.error("Header Validation - Invalid key: %s in file %s", key, self.filename) - log.error("") continue if type(self.header[key]['value']) != self.header[key]['type']: if not isinstance(self.header[key]['value'], type(None)): + valid &= False log.error("Header Validation - value_type: %s not valid for key: %s, expected value_type: %s in file %s", type(self.header[key]['value']), key, self.header[key]['type'], self.filename) - log.error("") if self.header[key]['constraint'] is not None and self.header[key]['value'] not in self.header[key]['constraint']: + valid &= False if self.header[key]['value'] is None: log.error("Header Validation - missing key: %s in file %s", key, self.filename) else: log.error("Header Validation - value: %s for key: %s not in constraints: %s in file %s", self.header[key]['value'], key, self.header[key]['constraint'], self.filename) log.error("") - return 0 + return valid diff --git a/Tools/ART/python/ART/art_misc.py b/Tools/ART/python/ART/art_misc.py index 0e187b8a9ba..b974dde18c5 100644 --- a/Tools/ART/python/ART/art_misc.py +++ b/Tools/ART/python/ART/art_misc.py @@ -15,6 +15,7 @@ from datetime import datetime MODULE = "art.misc" EOS_MGM_URL = 'root://eosatlas.cern.ch/' +CVMFS_DIRECTORY = '/cvmfs/atlas-nightlies.cern.ch/repo/sw' KByte = 1024 MByte = KByte * 1024 @@ -51,6 +52,23 @@ def get_atlas_env(): sys.exit(1) +def build_script_directory(script_directory, nightly_release, nightly_tag, project, platform): + """Return calculated script directory, sometimes overriden by commandline.""" + if script_directory is None: + script_directory = CVMFS_DIRECTORY + script_directory = os.path.join(script_directory, nightly_release) # e.g. 21.0 + script_directory = os.path.join(script_directory, nightly_tag) # e.g. 2017-10-25T2150 + script_directory = os.path.join(script_directory, project) # e.g. Athena + try: + script_directory = os.path.join(script_directory, os.listdir(script_directory)[0]) # e.g. 21.0.3 + script_directory = os.path.join(script_directory, os.listdir(script_directory)[0]) # InstallArea + except OSError: + script_directory = os.path.join(script_directory, '*', '*') + script_directory = os.path.join(script_directory, platform) # x86_64-slc6-gcc62-opt + script_directory = os.path.join(script_directory, 'src') # src + return script_directory + + def run_command(cmd, dir=None, shell=False, env=None, verbose=True): """ Run the given command locally. diff --git a/Tools/ART/scripts/art-clean.py b/Tools/ART/scripts/art-clean.py index 3f714b72146..c4c4070bcb1 100755 --- a/Tools/ART/scripts/art-clean.py +++ b/Tools/ART/scripts/art-clean.py @@ -99,7 +99,7 @@ class ArtClean(object): def clean_release(self, release, days, package=None): """Clean a release dir.""" log = logging.getLogger(MODULE) - log.debug("Starting to clean up release, keeping %d days, for %s in %s", days, "All" if package is None else package, release) + log.info("Starting to clean up release, keeping %d days, for %s in %s", days, "All" if package is None else package, release) now = datetime.datetime.now() count = 0 date = '1970-01-01' diff --git a/Tools/ART/scripts/art-download.sh b/Tools/ART/scripts/art-download.sh index 89ed645c4f6..5f30f34c87e 100755 --- a/Tools/ART/scripts/art-download.sh +++ b/Tools/ART/scripts/art-download.sh @@ -19,7 +19,7 @@ DIRECTORY=$1 shift export ATLAS_LOCAL_ROOT_BASE="${ATLAS_LOCAL_ROOT_BASE:-/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase}" -# shellcheck source=/dev/null +## shellcheck source=/dev/null source "${ATLAS_LOCAL_ROOT_BASE}"/user/atlasLocalSetup.sh --quiet unset ALRB_noGridMW diff --git a/Tools/ART/scripts/art-internal.py b/Tools/ART/scripts/art-internal.py index ec313bd86aa..b6fa9cb28bf 100755 --- a/Tools/ART/scripts/art-internal.py +++ b/Tools/ART/scripts/art-internal.py @@ -4,9 +4,9 @@ ART-internal - ATLAS Release Tester (internal command). Usage: - art-internal.py build job [-v -q] <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> - art-internal.py grid batch [-v -q --skip-setup -n] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <job_index> - art-internal.py grid single [-v -q --skip-setup --in=<in_file> -n] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> + art-internal.py build job [-v -q --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> + art-internal.py grid batch [-v -q --skip-setup -n --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <job_index> + art-internal.py grid single [-v -q --skip-setup --in=<in_file> -n --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> Options: -h --help Show this screen. @@ -14,6 +14,7 @@ Options: --in=<in_file> Normally percentage IN -n --no-action No real submit will be done -q --quiet Show less information, only warnings and errors + --run-all-tests Runs all tests, ignoring art-include -v --verbose Show more information, debug level --version Show version. @@ -60,7 +61,8 @@ def build_job(script_directory, sequence_tag, package, outfile, job_type, job_in set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() - exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory).job(sequence_tag, package, outfile, job_type, job_index)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory, run_all_tests=run_all_tests).job(sequence_tag, package, outfile, job_type, job_index)) @dispatch.on('grid', 'batch') @@ -74,7 +76,8 @@ def grid_batch(script_directory, sequence_tag, package, outfile, inform_panda, j art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() skip_setup = kwargs['skip_setup'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory, skip_setup).batch(sequence_tag, package, outfile, inform_panda, job_type, job_index)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=skip_setup, run_all_tests=run_all_tests).batch(sequence_tag, package, outfile, inform_panda, job_type, job_index)) @dispatch.on('grid', 'single') @@ -89,7 +92,8 @@ def grid_single(script_directory, sequence_tag, package, outfile, inform_panda, (nightly_release, project, platform, nightly_tag) = get_atlas_env() skip_setup = kwargs['skip_setup'] in_file = kwargs['in'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory, skip_setup).single(sequence_tag, package, outfile, inform_panda, job_name, in_file)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=skip_setup, run_all_tests=run_all_tests).single(sequence_tag, package, outfile, inform_panda, job_name, in_file)) if __name__ == '__main__': diff --git a/Tools/ART/scripts/art-task-build.sh b/Tools/ART/scripts/art-task-build.sh index d8b5c1d925a..bff1bb33b2f 100755 --- a/Tools/ART/scripts/art-task-build.sh +++ b/Tools/ART/scripts/art-task-build.sh @@ -1,13 +1,21 @@ #!/bin/bash # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -# arguments: RELEASE_BASE, PROJECT, PLATFORM +# arguments: [--run-all-tests] RELEASE_BASE, PROJECT, PLATFORM +# NOTE: options have to be in order # author : Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>, Emil Obreshkov <Emil.Obreshkov@cern.ch> echo "INFO: Script executed by $(whoami) on $(date)" +RUN_ALL_TESTS="" +if [ "$1" == "--run-all-tests" ]; then + RUN_ALL_TESTS="--run-all-tests" + shift + echo "RUN_ALL_TESTS=${RUN_ALL_TESTS}" +fi + RELEASE_BASE=$1 -PROJECT=$2 -PLATFORM=$3 +ART_PROJECT=$2 +ART_PLATFORM=$3 BRANCH="$(echo "${RELEASE_BASE}" | tr '/' ' ' | awk '{print $5}')" echo BRANCH "${BRANCH}" @@ -21,7 +29,7 @@ else fi export ATLAS_LOCAL_ROOT_BASE="${ATLAS_LOCAL_ROOT_BASE:-/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase}" -# shellcheck source=/dev/null +## shellcheck source=/dev/null source "${ATLAS_LOCAL_ROOT_BASE}"/user/atlasLocalSetup.sh --quiet if [ "${BRANCH}" == "master" ]; then lsetup -a testing asetup @@ -30,7 +38,7 @@ else lsetup -a current asetup echo "INFO: setting up for ${BRANCH}" fi -asetup "${PROJECT}" --platform "${PLATFORM}" --releasebase "${RELEASE_BASE}"/build/install --noLcgReleaseBase +asetup "${ART_PROJECT}" --platform "${ART_PLATFORM}" --releasebase "${RELEASE_BASE}"/build/install --noLcgReleaseBase # setup AtlasBuildBranch since that is not set bu the above asetup for the local build setup @@ -62,7 +70,7 @@ fi # run build tests SUBDIR=${AtlasBuildBranch}/${AtlasProject}/${PLATFORM}/${AtlasBuildStamp} OUTDIR="${RELEASE_BASE}/art-build/${SUBDIR}" -CMD="art.py run ${RELEASE_BASE}/build/install/${AtlasProject}/*/InstallArea/${PLATFORM}/src ${OUTDIR}" +CMD="art.py run ${RUN_ALL_TESTS} ${RELEASE_BASE}/build/install/${AtlasProject}/*/InstallArea/${ART_PLATFORM}/src ${OUTDIR}" echo "${CMD}" RESULT=$(eval "${CMD}") echo "${RESULT}" diff --git a/Tools/ART/scripts/art-task-grid.sh b/Tools/ART/scripts/art-task-grid.sh index e459d17a8f2..27178185d58 100755 --- a/Tools/ART/scripts/art-task-grid.sh +++ b/Tools/ART/scripts/art-task-grid.sh @@ -5,9 +5,9 @@ # # Example command lines for three types: # -# art-task-grid.sh [--no-action] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> +# art-task-grid.sh [--no-action --run-all-tests] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> # -# art-task-grid.sh [--no-action] single [--inds <input_file> --n-files <number_of_files> --split <split>] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> +# art-task-grid.sh [--no-action --run-all-tests] single [--inds <input_file> --n-files <number_of_files> --split <split>] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> # # env: ART_GRID_OPTIONS # @@ -27,6 +27,13 @@ if [ "$1" == "--no-action" ]; then echo "NO_ACTION=${NO_ACTION}" fi +RUN_ALL_TESTS="" +if [ "$1" == "--run-all-tests" ]; then + RUN_ALL_TESTS="--run-all-tests" + shift + echo "RUN_ALL_TESTS=${RUN_ALL_TESTS}" +fi + TYPE=$1 shift echo "TYPE=${TYPE}" @@ -122,7 +129,7 @@ case ${TYPE} in echo "JOB_TYPE=${JOB_TYPE}" NUMBER_OF_TESTS=$1 - SPLIT="--split ${NUMBER_OF_TESTS}" + SPLIT="--split ${NUMBER_OF_TESTS} --nEventsPerJob 1" shift echo "NUMBER_OF_TESTS=${NUMBER_OF_TESTS}" echo "SPLIT=${SPLIT}" @@ -149,7 +156,7 @@ case ${TYPE} in 'batch') # <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> INTERNAL_COMMAND="grid batch" - JOB_INDEX="%RNDM:0" + JOB_INDEX="%FIRSTEVENT:0" ARGS="${JOB_TYPE} ${JOB_INDEX}" echo "JOB_INDEX=${JOB_INDEX}" echo "ARGS=${ARGS}" @@ -167,7 +174,7 @@ esac # NOTE: for art-internal.py the current dir can be used as it is copied there cd "${SUBMIT_DIRECTORY}"/"${PACKAGE}"/run -SUBCOMMAND="./art-internal.py ${INTERNAL_COMMAND} ${IN_FILE} ${SCRIPT_DIRECTORY} ${SEQUENCE_TAG} ${PACKAGE} ${OUT} ${INFORM_PANDA} ${ARGS}" +SUBCOMMAND="./art-internal.py ${INTERNAL_COMMAND} ${RUN_ALL_TESTS} ${IN_FILE} ${SCRIPT_DIRECTORY} ${SEQUENCE_TAG} ${PACKAGE} ${OUT} ${INFORM_PANDA} ${ARGS}" CMD="pathena ${GRID_OPTIONS} ${PATHENA_OPTIONS} ${PATHENA_TYPE_OPTIONS} --trf \"${SUBCOMMAND}\" ${SPLIT} --outDS ${OUTFILE} --extOutFile art-job.json" #--disableAutoRetry diff --git a/Tools/ART/scripts/art.py b/Tools/ART/scripts/art.py index f717c812ef7..fc187b3550b 100755 --- a/Tools/ART/scripts/art.py +++ b/Tools/ART/scripts/art.py @@ -6,14 +6,15 @@ ART - ATLAS Release Tester. You need to setup for an ATLAS release before using ART. Usage: - art.py run [-v -q --type=<T> --max-jobs=<N> --ci] <script_directory> <sequence_tag> - art.py grid [-v -q --type=<T> --max-jobs=<N> -n] <script_directory> <sequence_tag> - art.py submit [-v -q --type=<T> --max-jobs=<N> --config=<file> -n] <sequence_tag> [<package>] + art.py run [-v -q --type=<T> --max-jobs=<N> --ci --run-all-tests] <script_directory> <sequence_tag> + art.py grid [-v -q --type=<T> --max-jobs=<N> -n --run-all-tests] <script_directory> <sequence_tag> + art.py submit [-v -q --type=<T> --max-jobs=<N> --config=<file> -n] <sequence_tag> [<packages>...] art.py copy [-v -q --user=<user> --dst=<dir> --no-unpack --tmp=<dir> --seq=<N> --keep-tmp] <indexed_package> - art.py validate [-v -q] <script_directory> - art.py included [-v -q --type=<T> --test-type=<TT>] <script_directory> - art.py compare grid [-v -q --days=<D> --user=<user> --entries=<entries> --file=<pattern>... --mode=<mode>] <package> <test_name> - art.py compare ref [-v -q --entries=<entries> --file=<pattern>... --mode=<mode>] <path> <ref_path> + art.py validate [-v -q] [<script_directory>] + art.py included [-v -q --type=<T> --test-type=<TT>] [<script_directory>] + art.py download [-v -q --days=<D> --user=<user> --dst=<dir>] <package> <test_name> + art.py compare grid [-v -q --days=<D> --user=<user> --entries=<entries> --file=<pattern>... --mode=<mode> --diff-pool --diff-root] <package> <test_name> + art.py compare ref [-v -q --entries=<entries> --file=<pattern>... --mode=<mode> --diff-pool --diff-root] <path> <ref_path> art.py list grid [-v -q --user=<user> --json --test-type=<TT>] <package> art.py log grid [-v -q --user=<user>] <package> <test_name> art.py output grid [-v -q --user=<user>] <package> <test_name> @@ -24,6 +25,8 @@ Options: --ci Run Continuous Integration tests only (using env: AtlasBuildBranch) --config=<file> Use specific config file [default: art-configuration.yml] --days=<D> Number of days ago to pick up reference for compare [default: 1] + --diff_pool Do comparison with POOL + --diff_root Do comparison with ROOT (none specified means POOL and ROOT are compared) --dst=<dir> Destination directory for downloaded files --entries=<entries> Number of entries to compare [default: 10] --file=<pattern>... Compare the following file patterns for diff-root [default: *AOD*.pool.root *ESD*.pool.root *HITS*.pool.root *RDO*.pool.root *TAG*.root] @@ -35,6 +38,7 @@ Options: -n --no-action No real submit will be done --no-unpack Do not unpack downloaded tar files -q --quiet Show less information, only warnings and errors + --run-all-tests Ignores art-include headers, runs all tests --seq=<N> Use N as postfix on destination nightly-tag (for retries) [default: 0] --test-type=<TT> Type of test (e.g. all, batch or single) [default: all] --tmp=<dir> Temporary directory for downloaded files and caching of EXT0 @@ -56,10 +60,12 @@ Sub-commands: output Get the output of a job config Show configuration createpoolfile Creates an 'empty' poolfile catalog + download Downloads the output of a reference job for comparison Arguments: indexed_package Package of the test or indexed package (e.g. MooPerformance.4) package Package of the test (e.g. Tier0ChainTests) + packages List of packages (e.g. Tier0ChainTests) path Directory or File to compare ref_path Directory or File to compare to script_directory Directory containing the package(s) with tests @@ -78,7 +84,7 @@ Tests are called with: """ __author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>" -__version__ = '0.10.22' +__version__ = '0.11.11' import logging import os @@ -88,7 +94,7 @@ from ART.docopt_dispatch import dispatch from ART import ArtBase, ArtGrid, ArtBuild -from ART.art_misc import get_atlas_env, set_log +from ART.art_misc import build_script_directory, get_atlas_env, set_log MODULE = "art" @@ -103,9 +109,14 @@ def compare_ref(path, ref_path, **kwargs): set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) files = kwargs['file'] + diff_pool = kwargs['diff_pool'] + diff_root = kwargs['diff_root'] + if not diff_pool and not diff_root: + diff_pool = True + diff_root = True entries = kwargs['entries'] mode = kwargs['mode'] - exit(ArtBase(art_directory).compare_ref(path, ref_path, files, entries, mode)) + exit(ArtBase(art_directory).compare_ref(path, ref_path, files, diff_pool, diff_root, entries, mode)) @dispatch.on('compare', 'grid') @@ -117,9 +128,14 @@ def compare_grid(package, test_name, **kwargs): days = int(kwargs['days']) user = kwargs['user'] files = kwargs['file'] + diff_pool = kwargs['diff_pool'] + diff_root = kwargs['diff_root'] + if not diff_pool and not diff_root: + diff_pool = True + diff_root = True entries = kwargs['entries'] mode = kwargs['mode'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).compare(package, test_name, days, user, files, entries=entries, mode=mode, shell=True)) + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).compare(package, test_name, days, user, files, diff_pool, diff_root, entries=entries, mode=mode, shell=True)) @dispatch.on('list', 'grid') @@ -164,11 +180,11 @@ def submit(sequence_tag, **kwargs): job_type = 'grid' if kwargs['type'] is None else kwargs['type'] user = os.getenv('USER', 'artprod') inform_panda = user == 'artprod' - package = kwargs['package'] + packages = kwargs['packages'] config = kwargs['config'] no_action = kwargs['no_action'] wait_and_copy = True - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, package, no_action, wait_and_copy, config)) + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, packages, no_action, wait_and_copy, config)) @dispatch.on('grid') @@ -179,11 +195,12 @@ def grid(script_directory, sequence_tag, **kwargs): (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = 'grid' if kwargs['type'] is None else kwargs['type'] inform_panda = False - package = None + packages = [] config = None no_action = kwargs['no_action'] wait_and_copy = False - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=True, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, package, no_action, wait_and_copy, config)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=True, max_jobs=int(kwargs['max_jobs']), run_all_tests=run_all_tests).task_list(job_type, sequence_tag, inform_panda, packages, no_action, wait_and_copy, config)) @dispatch.on('run') @@ -193,7 +210,8 @@ def run(script_directory, sequence_tag, **kwargs): art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = 'build' if kwargs['type'] is None else kwargs['type'] - exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=int(kwargs['max_jobs']), ci=kwargs['ci']).task_list(job_type, sequence_tag)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, max_jobs=int(kwargs['max_jobs']), ci=kwargs['ci'], run_all_tests=run_all_tests).task_list(job_type, sequence_tag)) @dispatch.on('copy') @@ -213,21 +231,29 @@ def copy(indexed_package, **kwargs): @dispatch.on('validate') -def validate(script_directory, **kwargs): +def validate(**kwargs): """Check headers in tests.""" set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) + script_directory = kwargs['script_directory'] + if script_directory is None: + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + script_directory = build_script_directory(script_directory, nightly_release, nightly_tag, project, platform) exit(ArtBase(art_directory).validate(script_directory)) @dispatch.on('included') -def included(script_directory, **kwargs): +def included(**kwargs): """Show list of files which will be included for art submit/art grid.""" set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = kwargs['type'] # None will list all types index_type = kwargs['test_type'] + script_directory = kwargs['script_directory'] + if script_directory is None: + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + script_directory = build_script_directory(script_directory, nightly_release, nightly_tag, project, platform) exit(ArtBase(art_directory).included(script_directory, job_type, index_type, nightly_release, project, platform)) @@ -250,6 +276,18 @@ def createpoolfile(package, **kwargs): exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).createpoolfile()) +@dispatch.on('download') +def download(package, test_name, **kwargs): + """Download the output of a reference job.""" + set_log(kwargs) + art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + days = int(kwargs['days']) + user = kwargs['user'] + dst = kwargs['dst'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).download(package, test_name, days, user, ref_dir=dst, shell=True)) + + if __name__ == '__main__': if sys.version_info < (2, 7, 0): sys.stderr.write("You need python 2.7 or later to run this script\n") diff --git a/Tools/ART/share/localSetupART.zsh b/Tools/ART/share/localSetupART.zsh new file mode 100644 index 00000000000..aa9bfe0ddde --- /dev/null +++ b/Tools/ART/share/localSetupART.zsh @@ -0,0 +1,5 @@ +SOURCE=${(%):-%N} +SCRIPTPATH="$( cd "$( dirname "$SOURCE" )" && pwd )" +export PATH=${SCRIPTPATH}/../scripts:${PATH} +export PYTHONPATH=${SCRIPTPATH}/../python:${PYTHONPATH} + -- GitLab From a938135f4e2fa266bbeda2b549f266da0992a1d4 Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Mon, 29 Oct 2018 19:14:32 +0100 Subject: [PATCH 015/209] move HLTResultMT and its maker to TrigOutputHandling --- .../TrigControl/TrigServices/CMakeLists.txt | 6 +- .../TrigServices/HltEventLoopMgr.h | 10 +-- .../TrigServices/src/HltEventLoopMgr.cxx | 30 ++++---- .../TrigSteeringEvent/HLTResultMT.h | 77 ------------------- .../TrigHLTResultByteStream/CMakeLists.txt | 7 +- .../src/HLTResultMTByteStreamCnv.cxx | 6 +- .../TrigOutputHandling/HLTResultMT.h | 74 ++++++++++++++++++ .../TrigOutputHandling/HLTResultMTMaker.h | 37 +++++++++ .../TrigOutputHandling/HLTResultMTMakerTool.h | 4 +- .../TrigOutputHandling/TriggerBitsMakerTool.h | 2 +- .../TrigOutputHandling/src/HLTResultMT.cxx} | 35 +++++---- .../src/HLTResultMTMaker.cxx} | 14 ++-- .../src/HLTResultMTMakerAlg.cxx | 2 +- .../src/HLTResultMTMakerAlg.h | 2 +- .../src/StreamTagMakerTool.cxx | 2 +- .../src/StreamTagMakerTool.h | 2 +- .../src/TriggerBitsMakerTool.cxx | 2 +- .../src/TriggerEDMSerialiserTool.cxx | 2 +- .../src/TriggerEDMSerialiserTool.h | 2 +- .../components/TrigOutputHandling_entries.cxx | 2 + .../TrigSteering/ResultBuilderMT.h | 39 ---------- .../src/components/TrigSteering_entries.cxx | 2 - 22 files changed, 177 insertions(+), 182 deletions(-) delete mode 100644 Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h create mode 100644 Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h create mode 100644 Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h rename Trigger/{TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx => TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx} (72%) rename Trigger/TrigSteer/{TrigSteering/src/ResultBuilderMT.cxx => TrigOutputHandling/src/HLTResultMTMaker.cxx} (82%) delete mode 100644 Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h diff --git a/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt b/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt index a5e93225cf8..ddcaddd525d 100644 --- a/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt +++ b/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt @@ -27,7 +27,7 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigEvent/TrigNavigation Trigger/TrigMonitoring/TrigMonitorBase Trigger/TrigSteer/TrigInterfaces - Trigger/TrigSteer/TrigSteering ) + Trigger/TrigSteer/TrigOutputHandling ) # External dependencies: find_package( Boost COMPONENTS filesystem thread system ) @@ -43,12 +43,12 @@ atlas_add_library( TrigServicesLib INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel ByteStreamCnvSvcLib ByteStreamData EventInfo xAODEventInfo GaudiKernel TrigKernel TrigSteeringEvent StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} AthenaPoolUtilities TrigSteering ) + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} AthenaPoolUtilities TrigOutputHandlingLib ) atlas_add_component( TrigServices src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test EventInfo xAODEventInfo GaudiKernel TrigKernel TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigSteeringEvent AthenaPoolUtilities TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib TrigServicesLib TrigSteering ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test EventInfo xAODEventInfo GaudiKernel TrigKernel TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigSteeringEvent AthenaPoolUtilities TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib TrigServicesLib TrigOutputHandlingLib ) # Install files from the package: atlas_install_python_modules( python/*.py ) diff --git a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h index b04c5c00edb..da3585348f9 100644 --- a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h +++ b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h @@ -37,6 +37,8 @@ class CondAttrListCollection; class EventContext; class EventInfo; +class HLTResultMT; +class HLTResultMTMaker; class IAlgExecStateSvc; class IAlgorithm; class IAlgResourcePool; @@ -51,10 +53,6 @@ class TrigCOOLUpdateHelper; namespace coral { class AttributeList; } -namespace HLT { - class HLTResultMT; - class ResultBuilderMT; -} /** @class HltEventLoopMgr * @brief AthenaMT event loop manager for running HLT online @@ -189,7 +187,7 @@ private: ToolHandle<TrigCOOLUpdateHelper> m_coolHelper; /// Tool to create HLTResult - ToolHandle<HLT::ResultBuilderMT> m_hltResultBuilder; + ToolHandle<HLTResultMTMaker> m_hltResultMaker; // ------------------------- Optional services/tools ------------------------- /// Reference to a THistSvc which implements also the Hlt additions @@ -233,7 +231,7 @@ private: /// StoreGate key for reading EventInfo SG::ReadHandleKey<EventInfo> m_eventInfoRHKey; /// StoreGate key for reading the HLT result - SG::ReadHandleKey<HLT::HLTResultMT> m_hltResultRHKey; + SG::ReadHandleKey<HLTResultMT> m_hltResultRHKey; // ------------------------- Other private members --------------------------- /// typedef used for detector mask fields diff --git a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx index 72a1bbd4042..6838e7accb7 100644 --- a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx +++ b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx @@ -7,8 +7,8 @@ #include "TrigCOOLUpdateHelper.h" #include "TrigKernel/HltExceptions.h" #include "TrigSORFromPtreeHelper.h" -#include "TrigSteering/ResultBuilderMT.h" -#include "TrigSteeringEvent/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMTMaker.h" // Athena includes #include "AthenaKernel/EventContextClid.h" @@ -81,7 +81,7 @@ HltEventLoopMgr::HltEventLoopMgr(const std::string& name, ISvcLocator* svcLoc) m_evtSelector("EvtSel", name), m_outputCnvSvc("OutputCnvSvc", name), m_coolHelper("TrigCOOLUpdateHelper", this), - m_hltResultBuilder("HLT::ResultBuilderMT/ResultBuilder", this), + m_hltResultMaker("HLTResultMTMaker", this), m_detector_mask(0xffffffff, 0xffffffff, 0, 0), m_localEventNumber(0), m_threadPoolSize(-1), @@ -100,7 +100,7 @@ HltEventLoopMgr::HltEventLoopMgr(const std::string& name, ISvcLocator* svcLoc) declareProperty("EvtSel", m_evtSelector); declareProperty("OutputCnvSvc", m_outputCnvSvc); declareProperty("CoolUpdateTool", m_coolHelper); - declareProperty("ResultBuilder", m_hltResultBuilder); + declareProperty("ResultMaker", m_hltResultMaker); declareProperty("SchedulerSvc", m_schedulerName="AvalancheSchedulerSvc", "Name of the scheduler to be used"); declareProperty("WhiteboardSvc", m_whiteboardName="EventDataSvc", @@ -281,7 +281,7 @@ StatusCode HltEventLoopMgr::initialize() // COOL helper ATH_CHECK(m_coolHelper.retrieve()); // HLT result builder - ATH_CHECK(m_hltResultBuilder.retrieve()); + ATH_CHECK(m_hltResultMaker.retrieve()); //---------------------------------------------------------------------------- // Initialise data handle keys @@ -291,7 +291,7 @@ StatusCode HltEventLoopMgr::initialize() // EventInfo ReadHandle ATH_CHECK(m_eventInfoRHKey.initialize()); // HLTResultMT ReadHandle (created dynamically from the result builder property) - m_hltResultRHKey = m_hltResultBuilder->resultName(); + m_hltResultRHKey = m_hltResultMaker->resultName(); ATH_CHECK(m_hltResultRHKey.initialize()); //---------------------------------------------------------------------------- @@ -400,7 +400,7 @@ StatusCode HltEventLoopMgr::finalize() m_outputCnvSvc); releaseTool(m_coolHelper, - m_hltResultBuilder); + m_hltResultMaker); releaseSmartIF(m_whiteboard, m_algResourcePool, @@ -431,8 +431,8 @@ StatusCode HltEventLoopMgr::finalize() // Release tool handles if (m_coolHelper.release().isFailure()) ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_coolHelper.typeAndName(); - if (m_hltResultBuilder.release().isFailure()) - ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_hltResultBuilder.typeAndName(); + if (m_hltResultMaker.release().isFailure()) + ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_hltResultMaker.typeAndName(); // Release SmartIFs m_whiteboard.reset(); @@ -1115,16 +1115,16 @@ StatusCode HltEventLoopMgr::failedEvent(hltonl::PSCErrorCode errorCode, const Ev auto hltResultRH = SG::makeHandle(m_hltResultRHKey,eventContext); if (!hltResultRH.isValid()) { // Try to build a result if not available - m_hltResultBuilder->buildResult(eventContext).ignore(); + m_hltResultMaker->makeResult(eventContext).ignore(); } - std::unique_ptr<HLT::HLTResultMT> hltResultPtr; + std::unique_ptr<HLTResultMT> hltResultPtr; if (!hltResultRH.isValid()) - hltResultPtr = std::make_unique<HLT::HLTResultMT>(); + hltResultPtr = std::make_unique<HLTResultMT>(); else - hltResultPtr = std::make_unique<HLT::HLTResultMT>(*hltResultRH); + hltResultPtr = std::make_unique<HLTResultMT>(*hltResultRH); - SG::WriteHandleKey<HLT::HLTResultMT> hltResultWHK(m_hltResultRHKey.key()+"_FailedEvent"); + SG::WriteHandleKey<HLTResultMT> hltResultWHK(m_hltResultRHKey.key()+"_FailedEvent"); hltResultWHK.initialize(); auto hltResultWH = SG::makeHandle(hltResultWHK,eventContext); if (hltResultWH.record(std::move(hltResultPtr)).isFailure()) { @@ -1327,7 +1327,7 @@ HltEventLoopMgr::DrainSchedulerStatusCode HltEventLoopMgr::drainScheduler() // HLT output handling //-------------------------------------------------------------------------- // Call the result builder to record HLTResultMT in SG - sc = m_hltResultBuilder->buildResult(*thisFinishedEvtContext); + sc = m_hltResultMaker->makeResult(*thisFinishedEvtContext); if (sc.isFailure()) atLeastOneFailed = true; HLT_DRAINSCHED_CHECK(sc, "Failed to create the HLT result object", hltonl::PSCErrorCode::NO_HLT_RESULT, *thisFinishedEvtContext); diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h deleted file mode 100644 index a38fa409487..00000000000 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef TRIGSTEERINGEVENT_HLTResultMT_H -#define TRIGSTEERINGEVENT_HLTResultMT_H - -#include "AthenaKernel/CLASS_DEF.h" -#include "eformat/StreamTag.h" -#include <vector> -#include <unordered_map> - -namespace HLT { - - /** @class HLTResultMT - * @brief A container class for data required to build online output from HLT. - * - * It is not intended to modify the stored data, but may perform extra checks and debug printouts in the - * getter/setter methods. - **/ - class HLTResultMT { - public: - /// Standard constructor - HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags = {}, - std::vector<uint32_t> hltBits = {}, - std::unordered_map<uint16_t, std::vector<uint32_t> > data = {}, - std::vector<uint32_t> status = {}); - /// Copy constructor - HLTResultMT(const HLTResultMT& other); - /// Standard destructor - virtual ~HLTResultMT(); - - /// Stream tags getter - const std::vector<eformat::helper::StreamTag>& getStreamTags() const; - /// Stream tags setter - void setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags); - /// Append a stream tag - void addStreamTag(const eformat::helper::StreamTag& streamTag); - - /// HLT bits getter - const std::vector<uint32_t>& getHltBits() const; - /// HLT bits setter - void setHltBits(const std::vector<uint32_t>& bits); - /// Append a word with HLT bits - void addHltBitsWord(const uint32_t& word); - - /// Serialised data getter - const std::unordered_map<uint16_t, std::vector<uint32_t> >& getSerialisedData() const; - /// Serialised data getter for a given module ID - const std::vector<uint32_t>& getSerialisedData(uint16_t moduleId) const; - /// Serialised data setter - void setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data); - /// Append serialised data for a given module ID - void addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data); - - /// Status words getter - const std::vector<uint32_t>& getStatus() const; - /// Status words setter - void setStatus(const std::vector<uint32_t>& status); - /// Append a status word - void addStatusWord(const uint32_t& word); - - private: - /// Stream tags of the event - std::vector<eformat::helper::StreamTag> m_streamTags; - /// Serialised HLT bits (flagging which chains passed) - std::vector<uint32_t> m_hltBits; - /// Serialised result (ROBFragment payload) for each module ID (0 for full result, >0 for data scouting) - std::unordered_map<uint16_t, std::vector<uint32_t> > m_data; - /// Event status words (used to indicate processing errors) - std::vector<uint32_t> m_status; - }; -} // namespace HLT - -CLASS_DEF(HLT::HLTResultMT, 172156324, 1) - -#endif // TRIGSTEERINGEVENT_HLTResultMT_H diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt b/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt index 16fa4fe00d3..9a0d90434ee 100644 --- a/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt @@ -14,7 +14,8 @@ atlas_depends_on_subdirs( PUBLIC Event/ByteStreamCnvSvcBase Event/ByteStreamData GaudiKernel - Trigger/TrigEvent/TrigSteeringEvent ) + Trigger/TrigEvent/TrigSteeringEvent + Trigger/TrigSteer/TrigOutputHandling ) # External dependencies: find_package( tdaq-common COMPONENTS eformat_write ) @@ -24,10 +25,10 @@ atlas_add_library( TrigHLTResultByteStreamLib src/*.cxx PUBLIC_HEADERS TrigHLTResultByteStream INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools ByteStreamData GaudiKernel TrigSteeringEvent StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools ByteStreamData GaudiKernel TrigSteeringEvent TrigOutputHandlingLib StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test ) atlas_add_component( TrigHLTResultByteStream src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test GaudiKernel TrigSteeringEvent TrigHLTResultByteStreamLib ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test GaudiKernel TrigSteeringEvent TrigOutputHandlingLib TrigHLTResultByteStreamLib ) diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx index 146dd3a9146..029705ef332 100644 --- a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx +++ b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx @@ -4,7 +4,7 @@ // Trigger includes #include "TrigHLTResultByteStream/HLTResultMTByteStreamCnv.h" -#include "TrigSteeringEvent/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMT.h" // Athena includes #include "AthenaBaseComps/AthCheckMacros.h" @@ -74,7 +74,7 @@ StatusCode HLT::HLTResultMTByteStreamCnv::createRep(DataObject* pObj, IOpaqueAdd ATH_MSG_VERBOSE("start of " << __FUNCTION__); // Cast the DataObject to HLTResultMT - HLT::HLTResultMT* hltResult = nullptr; + HLTResultMT* hltResult = nullptr; bool castSuccessful = SG::fromStorable(pObj, hltResult); if (!castSuccessful || !hltResult) { ATH_MSG_ERROR("Failed to convert DataObject to HLTResultMT"); @@ -155,6 +155,6 @@ StatusCode HLT::HLTResultMTByteStreamCnv::createRep(DataObject* pObj, IOpaqueAdd // CLID // ============================================================================= const CLID& HLT::HLTResultMTByteStreamCnv::classID() { - return ClassID_traits<HLT::HLTResultMT>::ID(); + return ClassID_traits<HLTResultMT>::ID(); } diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h new file mode 100644 index 00000000000..cafaf6f4372 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h @@ -0,0 +1,74 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGOUTPUTHANDLING_HLTRESULTMT_H +#define TRIGOUTPUTHANDLING_HLTRESULTMT_H + +#include "AthenaKernel/CLASS_DEF.h" +#include "eformat/StreamTag.h" +#include <vector> +#include <unordered_map> + +/** @class HLTResultMT + * @brief A container class for data required to build online output from HLT. + * + * It is not intended to modify the stored data, but may perform extra checks and debug printouts in the + * getter/setter methods. + **/ +class HLTResultMT { +public: + /// Standard constructor + HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags = {}, + std::vector<uint32_t> hltBits = {}, + std::unordered_map<uint16_t, std::vector<uint32_t> > data = {}, + std::vector<uint32_t> status = {}); + /// Copy constructor + HLTResultMT(const HLTResultMT& other); + /// Standard destructor + virtual ~HLTResultMT(); + + /// Stream tags getter + const std::vector<eformat::helper::StreamTag>& getStreamTags() const; + /// Stream tags setter + void setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags); + /// Append a stream tag + void addStreamTag(const eformat::helper::StreamTag& streamTag); + + /// HLT bits getter + const std::vector<uint32_t>& getHltBits() const; + /// HLT bits setter + void setHltBits(const std::vector<uint32_t>& bits); + /// Append a word with HLT bits + void addHltBitsWord(const uint32_t& word); + + /// Serialised data getter + const std::unordered_map<uint16_t, std::vector<uint32_t> >& getSerialisedData() const; + /// Serialised data getter for a given module ID + const std::vector<uint32_t>& getSerialisedData(uint16_t moduleId) const; + /// Serialised data setter + void setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data); + /// Append serialised data for a given module ID + void addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data); + + /// Status words getter + const std::vector<uint32_t>& getStatus() const; + /// Status words setter + void setStatus(const std::vector<uint32_t>& status); + /// Append a status word + void addStatusWord(const uint32_t& word); + +private: + /// Stream tags of the event + std::vector<eformat::helper::StreamTag> m_streamTags; + /// Serialised HLT bits (flagging which chains passed) + std::vector<uint32_t> m_hltBits; + /// Serialised result (ROBFragment payload) for each module ID (0 for full result, >0 for data scouting) + std::unordered_map<uint16_t, std::vector<uint32_t> > m_data; + /// Event status words (used to indicate processing errors) + std::vector<uint32_t> m_status; +}; + +CLASS_DEF(HLTResultMT, 69657051, 1) + +#endif // TRIGOUTPUTHANDLING_HLTRESULTMT_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h new file mode 100644 index 00000000000..259f658ebe5 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h @@ -0,0 +1,37 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H +#define TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H + +#include "TrigOutputHandling/HLTResultMT.h" +#include "AthenaBaseComps/AthAlgTool.h" +#include "StoreGate/WriteHandle.h" + +/** @class HLTResultMTMaker + * @brief Tool to create the HLTResultMT at the end of each event + **/ +class HLTResultMTMaker : public AthAlgTool { +public: + /// Standard constructor + HLTResultMTMaker(const std::string& type, const std::string& name, const IInterface* parent); + /// Standard destructor + virtual ~HLTResultMTMaker(); + + // ------------------------- IStateful methods ----------------------------- + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; + + // ------------------------- Specific methods of this tool ----------------- + /// Builds the HLTResultMT and records it in the event store + StatusCode makeResult(const EventContext& eventContext) const; + /// Return name of the HLTResultMT + const std::string& resultName() const {return m_hltResultWHKey.key();} + +private: + /// StoreGate key for the HLTResultMT + SG::WriteHandleKey<HLTResultMT> m_hltResultWHKey; +}; + +#endif // TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h index b6c498b48ce..130d899f797 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h @@ -5,7 +5,7 @@ #define TRIGOUTPUTHANDLING_HLTRESULTMTMAKERTOOL_H #include "GaudiKernel/IAlgTool.h" -#include "TrigSteeringEvent/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMT.h" /** * @class HLTResultMTMakerTool * @brief @@ -14,7 +14,7 @@ class HLTResultMTMakerTool : virtual public IAlgTool { public: DeclareInterfaceID(HLTResultMTMakerTool, 1, 0); - virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const = 0; + virtual StatusCode fill( HLTResultMT& resultToFill ) const = 0; virtual ~HLTResultMTMakerTool() override {} }; diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h index 79ff3293cdf..e55c7e6a916 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h @@ -19,7 +19,7 @@ public: TriggerBitsMakerTool(const std::string& type, const std::string& name, const IInterface* parent); virtual ~TriggerBitsMakerTool() override; - virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLTResultMT& resultToFill ) const override; StatusCode fill( std::vector<uint32_t>& place ) const; virtual StatusCode initialize() override; diff --git a/Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx similarity index 72% rename from Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx rename to Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx index cb2d5ea418f..62d20c1836a 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx @@ -2,12 +2,12 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#include "TrigSteeringEvent/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMT.h" // ============================================================================= // Standard constructor // ============================================================================= -HLT::HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, +HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, std::vector<uint32_t> hltBits, std::unordered_map<uint16_t, std::vector<uint32_t> > data, std::vector<uint32_t> status) @@ -19,7 +19,7 @@ HLT::HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags // ============================================================================= // Copy constructor // ============================================================================= -HLT::HLTResultMT::HLTResultMT(const HLT::HLTResultMT& other) +HLTResultMT::HLTResultMT(const HLTResultMT& other) : m_streamTags(other.m_streamTags), m_hltBits(other.m_hltBits), m_data(other.m_data), @@ -28,41 +28,42 @@ HLT::HLTResultMT::HLTResultMT(const HLT::HLTResultMT& other) // ============================================================================= // Standard destructor // ============================================================================= -HLT::HLTResultMT::~HLTResultMT() {} +HLTResultMT::~HLTResultMT() {} // ============================================================================= // Getter/setter methods for stream tags // ============================================================================= -const std::vector<eformat::helper::StreamTag>& HLT::HLTResultMT::getStreamTags() const { +const std::vector<eformat::helper::StreamTag>& HLTResultMT::getStreamTags() const { return m_streamTags; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags) { +void HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags) { // copy assignment m_streamTags = streamTags; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { +void HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { + //TODO: handle duplicates m_streamTags.push_back(streamTag); } // ============================================================================= // Getter/setter methods for trigger bits // ============================================================================= -const std::vector<uint32_t>& HLT::HLTResultMT::getHltBits() const { +const std::vector<uint32_t>& HLTResultMT::getHltBits() const { return m_hltBits; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::setHltBits(const std::vector<uint32_t>& bits) { +void HLTResultMT::setHltBits(const std::vector<uint32_t>& bits) { // copy assignment m_hltBits = bits; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::addHltBitsWord(const uint32_t& word) { +void HLTResultMT::addHltBitsWord(const uint32_t& word) { m_hltBits.push_back(word); } @@ -70,24 +71,24 @@ void HLT::HLTResultMT::addHltBitsWord(const uint32_t& word) { // Getter/setter methods for serialised data // ============================================================================= /// Serialised data getter -const std::unordered_map<uint16_t, std::vector<uint32_t> >& HLT::HLTResultMT::getSerialisedData() const { +const std::unordered_map<uint16_t, std::vector<uint32_t> >& HLTResultMT::getSerialisedData() const { return m_data; } // ----------------------------------------------------------------------------- -const std::vector<uint32_t>& HLT::HLTResultMT::getSerialisedData(uint16_t moduleId) const { +const std::vector<uint32_t>& HLTResultMT::getSerialisedData(uint16_t moduleId) const { // this can throw std::out_of_range - implement messaging (std::cerr or ATH_MSG_ERR) to avoid exception return m_data.at(moduleId); } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data) { +void HLTResultMT::setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data) { // copy assignment (WARNING, data may be large!) m_data = data; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data) { +void HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data) { if (m_data.find(moduleId)!=m_data.cend()) { // implement error printout and handling here !!! use either std::cerr or ATH_MSG_ERR } @@ -99,17 +100,17 @@ void HLT::HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vec // ============================================================================= // Getter/setter methods for status words // ============================================================================= -const std::vector<uint32_t>& HLT::HLTResultMT::getStatus() const { +const std::vector<uint32_t>& HLTResultMT::getStatus() const { return m_status; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::setStatus(const std::vector<uint32_t>& status) { +void HLTResultMT::setStatus(const std::vector<uint32_t>& status) { // copy assignment m_status = status; } // ----------------------------------------------------------------------------- -void HLT::HLTResultMT::addStatusWord(const uint32_t& word) { +void HLTResultMT::addStatusWord(const uint32_t& word) { m_status.push_back(word); } diff --git a/Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx similarity index 82% rename from Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx rename to Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx index 842fac66630..c35ce6acfdb 100644 --- a/Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx @@ -2,12 +2,12 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#include "TrigSteering/ResultBuilderMT.h" +#include "TrigOutputHandling/HLTResultMTMaker.h" // ============================================================================= // Standard constructor // ============================================================================= -HLT::ResultBuilderMT::ResultBuilderMT(const std::string& type, const std::string& name, const IInterface* parent) +HLTResultMTMaker::HLTResultMTMaker(const std::string& type, const std::string& name, const IInterface* parent) : AthAlgTool(type, name, parent) { declareProperty("HLTResultWHKey", m_hltResultWHKey="HLTResult"); } @@ -15,12 +15,12 @@ HLT::ResultBuilderMT::ResultBuilderMT(const std::string& type, const std::string // ============================================================================= // Standard destructor // ============================================================================= -HLT::ResultBuilderMT::~ResultBuilderMT() {} +HLTResultMTMaker::~HLTResultMTMaker() {} // ============================================================================= // Implementation of IStateful::initialize // ============================================================================= -StatusCode HLT::ResultBuilderMT::initialize() { +StatusCode HLTResultMTMaker::initialize() { ATH_MSG_VERBOSE("start of " << __FUNCTION__); ATH_CHECK(m_hltResultWHKey.initialize()); ATH_MSG_VERBOSE("end of " << __FUNCTION__); @@ -30,7 +30,7 @@ StatusCode HLT::ResultBuilderMT::initialize() { // ============================================================================= // Implementation of IStateful::finalize // ============================================================================= -StatusCode HLT::ResultBuilderMT::finalize() { +StatusCode HLTResultMTMaker::finalize() { ATH_MSG_VERBOSE("start of " << __FUNCTION__); ATH_MSG_VERBOSE("end of " << __FUNCTION__); return StatusCode::SUCCESS; @@ -39,10 +39,10 @@ StatusCode HLT::ResultBuilderMT::finalize() { // ============================================================================= // The main method of the tool // ============================================================================= -StatusCode HLT::ResultBuilderMT::buildResult(const EventContext& eventContext) const { +StatusCode HLTResultMTMaker::makeResult(const EventContext& eventContext) const { ATH_MSG_VERBOSE("start of " << __FUNCTION__); auto hltResult = SG::makeHandle(m_hltResultWHKey,eventContext); - ATH_CHECK( hltResult.record(std::make_unique<HLT::HLTResultMT>()) ); + ATH_CHECK( hltResult.record(std::make_unique<HLTResultMT>()) ); ATH_MSG_DEBUG("Recorded HLTResultMT with key " << m_hltResultWHKey.key()); // Dummy data for testing diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx index d67dfee3f06..19df7f2ceed 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx @@ -21,7 +21,7 @@ StatusCode HLTResultMTMakerAlg::finalize() { StatusCode HLTResultMTMakerAlg::execute_r(const EventContext& context) const { using namespace Monitored; - auto hltResult = std::make_unique<HLT::HLTResultMT>(); + auto hltResult = std::make_unique<HLTResultMT>(); auto time = MonitoredTimer::declare( "TIME_build" ); for ( auto& maker: m_makerTools ) { diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h index d79ed5b752c..f3189bf3162 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h @@ -27,7 +27,7 @@ public: virtual StatusCode finalize() override; private: - SG::WriteHandleKey<HLT::HLTResultMT> m_resultKey { this, "ResultKey", "HLTResultMT", "Key of the output object" }; + SG::WriteHandleKey<HLTResultMT> m_resultKey { this, "ResultKey", "HLTResultMT", "Key of the output object" }; ToolHandleArray<HLTResultMTMakerTool> m_makerTools{ this, "MakerTools", {}, "set of tools that fill content of the HLTResultMT" }; ToolHandle<GenericMonitoringTool> m_monTool { this, "MonTool", "", "Monitor" }; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx index 3096820e152..db95faf09c0 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx @@ -28,7 +28,7 @@ StatusCode StreamTagMakerTool::finalize() { } -StatusCode StreamTagMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { +StatusCode StreamTagMakerTool::fill( HLTResultMT& resultToFill ) const { // obtain chain decisions, auto chainsHandle = SG::makeHandle( m_finalChainDecisions ); diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h index d3e42b474bb..0df75321617 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h @@ -21,7 +21,7 @@ public: StreamTagMakerTool(const std::string& type, const std::string& name, const IInterface* parent); virtual ~StreamTagMakerTool() override; - virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLTResultMT& resultToFill ) const override; virtual StatusCode initialize() override; virtual StatusCode finalize() override; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx index 9be7e6e957d..470df48178b 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx @@ -23,7 +23,7 @@ StatusCode TriggerBitsMakerTool::initialize() { } -StatusCode TriggerBitsMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { +StatusCode TriggerBitsMakerTool::fill( HLTResultMT& resultToFill ) const { std::vector<uint32_t> bits; ATH_CHECK( fill( bits ) ); resultToFill.setHltBits( bits ); diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx index b4d7ed18fb6..b684f3a2fec 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx @@ -82,7 +82,7 @@ StatusCode TriggerEDMSerialiserTool::fillPayload( void* data, size_t sz, std::ve } -StatusCode TriggerEDMSerialiserTool::fill( HLT::HLTResultMT& resultToFill ) const { +StatusCode TriggerEDMSerialiserTool::fill( HLTResultMT& resultToFill ) const { for ( const Address& address: m_toSerialize ) { diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h index f1ce285a638..39adf3fa02f 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h @@ -32,7 +32,7 @@ class TriggerEDMSerialiserTool: public extends<AthAlgTool, HLTResultMTMakerTool> const IInterface* parent ); virtual ~TriggerEDMSerialiserTool(); - virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLTResultMT& resultToFill ) const override; virtual StatusCode initialize() override; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx index 016c5d993f9..19bdde80c86 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx @@ -1,5 +1,6 @@ #include "../HLTEDMCreator.h" #include "../StreamTagMakerTool.h" +#include "TrigOutputHandling/HLTResultMTMaker.h" #include "../HLTResultMTMakerAlg.h" #include "../DecisionSummaryMakerAlg.h" #include "TrigOutputHandling/TriggerBitsMakerTool.h" @@ -7,6 +8,7 @@ DECLARE_COMPONENT( HLTEDMCreator ) +DECLARE_COMPONENT( HLTResultMTMaker ) DECLARE_COMPONENT( HLTResultMTMakerAlg ) DECLARE_COMPONENT( StreamTagMakerTool ) DECLARE_COMPONENT( DecisionSummaryMakerAlg ) diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h deleted file mode 100644 index 8a475954210..00000000000 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef TRIGSTEERING_RESULTBUILDERMT_H -#define TRIGSTEERING_RESULTBUILDERMT_H - -#include "TrigSteeringEvent/HLTResultMT.h" -#include "AthenaBaseComps/AthAlgTool.h" -#include "StoreGate/WriteHandle.h" - -namespace HLT { - /** @class ResultBuilderMT - * @brief Tool to create the HLTResultMT at the end of each event - **/ - class ResultBuilderMT : public AthAlgTool { - public: - /// Standard constructor - ResultBuilderMT(const std::string& type, const std::string& name, const IInterface* parent); - /// Standard destructor - virtual ~ResultBuilderMT(); - - // ------------------------- IStateful methods ----------------------------- - virtual StatusCode initialize() override; - virtual StatusCode finalize() override; - - // ------------------------- Specific methods of this tool ----------------- - /// Builds the HLTResultMT and records it in the event store - StatusCode buildResult(const EventContext& eventContext) const; - /// Return name of the HLTResultMT - const std::string& resultName() const {return m_hltResultWHKey.key();} - - private: - /// StoreGate key for the HLTResultMT - SG::WriteHandleKey<HLT::HLTResultMT> m_hltResultWHKey; - }; -} // namespace HLT - -#endif // TRIGSTEERING_RESULTBUILDERMT_H diff --git a/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx b/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx index 39968609759..1a4885a3b34 100644 --- a/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx @@ -6,7 +6,6 @@ #include "TrigSteering/LoopbackConverterFromPersistency.h" #include "TrigSteering/Lvl2ConverterFromPersistency.h" #include "TrigSteering/ResultBuilder.h" -#include "TrigSteering/ResultBuilderMT.h" #include "TrigSteering/RandomScaler.h" //#include "TrigSteering/PeriodicScaler.h" #include "TrigSteering/ScalerSvc.h" @@ -27,7 +26,6 @@ DECLARE_COMPONENT( HLT::TrigSteer ) DECLARE_COMPONENT( HLT::ScalerSvc ) DECLARE_COMPONENT( HLT::ResultBuilder ) -DECLARE_COMPONENT( HLT::ResultBuilderMT ) DECLARE_COMPONENT( HLT::RandomScaler ) DECLARE_COMPONENT( HLT::Lvl1ResultAccessTool ) DECLARE_COMPONENT( HLT::HLTResultAccessTool ) -- GitLab From 69f08f09753ba24147877cbb86ba1c62574782dc Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Tue, 30 Oct 2018 13:56:15 +0100 Subject: [PATCH 016/209] Move HLT result making from alg to tool Move the functionality from HLTResultMTMakerAlg to HLTResultMTMaker and make the alg only call the tool. Adjust the job options accordingly. --- .../share/TrigServicesEventLoopMgr.py | 20 ++++++++++ .../TrigOutputHandling/HLTResultMTMaker.h | 12 +++++- .../src/HLTResultMTMaker.cxx | 40 +++++++++++-------- .../src/HLTResultMTMakerAlg.cxx | 35 ++-------------- .../src/HLTResultMTMakerAlg.h | 15 ++----- .../TrigUpgradeTest/share/egamma.withViews.py | 8 ++-- 6 files changed, 68 insertions(+), 62 deletions(-) diff --git a/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py b/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py index 5c35f23b170..4ee0949303c 100644 --- a/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py +++ b/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py @@ -146,6 +146,25 @@ if not hasattr(svcMgr, 'AthenaSealSvc'): svcMgr += AthenaServicesConf.AthenaSealSvc() theApp.CreateSvc += [svcMgr.AthenaSealSvc.getFullJobOptName()] +# ============================================================================== +# HLT result monitoring +# ============================================================================== +from TrigOutputHandling.TrigOutputHandlingConf import HLTResultMTMaker +hltResultMaker = HLTResultMTMaker() + +from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram +hltResultMaker.MonTool = GenericMonitoringTool("MonOfHLTResultMTtest") +hltResultMaker.MonTool.HistPath = "OutputMonitoring" +hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPERT', type='TH1F', title='Time of result construction in;[micro seccond]', + xbins=100, xmin=0, xmax=1000 ), + defineHistogram( 'nstreams', path='EXPERT', type='TH1F', title='number of streams', + xbins=60, xmin=0, xmax=60 ), + defineHistogram( 'nfrags', path='EXPERT', type='TH1F', title='number of HLT results', + xbins=10, xmin=0, xmax=10 ), + defineHistogram( 'sizeMain', path='EXPERT', type='TH1F', title='Main (physics) HLT Result size;4B words', + xbins=100, xmin=-1, xmax=999 ) ] # 1000 k span + + # ============================================================================== # Message format # ============================================================================== @@ -163,6 +182,7 @@ HltEventLoopMgr.WhiteboardSvc = "EventDataSvc" HltEventLoopMgr.SchedulerSvc = AlgScheduler.getScheduler().getName() HltEventLoopMgr.EvtSel = evtSel HltEventLoopMgr.OutputCnvSvc = outputCnvSvc +HltEventLoopMgr.ResultMaker = hltResultMaker # configure here Level-1 CTP ROB identifier which is used in HLT diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h index 259f658ebe5..a74339c4314 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h @@ -6,7 +6,10 @@ #define TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H #include "TrigOutputHandling/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMTMakerTool.h" + #include "AthenaBaseComps/AthAlgTool.h" +#include "AthenaMonitoring/GenericMonitoringTool.h" #include "StoreGate/WriteHandle.h" /** @class HLTResultMTMaker @@ -31,7 +34,14 @@ public: private: /// StoreGate key for the HLTResultMT - SG::WriteHandleKey<HLTResultMT> m_hltResultWHKey; + SG::WriteHandleKey<HLTResultMT> m_hltResultWHKey {this, "HLTResultWHKey", "HLTResultMT", + "Key of the output HLTResultMT object"}; + /// Tools filling the HLTResultMT object + ToolHandleArray<HLTResultMTMakerTool> m_makerTools {this, "MakerTools", {}, + "Set of tools that fill content of the HLTResultMT"}; + /// Monitoring tool + ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "", + "Monitoring tool"}; }; #endif // TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx index c35ce6acfdb..64b5d3547a9 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx @@ -3,14 +3,13 @@ */ #include "TrigOutputHandling/HLTResultMTMaker.h" +#include "AthenaMonitoring/MonitoredScope.h" // ============================================================================= // Standard constructor // ============================================================================= HLTResultMTMaker::HLTResultMTMaker(const std::string& type, const std::string& name, const IInterface* parent) - : AthAlgTool(type, name, parent) { - declareProperty("HLTResultWHKey", m_hltResultWHKey="HLTResult"); -} + : AthAlgTool(type, name, parent) {} // ============================================================================= // Standard destructor @@ -21,9 +20,8 @@ HLTResultMTMaker::~HLTResultMTMaker() {} // Implementation of IStateful::initialize // ============================================================================= StatusCode HLTResultMTMaker::initialize() { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); ATH_CHECK(m_hltResultWHKey.initialize()); - ATH_MSG_VERBOSE("end of " << __FUNCTION__); + ATH_CHECK(m_monTool.retrieve()); return StatusCode::SUCCESS; } @@ -31,8 +29,7 @@ StatusCode HLTResultMTMaker::initialize() { // Implementation of IStateful::finalize // ============================================================================= StatusCode HLTResultMTMaker::finalize() { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); - ATH_MSG_VERBOSE("end of " << __FUNCTION__); + ATH_CHECK(m_monTool.release()); return StatusCode::SUCCESS; } @@ -40,19 +37,30 @@ StatusCode HLTResultMTMaker::finalize() { // The main method of the tool // ============================================================================= StatusCode HLTResultMTMaker::makeResult(const EventContext& eventContext) const { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); + + // Create and record the HLTResultMT object auto hltResult = SG::makeHandle(m_hltResultWHKey,eventContext); ATH_CHECK( hltResult.record(std::make_unique<HLTResultMT>()) ); ATH_MSG_DEBUG("Recorded HLTResultMT with key " << m_hltResultWHKey.key()); - // Dummy data for testing - hltResult->addStreamTag({"DummyStreamTag1",eformat::TagType::PHYSICS_TAG,true}); - hltResult->addStreamTag({"DummyStreamTag2",eformat::TagType::CALIBRATION_TAG,true}); - hltResult->addHltBitsWord(0x00000002); - hltResult->addHltBitsWord(0x00000020); - hltResult->addSerialisedData(0,{0x01234567,0x89ABCDEF}); - hltResult->addSerialisedData(5,{0xFEDCBA98,0x76543210}); + // Fill the object using the result maker tools + using namespace Monitored; + auto time = MonitoredTimer::declare("TIME_build" ); + for (auto& maker: m_makerTools) { + ATH_CHECK(maker->fill(*hltResult)); + } + time.stop(); + + // Fill monitoring histograms + auto nstreams = MonitoredScalar::declare("nstreams", hltResult->getStreamTags().size()); + auto bitWords = MonitoredScalar::declare("bitWords", hltResult->getHltBits().size()); + auto nfrags = MonitoredScalar::declare("nfrags", hltResult->getSerialisedData().size()); + auto sizeMain = MonitoredScalar::declare("sizeMain", -1.); + auto iter = hltResult->getSerialisedData().find(0); // this is the main fragment of the HLT result + if (iter != hltResult->getSerialisedData().end()) + sizeMain = double(iter->second.size()*sizeof(uint32_t))/1024; + + MonitoredScope::declare(m_monTool, time, nstreams, nfrags, sizeMain, bitWords); - ATH_MSG_VERBOSE("end of " << __FUNCTION__); return StatusCode::SUCCESS; } diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx index 19df7f2ceed..f73e203cec8 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx @@ -1,7 +1,7 @@ /* Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#include "AthenaMonitoring/MonitoredScope.h" + #include "HLTResultMTMakerAlg.h" HLTResultMTMakerAlg::HLTResultMTMakerAlg(const std::string& name, ISvcLocator* pSvcLocator) : @@ -10,42 +10,15 @@ HLTResultMTMakerAlg::HLTResultMTMakerAlg(const std::string& name, ISvcLocator* p HLTResultMTMakerAlg::~HLTResultMTMakerAlg() {} StatusCode HLTResultMTMakerAlg::initialize() { - ATH_CHECK( m_resultKey.initialize() ); - ATH_CHECK( m_monTool.retrieve() ); + ATH_CHECK( m_resultMaker.retrieve() ); return StatusCode::SUCCESS; } StatusCode HLTResultMTMakerAlg::finalize() { + ATH_CHECK( m_resultMaker.release() ); return StatusCode::SUCCESS; } StatusCode HLTResultMTMakerAlg::execute_r(const EventContext& context) const { - using namespace Monitored; - auto hltResult = std::make_unique<HLTResultMT>(); - - auto time = MonitoredTimer::declare( "TIME_build" ); - for ( auto& maker: m_makerTools ) { - ATH_CHECK( maker->fill( *hltResult ) ); - } - - - time.stop(); - // // monitoring - - - auto nstreams = MonitoredScalar::declare( "nstreams", hltResult->getStreamTags().size() ); - auto nfrags = MonitoredScalar::declare( "nfrags", hltResult->getSerialisedData().size() ); - auto sizeMain = MonitoredScalar::declare( "sizeMain", -1. ); - auto iter = hltResult->getSerialisedData().find( 0 ); // this is the main fragment of the HLT result - if ( iter != hltResult->getSerialisedData().end() ) - sizeMain = double(iter->second.size()*sizeof(uint32_t))/1024; - - auto bitWords = MonitoredScalar::declare( "bitWords", hltResult->getHltBits().size() ); - MonitoredScope::declare( m_monTool, time, nstreams, nfrags, sizeMain, bitWords ); - - - auto hltResultHandle = SG::makeHandle( m_resultKey, context ); - ATH_CHECK( hltResultHandle.record( std::move( hltResult ) ) ); - return StatusCode::SUCCESS; + return m_resultMaker->makeResult(context); } - diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h index f3189bf3162..3a53f49c353 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h @@ -4,18 +4,13 @@ #ifndef TRIGOUTPUTHANDLING_HLTRESULMTMAKERALG_H #define TRIGOUTPUTHANDLING_HLTRESULMTMAKERALG_H -#include <string> +#include "TrigOutputHandling/HLTResultMTMaker.h" #include "AthenaBaseComps/AthReentrantAlgorithm.h" -#include "AthenaMonitoring/GenericMonitoringTool.h" - -#include "TrigOutputHandling/HLTResultMTMakerTool.h" - - /** * @class HLTResultMTMakerAlg - * @brief creates HLTResult and calls tools to fill the content, - * this is offline tester alg as notmally the same operation will be performed by HLTMPPU component + * @brief Simply calls the result maker tool to create HLTResultMT. The algorithm is meant to be used only offline. + * Online, the result maker is called directly by the event loop manager. **/ class HLTResultMTMakerAlg : public AthReentrantAlgorithm { public: @@ -27,9 +22,7 @@ public: virtual StatusCode finalize() override; private: - SG::WriteHandleKey<HLTResultMT> m_resultKey { this, "ResultKey", "HLTResultMT", "Key of the output object" }; - ToolHandleArray<HLTResultMTMakerTool> m_makerTools{ this, "MakerTools", {}, "set of tools that fill content of the HLTResultMT" }; - ToolHandle<GenericMonitoringTool> m_monTool { this, "MonTool", "", "Monitor" }; + ToolHandle<HLTResultMTMaker> m_resultMaker { this, "ResultMaker", "HLTResultMTMaker" }; }; diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py index f081b55be0e..a74807ac111 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py @@ -334,7 +334,7 @@ StreamESD.ItemList += [ "ROIB::RoIBResult#*" ] print "ESD file content " print StreamESD.ItemList -from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg, HLTResultMTMakerAlg, StreamTagMakerTool, TriggerBitsMakerTool, TriggerEDMSerialiserTool +from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg, HLTResultMTMakerAlg, HLTResultMTMaker, StreamTagMakerTool, TriggerBitsMakerTool, TriggerEDMSerialiserTool summMaker = DecisionSummaryMakerAlg() summMaker.FinalDecisionKeys = [ theElectronHypo.HypoOutputDecisions ] summMaker.FinalStepDecisions = dict( [ ( tool.getName(), theElectronHypo.HypoOutputDecisions ) for tool in theElectronHypo.HypoTools ] ) @@ -361,7 +361,7 @@ bitsmaker.ChainDecisions = "HLTFinalDecisions" bitsmaker.ChainToBit = dict( [ (chain, 10*num) for num,chain in enumerate(testChains) ] ) bitsmaker.OutputLevel = DEBUG -hltResultMaker = HLTResultMTMakerAlg() +hltResultMaker = HLTResultMTMaker() hltResultMaker.MakerTools = [ stmaker, bitsmaker, serialiser ] hltResultMaker.OutputLevel = DEBUG @@ -377,6 +377,8 @@ hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPER defineHistogram( 'sizeMain', path='EXPERT', type='TH1F', title='Main (physics) HLT Result size;4B words', xbins=100, xmin=-1, xmax=999 ) ] # 1000 k span +hltResultMakerAlg = HLTResultMTMakerAlg() +hltResultMakerAlg.ResultMaker = hltResultMaker @@ -384,7 +386,7 @@ hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPER ################################################################################ # assemble top list of algorithms -hltTop = seqOR( "hltTop", [ steps, summMaker, mon, hltResultMaker, summary, StreamESD ] ) +hltTop = seqOR( "hltTop", [ steps, summMaker, mon, hltResultMakerAlg, summary, StreamESD ] ) topSequence += hltTop ###### Begin Cost Monitoring block -- GitLab From 097df635695edbdbe2d523e3591ea5df36d85d95 Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Tue, 30 Oct 2018 15:11:01 +0100 Subject: [PATCH 017/209] Handle duplicates in HLTResultMT::addStreamTag Compare type and name, and if the same tag exists, merge robs and dets. Remove extra duplicate handling from callees. --- .../TrigServices/src/HltEventLoopMgr.cxx | 9 +------- .../TrigOutputHandling/src/HLTResultMT.cxx | 21 +++++++++++++++++-- .../src/StreamTagMakerTool.cxx | 13 ++---------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx index 6838e7accb7..dc6aba94347 100644 --- a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx +++ b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx @@ -1140,16 +1140,9 @@ StatusCode HltEventLoopMgr::failedEvent(hltonl::PSCErrorCode errorCode, const Ev // Set error code and make sure the debug stream tag is added //---------------------------------------------------------------------------- hltResultWH->addStatusWord( static_cast<uint32_t>(errorCode) ); - bool debugStreamAdded = false; std::string debugStreamName = (errorCode==hltonl::PSCErrorCode::PROCESSING_FAILURE) ? m_algErrorDebugStreamName.value() : m_fwkErrorDebugStreamName.value(); - for (const auto& st : hltResultWH->getStreamTags()) { - if (st.name==debugStreamName && eformat::helper::string_to_tagtype(st.type)==eformat::DEBUG_TAG) { - debugStreamAdded = true; - break; - } - } - if (!debugStreamAdded) hltResultWH->addStreamTag({debugStreamName,eformat::DEBUG_TAG,true}); + hltResultWH->addStreamTag({debugStreamName,eformat::DEBUG_TAG,true}); //---------------------------------------------------------------------------- // Try to build and send the output diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx index 62d20c1836a..57bbb447cfd 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx @@ -3,6 +3,7 @@ */ #include "TrigOutputHandling/HLTResultMT.h" +#include <algorithm> // ============================================================================= // Standard constructor @@ -45,8 +46,24 @@ void HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTag>& s // ----------------------------------------------------------------------------- void HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { - //TODO: handle duplicates - m_streamTags.push_back(streamTag); + // Check if a stream tag with the same type and name is already in the result + auto compareTypeName = [&streamTag](const eformat::helper::StreamTag& existingStreamTag) { + return streamTag.type == existingStreamTag.type && streamTag.name == existingStreamTag.name; + }; + auto p = std::find_if(m_streamTags.begin(), m_streamTags.end(), compareTypeName); + + // In case of duplicate, merge ROBs and SubDets, otherwise just append the tag to the result + if (p != m_streamTags.end()) { + if (streamTag.obeys_lumiblock != p->obeys_lumiblock) { + // This shouldn't happen, but in case it does, true takes precedence + p->obeys_lumiblock = true; + } + p->robs.insert(streamTag.robs.begin(), streamTag.robs.end()); + p->dets.insert(streamTag.dets.begin(), streamTag.dets.end()); + } + else { + m_streamTags.push_back(streamTag); + } } // ============================================================================= diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx index db95faf09c0..22984736db6 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx @@ -32,8 +32,6 @@ StatusCode StreamTagMakerTool::fill( HLTResultMT& resultToFill ) const { // obtain chain decisions, auto chainsHandle = SG::makeHandle( m_finalChainDecisions ); - std::vector<eformat::helper::StreamTag> streams; - // for each accepted chain lookup the map of chainID -> ST for ( TrigCompositeUtils::DecisionID chain: TrigCompositeUtils::decisionIDs( chainsHandle->at( 0 )) ) { auto mappingIter = m_mapping.find( chain ); @@ -42,16 +40,9 @@ StatusCode StreamTagMakerTool::fill( HLTResultMT& resultToFill ) const { ATH_MSG_ERROR("Each chain has to have stream associated whereas the " << HLT::Identifier( chain ) << " does not" ); return StatusCode::FAILURE; } - streams.push_back( mappingIter->second ); // TODO assume nultiple streams per chain + resultToFill.addStreamTag( mappingIter->second ); // TODO assume multiple streams per chain } - // push back ST vector to HLTResultMT - // make sure ST vector contains only unique content - std::sort( streams.begin(), streams.end() ); - auto endUnique = std::unique( streams.begin(), streams.end() ); - streams.erase( endUnique, streams.end() ); - - resultToFill.setStreamTags( streams ); - ATH_MSG_DEBUG("Number of streams for event " << streams.size() ); + ATH_MSG_DEBUG("Number of streams for event " << resultToFill.getStreamTags().size() ); return StatusCode::SUCCESS; } -- GitLab From 9c14c246e51ec8a04ec6ebcaa4cbb6838bce17f9 Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Tue, 30 Oct 2018 18:25:45 +0100 Subject: [PATCH 018/209] move back HLTResultMT to TrigSteeringEvent also moving it back to the HLT namespace --- .../TrigServices/HltEventLoopMgr.h | 6 +- .../TrigServices/src/HltEventLoopMgr.cxx | 12 +-- .../TrigSteeringEvent/HLTResultMT.h | 77 +++++++++++++++++++ .../TrigSteeringEvent}/src/HLTResultMT.cxx | 40 +++++----- .../TrigHLTResultByteStream/CMakeLists.txt | 7 +- .../src/HLTResultMTByteStreamCnv.cxx | 6 +- .../TrigOutputHandling/HLTResultMT.h | 74 ------------------ .../TrigOutputHandling/HLTResultMTMaker.h | 6 +- .../TrigOutputHandling/HLTResultMTMakerTool.h | 4 +- .../TrigOutputHandling/TriggerBitsMakerTool.h | 2 +- .../src/HLTResultMTMaker.cxx | 2 +- .../src/StreamTagMakerTool.cxx | 2 +- .../src/StreamTagMakerTool.h | 2 +- .../src/TriggerBitsMakerTool.cxx | 2 +- .../src/TriggerEDMSerialiserTool.cxx | 2 +- .../src/TriggerEDMSerialiserTool.h | 2 +- 16 files changed, 125 insertions(+), 121 deletions(-) create mode 100644 Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h rename Trigger/{TrigSteer/TrigOutputHandling => TrigEvent/TrigSteeringEvent}/src/HLTResultMT.cxx (72%) delete mode 100644 Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h diff --git a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h index da3585348f9..dc1f8ba2fe9 100644 --- a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h +++ b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h @@ -37,7 +37,6 @@ class CondAttrListCollection; class EventContext; class EventInfo; -class HLTResultMT; class HLTResultMTMaker; class IAlgExecStateSvc; class IAlgorithm; @@ -53,6 +52,9 @@ class TrigCOOLUpdateHelper; namespace coral { class AttributeList; } +namespace HLT { + class HLTResultMT; +} /** @class HltEventLoopMgr * @brief AthenaMT event loop manager for running HLT online @@ -231,7 +233,7 @@ private: /// StoreGate key for reading EventInfo SG::ReadHandleKey<EventInfo> m_eventInfoRHKey; /// StoreGate key for reading the HLT result - SG::ReadHandleKey<HLTResultMT> m_hltResultRHKey; + SG::ReadHandleKey<HLT::HLTResultMT> m_hltResultRHKey; // ------------------------- Other private members --------------------------- /// typedef used for detector mask fields diff --git a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx index dc6aba94347..28353979f29 100644 --- a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx +++ b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx @@ -6,9 +6,9 @@ #include "TrigServices/HltEventLoopMgr.h" #include "TrigCOOLUpdateHelper.h" #include "TrigKernel/HltExceptions.h" -#include "TrigSORFromPtreeHelper.h" -#include "TrigOutputHandling/HLTResultMT.h" #include "TrigOutputHandling/HLTResultMTMaker.h" +#include "TrigSORFromPtreeHelper.h" +#include "TrigSteeringEvent/HLTResultMT.h" // Athena includes #include "AthenaKernel/EventContextClid.h" @@ -1118,13 +1118,13 @@ StatusCode HltEventLoopMgr::failedEvent(hltonl::PSCErrorCode errorCode, const Ev m_hltResultMaker->makeResult(eventContext).ignore(); } - std::unique_ptr<HLTResultMT> hltResultPtr; + std::unique_ptr<HLT::HLTResultMT> hltResultPtr; if (!hltResultRH.isValid()) - hltResultPtr = std::make_unique<HLTResultMT>(); + hltResultPtr = std::make_unique<HLT::HLTResultMT>(); else - hltResultPtr = std::make_unique<HLTResultMT>(*hltResultRH); + hltResultPtr = std::make_unique<HLT::HLTResultMT>(*hltResultRH); - SG::WriteHandleKey<HLTResultMT> hltResultWHK(m_hltResultRHKey.key()+"_FailedEvent"); + SG::WriteHandleKey<HLT::HLTResultMT> hltResultWHK(m_hltResultRHKey.key()+"_FailedEvent"); hltResultWHK.initialize(); auto hltResultWH = SG::makeHandle(hltResultWHK,eventContext); if (hltResultWH.record(std::move(hltResultPtr)).isFailure()) { diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h new file mode 100644 index 00000000000..a38fa409487 --- /dev/null +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/HLTResultMT.h @@ -0,0 +1,77 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGSTEERINGEVENT_HLTResultMT_H +#define TRIGSTEERINGEVENT_HLTResultMT_H + +#include "AthenaKernel/CLASS_DEF.h" +#include "eformat/StreamTag.h" +#include <vector> +#include <unordered_map> + +namespace HLT { + + /** @class HLTResultMT + * @brief A container class for data required to build online output from HLT. + * + * It is not intended to modify the stored data, but may perform extra checks and debug printouts in the + * getter/setter methods. + **/ + class HLTResultMT { + public: + /// Standard constructor + HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags = {}, + std::vector<uint32_t> hltBits = {}, + std::unordered_map<uint16_t, std::vector<uint32_t> > data = {}, + std::vector<uint32_t> status = {}); + /// Copy constructor + HLTResultMT(const HLTResultMT& other); + /// Standard destructor + virtual ~HLTResultMT(); + + /// Stream tags getter + const std::vector<eformat::helper::StreamTag>& getStreamTags() const; + /// Stream tags setter + void setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags); + /// Append a stream tag + void addStreamTag(const eformat::helper::StreamTag& streamTag); + + /// HLT bits getter + const std::vector<uint32_t>& getHltBits() const; + /// HLT bits setter + void setHltBits(const std::vector<uint32_t>& bits); + /// Append a word with HLT bits + void addHltBitsWord(const uint32_t& word); + + /// Serialised data getter + const std::unordered_map<uint16_t, std::vector<uint32_t> >& getSerialisedData() const; + /// Serialised data getter for a given module ID + const std::vector<uint32_t>& getSerialisedData(uint16_t moduleId) const; + /// Serialised data setter + void setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data); + /// Append serialised data for a given module ID + void addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data); + + /// Status words getter + const std::vector<uint32_t>& getStatus() const; + /// Status words setter + void setStatus(const std::vector<uint32_t>& status); + /// Append a status word + void addStatusWord(const uint32_t& word); + + private: + /// Stream tags of the event + std::vector<eformat::helper::StreamTag> m_streamTags; + /// Serialised HLT bits (flagging which chains passed) + std::vector<uint32_t> m_hltBits; + /// Serialised result (ROBFragment payload) for each module ID (0 for full result, >0 for data scouting) + std::unordered_map<uint16_t, std::vector<uint32_t> > m_data; + /// Event status words (used to indicate processing errors) + std::vector<uint32_t> m_status; + }; +} // namespace HLT + +CLASS_DEF(HLT::HLTResultMT, 172156324, 1) + +#endif // TRIGSTEERINGEVENT_HLTResultMT_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx b/Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx similarity index 72% rename from Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx rename to Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx index 57bbb447cfd..424ed83f209 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMT.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx @@ -2,16 +2,16 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#include "TrigOutputHandling/HLTResultMT.h" +#include "TrigSteeringEvent/HLTResultMT.h" #include <algorithm> // ============================================================================= // Standard constructor // ============================================================================= -HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, - std::vector<uint32_t> hltBits, - std::unordered_map<uint16_t, std::vector<uint32_t> > data, - std::vector<uint32_t> status) +HLT::HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, + std::vector<uint32_t> hltBits, + std::unordered_map<uint16_t, std::vector<uint32_t> > data, + std::vector<uint32_t> status) : m_streamTags(streamTags), m_hltBits(hltBits), m_data(data), @@ -20,7 +20,7 @@ HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, // ============================================================================= // Copy constructor // ============================================================================= -HLTResultMT::HLTResultMT(const HLTResultMT& other) +HLT::HLTResultMT::HLTResultMT(const HLT::HLTResultMT& other) : m_streamTags(other.m_streamTags), m_hltBits(other.m_hltBits), m_data(other.m_data), @@ -29,23 +29,23 @@ HLTResultMT::HLTResultMT(const HLTResultMT& other) // ============================================================================= // Standard destructor // ============================================================================= -HLTResultMT::~HLTResultMT() {} +HLT::HLTResultMT::~HLTResultMT() {} // ============================================================================= // Getter/setter methods for stream tags // ============================================================================= -const std::vector<eformat::helper::StreamTag>& HLTResultMT::getStreamTags() const { +const std::vector<eformat::helper::StreamTag>& HLT::HLTResultMT::getStreamTags() const { return m_streamTags; } // ----------------------------------------------------------------------------- -void HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags) { +void HLT::HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags) { // copy assignment m_streamTags = streamTags; } // ----------------------------------------------------------------------------- -void HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { +void HLT::HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { // Check if a stream tag with the same type and name is already in the result auto compareTypeName = [&streamTag](const eformat::helper::StreamTag& existingStreamTag) { return streamTag.type == existingStreamTag.type && streamTag.name == existingStreamTag.name; @@ -69,18 +69,18 @@ void HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { // ============================================================================= // Getter/setter methods for trigger bits // ============================================================================= -const std::vector<uint32_t>& HLTResultMT::getHltBits() const { +const std::vector<uint32_t>& HLT::HLTResultMT::getHltBits() const { return m_hltBits; } // ----------------------------------------------------------------------------- -void HLTResultMT::setHltBits(const std::vector<uint32_t>& bits) { +void HLT::HLTResultMT::setHltBits(const std::vector<uint32_t>& bits) { // copy assignment m_hltBits = bits; } // ----------------------------------------------------------------------------- -void HLTResultMT::addHltBitsWord(const uint32_t& word) { +void HLT::HLTResultMT::addHltBitsWord(const uint32_t& word) { m_hltBits.push_back(word); } @@ -88,24 +88,24 @@ void HLTResultMT::addHltBitsWord(const uint32_t& word) { // Getter/setter methods for serialised data // ============================================================================= /// Serialised data getter -const std::unordered_map<uint16_t, std::vector<uint32_t> >& HLTResultMT::getSerialisedData() const { +const std::unordered_map<uint16_t, std::vector<uint32_t> >& HLT::HLTResultMT::getSerialisedData() const { return m_data; } // ----------------------------------------------------------------------------- -const std::vector<uint32_t>& HLTResultMT::getSerialisedData(uint16_t moduleId) const { +const std::vector<uint32_t>& HLT::HLTResultMT::getSerialisedData(uint16_t moduleId) const { // this can throw std::out_of_range - implement messaging (std::cerr or ATH_MSG_ERR) to avoid exception return m_data.at(moduleId); } // ----------------------------------------------------------------------------- -void HLTResultMT::setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data) { +void HLT::HLTResultMT::setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data) { // copy assignment (WARNING, data may be large!) m_data = data; } // ----------------------------------------------------------------------------- -void HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data) { +void HLT::HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data) { if (m_data.find(moduleId)!=m_data.cend()) { // implement error printout and handling here !!! use either std::cerr or ATH_MSG_ERR } @@ -117,17 +117,17 @@ void HLTResultMT::addSerialisedData(const uint16_t moduleId, const std::vector<u // ============================================================================= // Getter/setter methods for status words // ============================================================================= -const std::vector<uint32_t>& HLTResultMT::getStatus() const { +const std::vector<uint32_t>& HLT::HLTResultMT::getStatus() const { return m_status; } // ----------------------------------------------------------------------------- -void HLTResultMT::setStatus(const std::vector<uint32_t>& status) { +void HLT::HLTResultMT::setStatus(const std::vector<uint32_t>& status) { // copy assignment m_status = status; } // ----------------------------------------------------------------------------- -void HLTResultMT::addStatusWord(const uint32_t& word) { +void HLT::HLTResultMT::addStatusWord(const uint32_t& word) { m_status.push_back(word); } diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt b/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt index 9a0d90434ee..16fa4fe00d3 100644 --- a/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigHLTResultByteStream/CMakeLists.txt @@ -14,8 +14,7 @@ atlas_depends_on_subdirs( PUBLIC Event/ByteStreamCnvSvcBase Event/ByteStreamData GaudiKernel - Trigger/TrigEvent/TrigSteeringEvent - Trigger/TrigSteer/TrigOutputHandling ) + Trigger/TrigEvent/TrigSteeringEvent ) # External dependencies: find_package( tdaq-common COMPONENTS eformat_write ) @@ -25,10 +24,10 @@ atlas_add_library( TrigHLTResultByteStreamLib src/*.cxx PUBLIC_HEADERS TrigHLTResultByteStream INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools ByteStreamData GaudiKernel TrigSteeringEvent TrigOutputHandlingLib StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools ByteStreamData GaudiKernel TrigSteeringEvent StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test ) atlas_add_component( TrigHLTResultByteStream src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test GaudiKernel TrigSteeringEvent TrigOutputHandlingLib TrigHLTResultByteStreamLib ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthenaBaseComps SGTools StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test GaudiKernel TrigSteeringEvent TrigHLTResultByteStreamLib ) diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx index 029705ef332..146dd3a9146 100644 --- a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx +++ b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultMTByteStreamCnv.cxx @@ -4,7 +4,7 @@ // Trigger includes #include "TrigHLTResultByteStream/HLTResultMTByteStreamCnv.h" -#include "TrigOutputHandling/HLTResultMT.h" +#include "TrigSteeringEvent/HLTResultMT.h" // Athena includes #include "AthenaBaseComps/AthCheckMacros.h" @@ -74,7 +74,7 @@ StatusCode HLT::HLTResultMTByteStreamCnv::createRep(DataObject* pObj, IOpaqueAdd ATH_MSG_VERBOSE("start of " << __FUNCTION__); // Cast the DataObject to HLTResultMT - HLTResultMT* hltResult = nullptr; + HLT::HLTResultMT* hltResult = nullptr; bool castSuccessful = SG::fromStorable(pObj, hltResult); if (!castSuccessful || !hltResult) { ATH_MSG_ERROR("Failed to convert DataObject to HLTResultMT"); @@ -155,6 +155,6 @@ StatusCode HLT::HLTResultMTByteStreamCnv::createRep(DataObject* pObj, IOpaqueAdd // CLID // ============================================================================= const CLID& HLT::HLTResultMTByteStreamCnv::classID() { - return ClassID_traits<HLTResultMT>::ID(); + return ClassID_traits<HLT::HLTResultMT>::ID(); } diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h deleted file mode 100644 index cafaf6f4372..00000000000 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMT.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef TRIGOUTPUTHANDLING_HLTRESULTMT_H -#define TRIGOUTPUTHANDLING_HLTRESULTMT_H - -#include "AthenaKernel/CLASS_DEF.h" -#include "eformat/StreamTag.h" -#include <vector> -#include <unordered_map> - -/** @class HLTResultMT - * @brief A container class for data required to build online output from HLT. - * - * It is not intended to modify the stored data, but may perform extra checks and debug printouts in the - * getter/setter methods. - **/ -class HLTResultMT { -public: - /// Standard constructor - HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags = {}, - std::vector<uint32_t> hltBits = {}, - std::unordered_map<uint16_t, std::vector<uint32_t> > data = {}, - std::vector<uint32_t> status = {}); - /// Copy constructor - HLTResultMT(const HLTResultMT& other); - /// Standard destructor - virtual ~HLTResultMT(); - - /// Stream tags getter - const std::vector<eformat::helper::StreamTag>& getStreamTags() const; - /// Stream tags setter - void setStreamTags(const std::vector<eformat::helper::StreamTag>& streamTags); - /// Append a stream tag - void addStreamTag(const eformat::helper::StreamTag& streamTag); - - /// HLT bits getter - const std::vector<uint32_t>& getHltBits() const; - /// HLT bits setter - void setHltBits(const std::vector<uint32_t>& bits); - /// Append a word with HLT bits - void addHltBitsWord(const uint32_t& word); - - /// Serialised data getter - const std::unordered_map<uint16_t, std::vector<uint32_t> >& getSerialisedData() const; - /// Serialised data getter for a given module ID - const std::vector<uint32_t>& getSerialisedData(uint16_t moduleId) const; - /// Serialised data setter - void setSerialisedData(const std::unordered_map<uint16_t, std::vector<uint32_t> >& data); - /// Append serialised data for a given module ID - void addSerialisedData(const uint16_t moduleId, const std::vector<uint32_t>& data); - - /// Status words getter - const std::vector<uint32_t>& getStatus() const; - /// Status words setter - void setStatus(const std::vector<uint32_t>& status); - /// Append a status word - void addStatusWord(const uint32_t& word); - -private: - /// Stream tags of the event - std::vector<eformat::helper::StreamTag> m_streamTags; - /// Serialised HLT bits (flagging which chains passed) - std::vector<uint32_t> m_hltBits; - /// Serialised result (ROBFragment payload) for each module ID (0 for full result, >0 for data scouting) - std::unordered_map<uint16_t, std::vector<uint32_t> > m_data; - /// Event status words (used to indicate processing errors) - std::vector<uint32_t> m_status; -}; - -CLASS_DEF(HLTResultMT, 69657051, 1) - -#endif // TRIGOUTPUTHANDLING_HLTRESULTMT_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h index a74339c4314..8aba37ac695 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h @@ -5,7 +5,7 @@ #ifndef TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H #define TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H -#include "TrigOutputHandling/HLTResultMT.h" +#include "TrigSteeringEvent/HLTResultMT.h" #include "TrigOutputHandling/HLTResultMTMakerTool.h" #include "AthenaBaseComps/AthAlgTool.h" @@ -34,8 +34,8 @@ public: private: /// StoreGate key for the HLTResultMT - SG::WriteHandleKey<HLTResultMT> m_hltResultWHKey {this, "HLTResultWHKey", "HLTResultMT", - "Key of the output HLTResultMT object"}; + SG::WriteHandleKey<HLT::HLTResultMT> m_hltResultWHKey {this, "HLTResultWHKey", "HLTResultMT", + "Key of the output HLTResultMT object"}; /// Tools filling the HLTResultMT object ToolHandleArray<HLTResultMTMakerTool> m_makerTools {this, "MakerTools", {}, "Set of tools that fill content of the HLTResultMT"}; diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h index 130d899f797..b6c498b48ce 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMakerTool.h @@ -5,7 +5,7 @@ #define TRIGOUTPUTHANDLING_HLTRESULTMTMAKERTOOL_H #include "GaudiKernel/IAlgTool.h" -#include "TrigOutputHandling/HLTResultMT.h" +#include "TrigSteeringEvent/HLTResultMT.h" /** * @class HLTResultMTMakerTool * @brief @@ -14,7 +14,7 @@ class HLTResultMTMakerTool : virtual public IAlgTool { public: DeclareInterfaceID(HLTResultMTMakerTool, 1, 0); - virtual StatusCode fill( HLTResultMT& resultToFill ) const = 0; + virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const = 0; virtual ~HLTResultMTMakerTool() override {} }; diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h index e55c7e6a916..79ff3293cdf 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/TriggerBitsMakerTool.h @@ -19,7 +19,7 @@ public: TriggerBitsMakerTool(const std::string& type, const std::string& name, const IInterface* parent); virtual ~TriggerBitsMakerTool() override; - virtual StatusCode fill( HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; StatusCode fill( std::vector<uint32_t>& place ) const; virtual StatusCode initialize() override; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx index 64b5d3547a9..2c0811fd090 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx @@ -40,7 +40,7 @@ StatusCode HLTResultMTMaker::makeResult(const EventContext& eventContext) const // Create and record the HLTResultMT object auto hltResult = SG::makeHandle(m_hltResultWHKey,eventContext); - ATH_CHECK( hltResult.record(std::make_unique<HLTResultMT>()) ); + ATH_CHECK( hltResult.record(std::make_unique<HLT::HLTResultMT>()) ); ATH_MSG_DEBUG("Recorded HLTResultMT with key " << m_hltResultWHKey.key()); // Fill the object using the result maker tools diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx index 22984736db6..9227980a999 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx @@ -28,7 +28,7 @@ StatusCode StreamTagMakerTool::finalize() { } -StatusCode StreamTagMakerTool::fill( HLTResultMT& resultToFill ) const { +StatusCode StreamTagMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { // obtain chain decisions, auto chainsHandle = SG::makeHandle( m_finalChainDecisions ); diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h index 0df75321617..d3e42b474bb 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.h @@ -21,7 +21,7 @@ public: StreamTagMakerTool(const std::string& type, const std::string& name, const IInterface* parent); virtual ~StreamTagMakerTool() override; - virtual StatusCode fill( HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; virtual StatusCode initialize() override; virtual StatusCode finalize() override; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx index 470df48178b..9be7e6e957d 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerBitsMakerTool.cxx @@ -23,7 +23,7 @@ StatusCode TriggerBitsMakerTool::initialize() { } -StatusCode TriggerBitsMakerTool::fill( HLTResultMT& resultToFill ) const { +StatusCode TriggerBitsMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { std::vector<uint32_t> bits; ATH_CHECK( fill( bits ) ); resultToFill.setHltBits( bits ); diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx index b684f3a2fec..b4d7ed18fb6 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.cxx @@ -82,7 +82,7 @@ StatusCode TriggerEDMSerialiserTool::fillPayload( void* data, size_t sz, std::ve } -StatusCode TriggerEDMSerialiserTool::fill( HLTResultMT& resultToFill ) const { +StatusCode TriggerEDMSerialiserTool::fill( HLT::HLTResultMT& resultToFill ) const { for ( const Address& address: m_toSerialize ) { diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h index 39adf3fa02f..f1ce285a638 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMSerialiserTool.h @@ -32,7 +32,7 @@ class TriggerEDMSerialiserTool: public extends<AthAlgTool, HLTResultMTMakerTool> const IInterface* parent ); virtual ~TriggerEDMSerialiserTool(); - virtual StatusCode fill( HLTResultMT& resultToFill ) const override; + virtual StatusCode fill( HLT::HLTResultMT& resultToFill ) const override; virtual StatusCode initialize() override; -- GitLab From 5fc01db70e8a406604adc8d14878eca6d3a1d8ff Mon Sep 17 00:00:00 2001 From: ckato <ckato@cern.ch> Date: Tue, 30 Oct 2018 21:21:06 +0100 Subject: [PATCH 019/209] adding MuonMDT_CablingAlg after development --- .../MuonCablingData/MuonMDT_CablingMap.h | 3 + .../MuonMDT_Cabling/CMakeLists.txt | 9 +- .../MuonMDT_Cabling/MuonMDT_CablingAlg.h | 54 ++++ .../src/MuonMDT_CablingAlg.cxx | 301 ++++++++++++++++++ .../components/MuonMDT_Cabling_entries.cxx | 2 + 5 files changed, 366 insertions(+), 3 deletions(-) create mode 100644 MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h create mode 100644 MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h index 95f64ac450d..9aed3bc364c 100644 --- a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h +++ b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h @@ -124,6 +124,9 @@ class MuonMDT_CablingMap : public MdtMapBase<MdtSubdetectorMap> { }; +//#include "CLIDSvc/CLASS_DEF.h" CLASS_DEF( MuonMDT_CablingMap , 51038731 , 1 ) +#include "AthenaKernel/CondCont.h" +CLASS_DEF( CondCont<MuonMDT_CablingMap>, 34552845, 0 ) #endif diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt index cb08ff7105d..2957a3b18d3 100644 --- a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt @@ -18,18 +18,21 @@ atlas_depends_on_subdirs( PUBLIC Event/EventInfo Event/EventInfoMgt MuonSpectrometer/MuonCablings/MuonCablingData - MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface ) + MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface + MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondSvc + MuonSpectrometer/MuonConditions/MuonCondCabling/MDT_CondCabling + Tools/PathResolver ) # Component(s) in the package: atlas_add_library( MuonMDT_CablingLib src/*.cxx PUBLIC_HEADERS MuonMDT_Cabling LINK_LIBRARIES AthenaBaseComps AthenaKernel GaudiKernel StoreGateLib SGtests MuonIdHelpersLib - PRIVATE_LINK_LIBRARIES AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface ) + PRIVATE_LINK_LIBRARIES AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonCondSvc ) atlas_add_component( MuonMDT_Cabling src/components/*.cxx - LINK_LIBRARIES AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel MuonIdHelpersLib AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonMDT_CablingLib ) + LINK_LIBRARIES AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel MuonIdHelpersLib AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonMDT_CablingLib MuonCondSvc ) # Install files from the package: atlas_install_python_modules( python/*.py ) diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h new file mode 100644 index 00000000000..4e04aa0352b --- /dev/null +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h @@ -0,0 +1,54 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +/** + MuonMDT_CablingAlg reads raw condition data and writes derived condition data to the condition store +*/ + +#ifndef MUONMDT_CABLING_MUONMDT_CABLINGALG_H +#define MUONMDT_CABLING_MUONMDT_CABLINGALG_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/WriteCondHandleKey.h" +#include "GaudiKernel/ICondSvc.h" +#include "AthenaPoolUtilities/CondAttrListCollection.h" + +#include "GaudiKernel/AlgTool.h" +#include "MuonCondInterface/IMDTCablingDbTool.h" +#include "GaudiKernel/IChronoStatSvc.h" +#include "MuonCablingData/MuonMDT_CablingMap.h" +#include "AthenaKernel/IIOVDbSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "AthenaBaseComps/AthAlgTool.h" + +class Identifier; +class StoreGateSvc; +class MdtIdHelper; +class IIOVSvc; +class IIOVDbSvc; +class StatusCode; +class MuonMDT_CablingMap; + +class MuonMDT_CablingAlg: public AthAlgorithm { + + public: + + MuonMDT_CablingAlg (const std::string& name, ISvcLocator* pSvcLocator); + virtual ~MuonMDT_CablingAlg() = default; + virtual StatusCode initialize() override; + virtual StatusCode execute() override; + virtual StatusCode finalize() override; + + private: + + const MdtIdHelper* m_mdtIdHelper; + SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyMez; + SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyMap; + SG::WriteCondHandleKey<MuonMDT_CablingMap> m_writeKey{this, "WriteKey", "MuonMDT_CablingMap", "Key of output MDT cabling map"}; + ServiceHandle<ICondSvc> m_condSvc; + +}; + +#endif diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx new file mode 100644 index 00000000000..110c4f7e80e --- /dev/null +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx @@ -0,0 +1,301 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "MuonMDT_Cabling/MuonMDT_CablingAlg.h" + +#include "GaudiKernel/MsgStream.h" +#include "StoreGate/StoreGateSvc.h" +#include "SGTools/TransientAddress.h" +#include "CoralBase/Attribute.h" +#include "CoralBase/AttributeListSpecification.h" +#include "AthenaPoolUtilities/AthenaAttributeList.h" +#include "AthenaPoolUtilities/CondAttrListCollection.h" +#include "Identifier/IdentifierHash.h" +#include "MuonIdHelpers/MdtIdHelper.h" +#include "PathResolver/PathResolver.h" +#include <fstream> +#include <string> +#include <stdlib.h> +#include "MuonCondSvc/MdtStringUtils.h" +#include <map> +#include "Identifier/Identifier.h" + +MuonMDT_CablingAlg::MuonMDT_CablingAlg(const std::string& name, ISvcLocator* pSvcLocator) : + AthAlgorithm(name, pSvcLocator), + m_readKeyMez("/MDT/CABLING/MEZZANINE_SCHEMA"), + m_readKeyMap("/MDT/CABLING/MAP_SCHEMA"), + m_condSvc{"CondSvc", name} +{ + declareProperty("MezzanineFolders", m_readKeyMez); + declareProperty("MapFolders", m_readKeyMap); +} + +StatusCode MuonMDT_CablingAlg::initialize(){ + + ATH_MSG_DEBUG( "initialize " << name() ); + ATH_CHECK(m_condSvc.retrieve()); + ATH_CHECK(m_readKeyMez.initialize()); + ATH_CHECK(m_readKeyMap.initialize()); + ATH_CHECK(m_writeKey.initialize()); + if(m_condSvc->regHandle(this, m_writeKey).isFailure()) { + ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc"); + return StatusCode::FAILURE; + } + ATH_CHECK( detStore()->retrieve(m_mdtIdHelper, "MDTIDHELPER" ) ); + + return StatusCode::SUCCESS; +} + +StatusCode MuonMDT_CablingAlg::execute(){ + + ATH_MSG_DEBUG( "execute " << name() ); + + // Write Cond Handle + + SG::WriteCondHandle<MuonMDT_CablingMap> writeHandle{m_writeKey}; + if (writeHandle.isValid()) { + ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid." + << ". In theory this should not be called, but may happen" + << " if multiple concurrent events are being processed out of order."); + return StatusCode::SUCCESS; + } + std::unique_ptr<MuonMDT_CablingMap> writeCdo{std::make_unique<MuonMDT_CablingMap>()}; + + // Read Cond Handle + + SG::ReadCondHandle<CondAttrListCollection> readHandleMez{ m_readKeyMez }; + const CondAttrListCollection* readCdoMez{*readHandleMez}; + if(readCdoMez==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + EventIDRange rangeMez; + if ( !readHandleMez.range(rangeMez) ) { + ATH_MSG_ERROR("Failed to retrieve validity range for " << readHandleMez.key()); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("Size of CondAttrListCollection " << readHandleMez.fullKey() << " readCdoMez->size()= " << readCdoMez->size()); + ATH_MSG_INFO("Range of input is " << rangeMez); + + SG::ReadCondHandle<CondAttrListCollection> readHandleMap{ m_readKeyMap }; + const CondAttrListCollection* readCdoMap{*readHandleMap}; + if(readCdoMap==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + EventIDRange rangeMap; + if ( !readHandleMap.range(rangeMap) ) { + ATH_MSG_ERROR("Failed to retrieve validity range for " << readHandleMap.key()); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("Size of CondAttrListCollection " << readHandleMap.fullKey() << " readCdoMap->size()= " << readCdoMap->size()); + ATH_MSG_INFO("Range of input is " << rangeMap); + + // Create an intersection of input IOVs + EventIDRange rangeIntersection = EventIDRange::intersect(rangeMez,rangeMap); + if(rangeIntersection.start()>rangeIntersection.stop()) { + ATH_MSG_ERROR("Invalid intersection range: " << rangeIntersection); + return StatusCode::FAILURE; + } + + // begin like MDTCablingDbTool::loadMDTMap() ---------- + + // access to Mezzanine Schema Table to obtained the mezzanine type + + CondAttrListCollection::const_iterator itrMez; + for (itrMez = readCdoMez->begin(); itrMez != readCdoMez->end(); ++itrMez) { + const coral::AttributeList& atr=itrMez->second; + int sequence; + int layer; + int mezzanine_type; + mezzanine_type=*(static_cast<const int*>((atr["Mezzanine_Type"]).addressOfData())); + layer=*(static_cast<const int*>((atr["Layer"]).addressOfData())); + sequence=*(static_cast<const int*>((atr["Sequence"]).addressOfData())); + ATH_MSG_VERBOSE( "Sequence load is " << sequence << " for the mezzanine type = "<< mezzanine_type<< " for the layer number = " <<layer ); + // here add the mezzanine type to the cabling class + bool addLine = writeCdo->addMezzanineLine(mezzanine_type, layer, sequence); + if (!addLine) { + ATH_MSG_ERROR( "Could not add the mezzanine sequence to the map " ); + } + else { + ATH_MSG_VERBOSE( "Sequence added successfully to the map" ); + } + } + + // access to Map Schema Table to obtained the Map + + bool BMGchamberadded = false; + + CondAttrListCollection::const_iterator itrMap; + for (itrMap = readCdoMap->begin(); itrMap != readCdoMap->end(); ++itrMap) { + const coral::AttributeList& atr=itrMap->second; + + std::string map; + std::string chamber_name, subdetector_id; + int eta, phi, chan; + int mrod, csm, mezzanine_type; + + chamber_name=*(static_cast<const std::string*>((atr["Chamber_Name"]).addressOfData())); + eta=*(static_cast<const int*>((atr["Eta"]).addressOfData())); + phi=*(static_cast<const int*>((atr["Phi"]).addressOfData())); + subdetector_id=*(static_cast<const std::string*>((atr["SubDet_Id"]).addressOfData())); + mrod=*(static_cast<const int*>((atr["MROD"]).addressOfData())); + csm=*(static_cast<const int*>((atr["CSM"]).addressOfData())); + chan=*(static_cast<const int*>((atr["Chan"]).addressOfData())); + mezzanine_type=*(static_cast<const int*>((atr["Mezzanine_Type"]).addressOfData())); + map=*(static_cast<const std::string*>((atr["Map"]).addressOfData())); + + ATH_MSG_VERBOSE( "Data load is: /n" << + "Chamber_Name = " << chamber_name << " eta= " << eta << " Phi= " << phi + << " sub_id = " <<subdetector_id << " mrod = " << mrod << " csm = " << csm + << " chan= " << chan << " mezzanine_type= " << mezzanine_type << " map = " <<map + << " FINISHED HERE " ); + + // convert the string name to index + std::string stationNameString = chamber_name.substr(0,3); + // fix for the BOE chambers, which in the offline are treated as BOL + if (stationNameString == "BOE") { + stationNameString = "BOL"; + } + if (stationNameString == "BMG") BMGchamberadded = true; + int stationIndex = m_mdtIdHelper->stationNameIndex(stationNameString); + ATH_MSG_VERBOSE( "station name: " << stationNameString << " index: " << stationIndex ); + // convert the subdetector id to integer + int subdetectorId = atoi(subdetector_id.c_str()); + + std::string delimiter = ","; + std::vector<std::string> info_map; + MuonCalib::MdtStringUtils::tokenize(map,info_map,delimiter); + ATH_MSG_VERBOSE( " parsing of the map" ); + + int index=0; + int tdcId = -99; + int channelId = -99; + int multilayer = -99; + int layer = -99; + int tube = -99; + + // this is a loop on the mezzanines, add each mezzanine to the map + + for(unsigned int i=0; i<info_map.size();i++){ + ATH_MSG_VERBOSE( i << "..."<< info_map[i] ); + int info = atoi(info_map[i].c_str()); + index++; + // this is a tdcid + if (index==1) { + tdcId = info; + } + // this is a channel Id + else if (index==2) { + channelId = info; + } + // this is a tube id that must be unpacked + else if (index==3) { + // unpack the tube Id + tube = info%100; + layer = ((info-tube)/100)%10; + multilayer = (((info-tube)/100)-layer)/10 ; + index = 0; + ATH_MSG_VERBOSE( "Adding new mezzanine: tdcId " << tdcId << " channel " << channelId + << " station " << stationIndex << " multilayer " << multilayer << " layer " << layer << " tube " << tube ); + // now this mezzanine can be added to the map: + writeCdo->addMezzanine(mezzanine_type, stationIndex, eta, phi, multilayer, + layer, tube, subdetectorId, mrod, csm, tdcId, channelId); + } + } + + } + + if(m_mdtIdHelper->stationNameIndex("BMG") != -1 && !BMGchamberadded) { + ATH_MSG_WARNING( "Running a layout including BMG chambers, but missing them in cabling from conditions --> hard-coding BMG cabling." ); + int stationIndex = m_mdtIdHelper->stationNameIndex("BMG"); + + // BMG1A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 1, 6, 1, 4,(i*6)+1, 97, 50, 0, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 1, 6, 2, 4,(i*6)+1, 97, 50, 0, 16-2*i, 0); + // BMG2A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 2, 6, 1, 4,(i*6)+1, 97, 50, 1, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 2, 6, 2, 4,(i*6)+1, 97, 50, 1, 16-2*i, 0); + // BMG3A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 3, 6, 1, 4,(i*6)+1, 97, 50, 2, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 3, 6, 2, 4,(i*6)+1, 97, 50, 2, 16-2*i, 0); + + // BMG1C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -1, 6, 1, 4,(i*6)+6, 98, 50, 0, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -1, 6, 2, 4,(i*6)+6, 98, 50, 0, 2*i, 0); + // BMG2C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -2, 6, 1, 4,(i*6)+6, 98, 50, 1, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -2, 6, 2, 4,(i*6)+6, 98, 50, 1, 2*i, 0); + // BMG3C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -3, 6, 1, 4,(i*6)+6, 98, 50, 2, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -3, 6, 2, 4,(i*6)+6, 98, 50, 2, 2*i, 0); + + // BMG1A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 1, 7, 1, 4,(i*6)+6, 97, 51, 0, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 1, 7, 2, 4,(i*6)+6, 97, 51, 0, 2*i, 0); + // BMG2A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 2, 7, 1, 4,(i*6)+6, 97, 51, 1, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 2, 7, 2, 4,(i*6)+6, 97, 51, 1, 2*i, 0); + // BMG3A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 3, 7, 1, 4,(i*6)+6, 97, 51, 2, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 3, 7, 2, 4,(i*6)+6, 97, 51, 2, 2*i, 0); + + // BMG1C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -1, 7, 1, 4,(i*6)+1, 98, 51, 0, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -1, 7, 2, 4,(i*6)+1, 98, 51, 0, 16-2*i, 0); + // BMG2C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -2, 7, 1, 4,(i*6)+1, 98, 51, 1, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -2, 7, 2, 4,(i*6)+1, 98, 51, 1, 16-2*i, 0); + // BMG3C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -3, 7, 1, 4,(i*6)+1, 98, 51, 2, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -3, 7, 2, 4,(i*6)+1, 98, 51, 2, 16-2*i, 0); + } + + ATH_MSG_VERBOSE( "Collection CondAttrListCollection CLID " + << readCdoMap->clID() ); + + // end like MDTCablingDbTool::loadMDTMap() ---------- + + // maybe better empty check here + + if ( writeHandle.record(rangeIntersection, std::move(writeCdo)).isFailure() ) { + ATH_MSG_FATAL("Could not record MuonMDT_CablingMap " << writeHandle.key() + << " with EventRange " << rangeIntersection << " into Conditions Store"); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("recorded new " << writeHandle.key() << " with range " << rangeIntersection << " into Conditions Store"); + + return StatusCode::SUCCESS; +} + + +StatusCode MuonMDT_CablingAlg::finalize(){ + + ATH_MSG_DEBUG( "finalize " << name() ); + return StatusCode::SUCCESS; +} diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx index af477c483ea..6061408bd50 100644 --- a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx @@ -1,6 +1,8 @@ #include "MuonMDT_Cabling/MuonMDT_CablingSvc.h" +#include "MuonMDT_Cabling/MuonMDT_CablingAlg.h" #include "MuonMDT_Cabling/MdtTestCabling.h" DECLARE_COMPONENT( MuonMDT_CablingSvc ) +DECLARE_COMPONENT( MuonMDT_CablingAlg ) DECLARE_COMPONENT( MdtTestCabling ) -- GitLab From fa62d2c6aabbc9593903b7f86a7d47cff5bad114 Mon Sep 17 00:00:00 2001 From: ckato <ckato@cern.ch> Date: Tue, 30 Oct 2018 21:31:14 +0100 Subject: [PATCH 020/209] adding MuonMDT_CablingAlg in MuonCablingConfig.py --- .../python/MuonCablingConfig.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py index 7d2d0ab5f69..2df2b8b7800 100644 --- a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py @@ -11,6 +11,11 @@ from AthenaCommon.DetFlags import DetFlags from RecExConfig.RecFlags import rec as recFlags from MuonCnvFlags import muonCnvFlags +from AthenaCommon.AlgSequence import AthSequencer +from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingAlg +condSequence = AthSequencer("AthCondSeq") +condSequence += MuonMDT_CablingAlg("MuonMDT_CablingAlg") + # defaults have to be re-set now since the jobproperties and trigger flags are now available # SS muonCnvFlags.setDefaults() @@ -138,16 +143,20 @@ if DetFlags.readRDOBS.MDT_on() or DetFlags.readRDOPool.MDT_on() or DetFlags.rea from IOVDbSvc.CondDB import conddb IOVDbSvc = ServiceMgr.IOVDbSvc if globalflags.DataSource()=='data': - conddb.addFolder("MDT","/MDT/CABLING/MAP_SCHEMA") - conddb.addFolder("MDT","/MDT/CABLING/MEZZANINE_SCHEMA") + conddb.addFolder("MDT","/MDT/CABLING/MAP_SCHEMA",className='CondAttrListCollection') + conddb.addFolder("MDT","/MDT/CABLING/MEZZANINE_SCHEMA",className='CondAttrListCollection') MDTCablingDbTool.MapFolders = "/MDT/CABLING/MAP_SCHEMA" MDTCablingDbTool.MezzanineFolders = "/MDT/CABLING/MEZZANINE_SCHEMA" + MuonMDT_CablingAlg.MapFolders = "/MDT/CABLING/MAP_SCHEMA" + MuonMDT_CablingAlg.MezzanineFolders = "/MDT/CABLING/MEZZANINE_SCHEMA" else: - conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MAP_SCHEMA") - conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MEZZANINE_SCHEMA") + conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MAP_SCHEMA",className='CondAttrListCollection') + conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MEZZANINE_SCHEMA",className='CondAttrListCollection') MDTCablingDbTool.MapFolders = "/MDT/Ofl/CABLING/MAP_SCHEMA" MDTCablingDbTool.MezzanineFolders = "/MDT/Ofl/CABLING/MEZZANINE_SCHEMA" - + MuonMDT_CablingAlg.MapFolders = "/MDT/Ofl/CABLING/MAP_SCHEMA" + MuonMDT_CablingAlg.MezzanineFolders = "/MDT/Ofl/CABLING/MEZZANINE_SCHEMA" + ToolSvc += MDTCablingDbTool -- GitLab From cc1be09dd44ad1c43994d507774338b51cb21d40 Mon Sep 17 00:00:00 2001 From: ckato <ckato@cern.ch> Date: Tue, 30 Oct 2018 21:43:28 +0100 Subject: [PATCH 021/209] adding MuonMDT_CablingMap and ReadCondHandleKey in MdtRdoToPrepDataTool --- MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt | 5 +++-- .../MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx | 2 +- .../MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt index e83946c57bb..b8baefe0fdc 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt @@ -24,7 +24,8 @@ atlas_depends_on_subdirs( PUBLIC MuonSpectrometer/MuonDigitContainer MuonSpectrometer/MuonIdHelpers MuonSpectrometer/MuonRDO - MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData ) + MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData + MuonSpectrometer/MuonCablings/MuonCablingData ) # External dependencies: find_package( tdaq-common COMPONENTS eformat_write DataWriter ) @@ -34,7 +35,7 @@ atlas_add_component( MuonMDT_CnvTools src/*.cxx src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ByteStreamData ByteStreamData_test GaudiKernel AthenaBaseComps StoreGateLib SGtests AtlasDetDescr Identifier ByteStreamCnvSvcBaseLib MuonMDT_CablingLib MdtCalibSvcLib MuonCalibEvent MuonContainerManager MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO MuonPrepRawData ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ByteStreamData ByteStreamData_test GaudiKernel AthenaBaseComps StoreGateLib SGtests AtlasDetDescr Identifier ByteStreamCnvSvcBaseLib MuonMDT_CablingLib MdtCalibSvcLib MuonCalibEvent MuonContainerManager MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO MuonPrepRawData MuonCablingData ) # Install files from the package: atlas_install_headers( MuonMDT_CnvTools ) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx index 9ccfcfab2cc..4d3a19a71a9 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx @@ -153,8 +153,8 @@ StatusCode Muon::MdtRdoToPrepDataTool::initialize() // check if initializing of DataHandle objects success ATH_CHECK( m_rdoContainerKey.initialize() ); - ATH_CHECK( m_mdtPrepDataContainerKey.initialize() ); + ATH_CHECK( m_readKey.initialize() ); return StatusCode::SUCCESS; } diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h index 2ce64291518..64b5b2dd843 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h @@ -18,6 +18,9 @@ #include "MuonPrepRawData/MuonPrepDataContainer.h" #include "MuonRDO/MdtCsmContainer.h" +#include "MuonCablingData/MuonMDT_CablingMap.h" +#include "StoreGate/ReadCondHandleKey.h" + #include <string> class AtlasDetectorID; class Identifier; @@ -167,6 +170,8 @@ namespace Muon std::map<Identifier, std::vector<Identifier> > m_DeadChannels; void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl); + SG::ReadCondHandleKey<MuonMDT_CablingMap> m_readKey{this, "ReadKey", "MuonMDT_CablingMap", "Key of MuonMDT_CablingMap"}; + }; } // end of namespace -- GitLab From f05fe1882514a6a8659d24ad535e8a25b108e3d5 Mon Sep 17 00:00:00 2001 From: ckato <ckato@cern.ch> Date: Tue, 30 Oct 2018 23:44:04 +0100 Subject: [PATCH 022/209] checking derived data map in MdtRdoToPrepDataTool::decode() --- .../MuonCablingData/MuonMDT_CablingMap.h | 4 ++-- .../MuonCablingData/src/MuonMDT_CablingMap.cxx | 4 ++-- .../src/MdtRdoToPrepDataTool.cxx | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h index 9aed3bc364c..f2e7694f0b7 100644 --- a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h +++ b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h @@ -72,10 +72,10 @@ class MuonMDT_CablingMap : public MdtMapBase<MdtSubdetectorMap> { uint32_t getROBId(const IdentifierHash stationCode); /** return a vector of HashId lists for a given list of ROD's */ - const std::vector<IdentifierHash> getChamberHashVec(const std::vector< uint32_t> &ROBId_list); + const std::vector<IdentifierHash> getChamberHashVec(const std::vector< uint32_t> &ROBId_list) const; /** return a HashId list for a given ROD */ - const std::vector<IdentifierHash>& getChamberHashVec(const uint32_t ROBId); + const std::vector<IdentifierHash>& getChamberHashVec(const uint32_t ROBId) const; /** return the ROD id of a given chamber */ std::vector<uint32_t> getAllROBId(); diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx index dd85bca788d..33fcc6ded7b 100644 --- a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx +++ b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx @@ -423,7 +423,7 @@ uint32_t MuonMDT_CablingMap::getROBId(const IdentifierHash stationCode) return rodId; } -const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const uint32_t ROBId) +const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const uint32_t ROBId) const { RODToChamberMap::const_iterator Rob_it = m_RODToChamber->find(ROBId); if(Rob_it != m_RODToChamber->end()) { @@ -435,7 +435,7 @@ const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const u } } -const std::vector<IdentifierHash> MuonMDT_CablingMap::getChamberHashVec(const std::vector< uint32_t> &ROBId_list) +const std::vector<IdentifierHash> MuonMDT_CablingMap::getChamberHashVec(const std::vector< uint32_t> &ROBId_list) const { std::vector<IdentifierHash> HashVec; diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx index 4d3a19a71a9..c078a6c0033 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx @@ -168,6 +168,22 @@ StatusCode Muon::MdtRdoToPrepDataTool::finalize() StatusCode Muon::MdtRdoToPrepDataTool::decode( const std::vector<uint32_t>& robIds ) { const std::vector<IdentifierHash>& chamberHashInRobs = m_mdtCabling->getChamberHashVec(robIds); + std::cout<<"ckato old robIds.size()="<<robIds.size()<<" chamberHashInRobs.size()="<<chamberHashInRobs.size()<<std::endl; + if ( robIds.size()!=0 && chamberHashInRobs.size()!=0 ) { + std::cout<<"ckato old robIds[0]="<<robIds[0]<<" chamberHashInRobs[0]="<<chamberHashInRobs[0]<<std::endl; + } + SG::ReadCondHandle<MuonMDT_CablingMap> readHandle{m_readKey}; + const MuonMDT_CablingMap* readCdo{*readHandle}; + if(readCdo==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + const std::vector<IdentifierHash>& chamberHashInRobs2 = readCdo->getChamberHashVec(robIds); + + std::cout<<"ckato new robIds.size()="<<robIds.size()<<" chamberHashInRobs2.size()="<<chamberHashInRobs2.size()<<std::endl; + if ( robIds.size()!=0 && chamberHashInRobs2.size()!=0 ) { + std::cout<<"ckato new robIds[0]="<<robIds[0]<<" chamberHashInRobs2[0]="<<chamberHashInRobs2[0]<<std::endl; + } return decode(chamberHashInRobs); } -- GitLab From 84060658fbc912f413426946801a2540cda8394c Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Wed, 31 Oct 2018 00:00:16 +0100 Subject: [PATCH 023/209] Update packages:TrigConfiguration from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigConfL1Data/Root/L1DataDef.cxx | 2 +- .../TrigConfOffline/TrigConfHLTDataDict.h | 3 + .../TrigConfOffline/TrigConfL1DataDict.h | 3 + .../TrigConfOffline/TrigConfStorageDict.h | 3 + .../TrigConfStorage/CMakeLists.txt | 2 +- .../src/ConfigurationCheck.cxx | 115 ++++ .../share/buildConfigInstaller.sh | 9 +- .../share/prepareOnlineTriggerConfig.py | 588 +++++++++--------- .../share/setupOnlineTriggerConfigEnv.sh | 3 + 9 files changed, 440 insertions(+), 288 deletions(-) create mode 100755 Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh diff --git a/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx b/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx index df00b3a54c0..088104570e7 100644 --- a/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx +++ b/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx @@ -114,7 +114,7 @@ TrigConf::L1DataDef::setMaxThresholdsFromL1Version(unsigned int l1version) { typeConfig(PCLK).max = 0; typeConfig(BGRP).max = 16; typeConfig(MBTS).max = 3; - typeConfig(MBTSSI).max = 24; + typeConfig(MBTSSI).max = 32; typeConfig(NIM).max = 37; typeConfig(BCMCMB).max = 1; typeConfig(CALREQ).max = 3; diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h index 3cace9328d0..0b67e02a21d 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfHLTDataDict #define TrigConfHLTDataDict diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h index 2af2947fa02..d7e114a3280 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfL1DataDict #define TrigConfL1DataDict diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h index 041ff4314d6..7a93cef4e33 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfStorageDict #define TrigConfStorageDict diff --git a/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt b/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt index 1b6b212359c..d99c8180b44 100644 --- a/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt +++ b/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt @@ -18,7 +18,7 @@ atlas_depends_on_subdirs( PUBLIC find_package( Boost COMPONENTS filesystem thread system regex ) find_package( COOL COMPONENTS CoolKernel CoolApplication ) find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess ) -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) +find_package( ROOT COMPONENTS Core Tree MathCore MathMore Hist RIO pthread ) find_package( tdaq-common ) # tag NEEDS_CORAL_BASE was not recognized in automatic conversion in cmt2cmake diff --git a/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx b/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx index 34db33b16ff..7c2f1e5e5d9 100644 --- a/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx +++ b/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx @@ -1729,6 +1729,119 @@ private: +//////////////////////////////////////// CHECK NO L1CALO ITEM HAS THRESHOLD LOWER THAN IN MINTOBPT //////////////////////////////////////// +class MinTOBPtCheck : public TrigConfTest { +public: + MinTOBPtCheck() + : TrigConfTest("MinimumTOBPtCheck", "Check if all L1Calo items have threshold above MinTOBPt value", WARNING), + m_belowMinTOBpt("") + {} + + + virtual void execute(const Exc_t&) { + if ( !m_ctp ) return; + + const TrigConf::CaloInfo caloinfo = m_ctp->menu().thresholdConfig().caloInfo(); + + unsigned int em_min = caloinfo.minTobEM().ptmin; + unsigned int tau_min = caloinfo.minTobTau().ptmin; + unsigned int Jsmall_min = caloinfo.minTobJetSmall().ptmin; + unsigned int Jlarge_min = caloinfo.minTobJetLarge().ptmin; + + for(const TrigConf::TriggerThreshold* thr : m_ctp->menu().thresholdConfig().thresholdVector() ) { + if(thr->type() == "EM" || thr->type() == "TAU" || thr->type() == "JET"){ + + for( const TrigConf::TriggerThresholdValue* thrVal : thr->thresholdValueVector() ) { + + if(thr->type() == "EM" && thrVal->ptcut() < em_min) m_belowMinTOBpt += thr->name() + ", "; + if(thr->type() == "TAU" && thrVal->ptcut() < tau_min) m_belowMinTOBpt += thr->name() + ", "; + + if(thr->type() == "JET"){ + const TrigConf::JetThresholdValue* jetThrVal = dynamic_cast<const TrigConf::JetThresholdValue*>(thrVal); + + if(jetThrVal->windowSizeAsString() == "LARGE" && thrVal->ptcut() < Jlarge_min) m_belowMinTOBpt += thr->name() + ", "; + if(jetThrVal->windowSizeAsString() == "SMALL" && thrVal->ptcut() < Jsmall_min) m_belowMinTOBpt += thr->name() + ", "; + } + } + } + } + + + if(m_belowMinTOBpt.size()>0) { + m_error = "L1 calo thresholds that are below the MinTOBPt: " + m_belowMinTOBpt; + } + } + +private: + std::string m_belowMinTOBpt; +}; + + + + +//////////////////////////////////////// CHECK ALL PEB CHAINS GO INTO A CALIBRATION STREAM //////////////////////////////////////// +class PEBCalibCheck : public TrigConfTest { +public: + PEBCalibCheck() + : TrigConfTest("PEBCalibrationStream", "All streams with PEB must be of type calibration or monitoring", WARNING), + m_nonCalibPEB("") + {} + + virtual void execute(const Exc_t&) { + if ( ! m_hlt ) return; + + + // find all sequences using PEB with the corresponding output TE + std::set<std::string> teOutFromSeq; + + for (const TrigConf::HLTSequence* seq : m_hlt->getHLTSequenceList()) { + const std::vector<std::string>& algolist = seq->algorithms(); + + for( std::string algoname : algolist ){ + + if( algoname.find("TrigSubDetListWriter")!= std::string::npos || algoname.find("TrigROBListWriter")!= std::string::npos || algoname.find("ScoutingStreamWriter")!= std::string::npos){ + const std::string& tename = seq->outputTE()->name(); + + if ( teOutFromSeq.count( tename ) == 0 ) { + teOutFromSeq.insert( tename); + } + + // m_nonCalibPEB += algoname + ": " + tename + ", "; + } + } + } + + //loop over chains comparing signature output TEs to PEB TEs + for(const HLTChain* ch : m_hlt->getHLTChainList()) { + for ( unsigned int s = 0; s < ch->signatureList().size(); s++ ) { + HLTSignature* sig = ch->signatureList()[s]; + for ( unsigned int t = 0; t < sig->outputTEs().size(); ++t ) { + if ( teOutFromSeq.count(sig->outputTEs()[t]->name()) != 0 ){ + + for(const HLTStreamTag *s : ch->streams()) { + + // m_nonCalibPEB += ch->chain_name() + " stream type: " + s->type() + ", "; + if ( s->type() != "calibration" && s->type() != "monitoring" ) m_nonCalibPEB += ch->chain_name() + ", stream: " + s->stream() + ", stream type: " + s->type() + ", "; + } + } + + } + } + } + + if(m_nonCalibPEB.size()>0) { + m_error = "Streams that use PEB but are not of type 'calibration': " + m_nonCalibPEB; + } + } + +private: + std::string m_nonCalibPEB; +}; + + + + + // set of tests ConfigurationCheck::ConfigurationCheck(TrigConf::CTPConfig* ctp, TrigConf::HLTFrame* hlt) { @@ -1765,6 +1878,8 @@ ConfigurationCheck::ConfigurationCheck(TrigConf::CTPConfig* ctp, TrigConf::HLTFr m_tests.push_back(new L1SeedLenghtTest()); //m_tests.push_back(new SignaturesConnectedTest()); + m_tests.push_back(new MinTOBPtCheck()); + m_tests.push_back(new PEBCalibCheck()); std::vector<TrigConfTest*>::iterator testIt; for ( testIt = m_tests.begin(); diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh b/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh index 4d755823033..d501c55f9af 100755 --- a/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh @@ -8,7 +8,9 @@ echo "Self Extracting Menu TriggerDB Installer" echo "" export TMPDIR=\`mktemp -d /tmp/selfextract.XXXXXX\` -export TRIGGER_EXP_CORAL_PATH=/afs/cern.ch/user/a/attrgcnf/.expertauth +unset TRIGGER_EXP_CORAL_PATH +export TRIGGER_EXP_CORAL_PATH_RUN2=/afs/cern.ch/user/a/attrgcnf/.dbauth/menuexperts + ARCHIVE=\`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' \$0\` tail -n+\$ARCHIVE \$0 | tar xz -C \$TMPDIR @@ -41,10 +43,11 @@ fi _JAVA_OPTIONS="-Xms250m -Xmx1400m" TTJAR=\${TRIGGERTOOL:-/afs/cern.ch/user/a/attrgcnf/TriggerTool/TriggerTool-new.jar} +TTSH=\${TRIGGERTOOL:-/afs/cern.ch/user/a/attrgcnf/TriggerTool/run_TriggerTool.sh} DB=\${TRIGGERDB:-TRIGGERDBREPR} NAME=\${CONFIGNAME:-USEXML} -CMD="java -jar \$TTJAR -db \$DB -up -l1 \$TARGET/lvl1Menu.xml -hlt \$TARGET/hltMenu.xml -l2s \$TARGET/l2setup.xml -efs \$TARGET/efsetup.xml \$p1ConfigTT -rel $2 -o \$TARGET/$1-\$TIME-UploadTT.log -n \$NAME" +CMD="\$TTSH -db \$DB -up -l1 \$TARGET/lvl1Menu.xml -hlt \$TARGET/hltMenu.xml -l1topo \$TARGET/l1topoMenu.xml -efs \$TARGET/efsetup.xml \$p1ConfigTT -rel $2 -o \$TARGET/$1-\$TIME-UploadTT.log -n \$NAME" echo \$CMD echo "" @@ -69,7 +72,7 @@ fi ARCHIVE=./payload_$1.tar.gz -tar zcf $ARCHIVE -C setup/$1 ./lvl1Menu.xml ./hltMenu.xml ./l2setup.xml ./efsetup.xml +tar zcf $ARCHIVE -C setup/$1 ./LVL1config.dtd ./lvl1Menu.xml ./hltMenu.xml ./l1topoMenu.xml ./efsetup.xml SELFEXTRACTFILE=selfextract-$1-`date +%F-%H-%M-%S`.bsx diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py b/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py index a32c71c7e66..b2de4702136 100755 --- a/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py @@ -2,8 +2,11 @@ import sys, subprocess, tempfile, os, re, signal import __main__ -from PyQt4 import QtGui, QtCore -from PyQt4.QtGui import QLabel, QCheckBox,QMessageBox +from PyQt5 import QtCore, QtWidgets +from PyQt5.QtWidgets import QLabel, QCheckBox, QMessageBox +from PyQt5.QtGui import QColor, QPalette, QPixmap +import timeit, socket, getpass +from collections import OrderedDict class StringVar: def __init__(self,value=""): @@ -39,11 +42,11 @@ class Option: if qtw!=None: self.qtw = qtw elif self.name=='userPreCommand': - self.qtw = QtGui.QTextEdit() + self.qtw = QtWidgets.QTextEdit() self.qtw.setMinimumHeight(60) self.qtw.textChanged.connect(self.textChanged) else: - self.qtw = QtGui.QLineEdit() + self.qtw = QtWidgets.QLineEdit() self.qtw.textEdited.connect(self.textEdited) self.set(value) @@ -66,6 +69,9 @@ class BoolOption: def __init__(self, name, isChecked, description, label): self.name = name self.cb = QCheckBox(label) + palette = QPalette( self.cb.palette() ) + palette.setColor( palette.WindowText, QColor("#ffffff") ) + self.cb.setPalette(palette) self.description = description self.cb.setCheckState(QtCore.Qt.Checked if isChecked else QtCore.Qt.Unchecked) self.cb.setToolTip(description) @@ -84,10 +90,12 @@ class Process: self.w_label.setCheckState(QtCore.Qt.Checked) self.w_state = QLabel() self.w_logfile = QLabel() + button_style ="QPushButton {padding: 4px; font-size: 14px; color: #3a81c7; font-weight: bold; background-color: #ffffff; border-radius: 1px; border: 1px solid #3a81c7;}" if name == 'jobCheckRes': - self.w_showMT = QtGui.QPushButton("Show MT Result") - self.w_showPT = QtGui.QPushButton("Show PT Result") - self.w_clearbutton = QtGui.QPushButton("Clear") + self.w_showHLT = QtWidgets.QPushButton("Show athenaHLT Result") + self.w_showHLT.setStyleSheet(button_style) + self.w_clearbutton = QtWidgets.QPushButton("Clear") + self.w_clearbutton.setStyleSheet(button_style) def __str__(self): return "### %s\nprocess['%s'] = (%i, '%s', '%s')\n" % (self.description, self.name, self.enabled, self.w_state.text(), self.logfile) @@ -168,51 +176,52 @@ class Config: import os tempdir = os.environ["TMPDIR"] if "TMPDIR" in os.environ else (tempfile.gettempdir() + '/' + os.environ["USER"]) # red - self.addOption('release','',"The release tag", 'Release:' , QtGui.QLabel()) - self.addOption('patch', '',"The patch tag", 'Patch:' , QtGui.QLabel()) - self.addOption('swpath','',"The software path", 'Software path:', QtGui.QLabel()) - self.addOption('tt','/afs/cern.ch/user/a/attrgcnf/TriggerTool/TriggerTool-new.jar',"The TriggerTool jar-file", 'TriggerTool:') + self.addOption('release','',"The release tag number", 'Release number:' , QtWidgets.QLabel()) + self.addOption('relName', '',"The release build name", 'Release build:' , QtWidgets.QLabel()) + self.addOption('swpath','',"The software path", 'Software path:', QtWidgets.QLabel()) + self.addOption('tt','/afs/cern.ch/user/a/attrgcnf/TriggerTool/cmake/run_TriggerTool.sh',"The TriggerTool run script", 'TriggerTool:') # green self.addOption('jobName', 'Default',"Job name", 'Job name:') self.addOption('jobOption','',"The python job option file", 'Joboption file') - self.addOption('userPreCommand','',"The users precommands to be run", 'Pre-command:') + self.addOption('userPreCommand','',"The user pre-commands to be run", 'Pre-command:') + self.addOption('userPostCommand', '', "The post-commands to be run", 'Post-command:') self.addOption('setupDir','./setup',"Directory for setup and xml files (a subdir for each job is created)", 'Output directory:') self.addOption('tmpDir',tempdir,"Directory for temporary results", 'Temp directory:') self.addOption('nEvt',10,"Number of Events", 'Number of Events:') - self.addOption('inputL2','input.data',"Input data file L2", 'MT input data:') - self.addOption('inputEF','', "Input data file EF", 'PT input data:') + self.addOption('inputBSFile','input.data',"Input bs file", 'Input file:') self.addOption('l1menu', '',"LVL1 menu file", 'L1 menu:') - self.addOption('hltl2menu','',"HLT L2 menu file", 'L2 menu:') - self.addOption('hltefmenu','',"HLT EF menu file", 'EF menu:') - self.addOption('setupL2','',"Setup file L2", 'L2 setup:') - self.addOption('setupEF','',"Setup file EF", 'EF setup:') + self.addOption('l1topomenu','',"L1Topo menu file", 'L1Topo menu:') + self.addOption('hltmenu','',"HLT menu file", 'HLT menu:') + self.addOption('setupEF','',"EF Setup file", 'EF setup:') self.addOption('dbAlias','TRIGGERDBREPR',"Alias for TriggerDB connection", 'DB connection') self.addOption('dbPW','',"Password for writer accound (not needed by experts)", 'DB password') - self.addOption('cfgKey',0,"Configuration key", 'Configuration key:') + self.addOption('cfgKey',0,"Super Master key", 'Super master key:') self.addOption('l1psKey',0,"LVL1 prescale key", 'LVL1 prescale key:') self.addOption('hltpsKey',0,"HLT prescale key", 'HLT prescale key:') self.addBoolOption('onlineMonitoring', 'Online Monitoring', 'Online Monitoring switch (e.g. online histogram service)', True) self.addBoolOption('cafConfig', 'Reprocessing', 'Configuration for reprocessings (enable additional monitoring)', False) - self.addBoolOption('l1rerun', 'Rerun Level 1', 'Rerun level 1 simulation (should be on for CAF)', False) - self.dontStore('cafConfig', 'l1rerun', 'release', 'patch', 'swpath') # excempt from storage option to avoid accidental use for online + self.addBoolOption('l1rerun', 'Rerun Level 1', 'Rerun level 1 simulation (should be on for reprocessings if L1 menu has changed since last EB run)', False) + self.addBoolOption('doDBConfig', 'doDBConfig', 'Needs to be true to generate the text files for configuration', True) + self.dontStore('cafConfig', 'l1rerun', 'release', 'relName', 'swpath') # excempt from storage option to avoid accidental use for online # blue - self.addProcess('jobMTjo', "Run athenaMT from JobOptions", 'run athenaMT from JO') - self.addProcess('jobPTjo', "Run athenaPT from JobOptions", 'run athenaPT from JO') - self.addProcess('jobSetupCnv', "Run setup conversion script", 'convert setup') - self.addProcess('jobUploadDb', "Load TriggerDB", 'load TriggerDB') - self.addProcess('jobMTdb', "Run athenaMT from TriggerDB", 'run athenaMT from DB') - self.addProcess('jobPTdb', "Run athenaPT from TriggerDB", 'run athenaPT from DB') - self.addProcess('jobCheckRes', "Compare counts", 'check results') + self.addProcess('jobHLTjo', "Run athenaHLT from JobOptions", 'Run athenaHLT from JO') + self.addProcess('jobSetupCnv', "Run setup conversion script", 'Convert ef setup') + self.addProcess('jobUploadDb', "Upload xmls to TriggerDB", 'Upload xmls to TriggerDB') + self.addProcess('jobHLTdb', "Run athenaHLT from TriggerDB", 'Run athenaHLT from DB') + self.addProcess('jobCheckRes', "Compare counts", 'Compare athenaHLT results') self.jobOption.qtw.textChanged.connect(self.readMenus) self.cafConfig.cb.stateChanged.connect(self.toggleModifierCAF) self.l1rerun.cb.stateChanged.connect(self.toggleL1RerunOption) + self.doDBConfig.cb.stateChanged.connect(self.toggleDBConfigOption) def toggleModifierCAF(self): - self.setPreCommandModifier('caf', 'True' if self.cafConfig() else None) + self.setPreCommandModifier('enableCostForCAF', 'True' if self.cafConfig() else None) def toggleL1RerunOption(self): self.setPreCommandModifier('rerunLVL1', 'True' if self.l1rerun() else None) + def toggleDBConfigOption(self): + self.setPreCommandModifier('doDBConfig', 'True' if self.doDBConfig() else None) def read(self): if self.inputFile==None: return @@ -222,7 +231,7 @@ class Config: print "Reading configuration from %s!" % self.inputFile execfile(self.inputFile,__main__.__dict__) for name, (value, desc) in option.iteritems(): - if name in ['athenaMTjo','athenaMTdb','athenaPTjo','athenaPTdb','checkRes','uploadDb','setupCnv','mtJoLog', 'ptJoLog','mtDbLog', 'ptDbLog', 'cnvLog', 'loadDbLog']: continue # for backward compatibility + if name in ['athenaHLTjo','athenaHLTdb','checkRes','uploadDb','setupCnv','mtJoLog', 'ptJoLog','mtDbLog', 'ptDbLog', 'cnvLog', 'loadDbLog']: continue # for backward compatibility self.options[name].set(value) if 'process' in dir(__main__): for name, content in process.iteritems(): @@ -267,36 +276,39 @@ class Config: end=i+1 break exec(''.join(lines[begin:end])) - self.menus = sorted(menuMap.keys()) + self.menus = sorted(menuMap.keys()) except: self.menus = None def setPreCommandModifier(self, name, value): pc = self.userPreCommand().strip(';') - mods = {} if not pc else dict([tuple(m.split('=')) for m in pc.split(';')]) + mods = {} if not pc else OrderedDict([tuple(m.split('=')) if '=' in m else [m,''] for m in pc.split(';')]) + if value==None: if name in mods: mods.pop(name) else: mods[name] = value - pc = ';'.join(['='.join([k,v]) for k,v in sorted(mods.iteritems())]) + pc = ';'.join(['='.join([k,v]) if v != '' else ''.join([k,v]) for k,v in mods.iteritems()]) self.userPreCommand.set(pc) def write(self): outputfile = 'myPref_%s.py' % self.jobName() print "Saving configuration to %s !" % outputfile - f = open(outputfile, 'w') - print >>f, 'option = {}' - print >>f, 'process = {}\n' - for opt in self.options: - if opt in self.excempt: continue - print >>f, self.options[opt] - for pro in self.processes: - if pro in self.excempt: continue - print >>f, self.processes[pro] - f.close() - - -class KeyPrep(QtGui.QScrollArea): + try: + f = open(outputfile, 'w') + print >>f, 'option = {}' + print >>f, 'process = {}\n' + for opt in self.options: + if opt in self.excempt: continue + print >>f, self.options[opt] + for pro in self.processes: + if pro in self.excempt: continue + print >>f, self.processes[pro] + f.close() + except: + print "Error: couldn't write the configuration files, not sure why!" + +class KeyPrep(QtWidgets.QScrollArea): def __init__(self, configFile, parent=None): super(KeyPrep,self).__init__(parent) self.config = Config(configFile) @@ -306,11 +318,13 @@ class KeyPrep(QtGui.QScrollArea): self.layout() self.checkReleaseAndTT() self.updateMenuComboBox() + self.updateCommandBox() + self.checkMachine() self.runThread = KeyPrep.RunThread(self) self.currentSubprocess = None - def position(self, w=550, h=870, m=30): - desktop = QtGui.QApplication.desktop() + def position(self, w=675, h=870, m=30): + desktop = QtWidgets.QApplication.desktop() dw = desktop.availableGeometry().width() dh = desktop.availableGeometry().height() h = min(h,dh-2*m) @@ -320,60 +334,74 @@ class KeyPrep(QtGui.QScrollArea): def elements(self): self.position() self.setWindowTitle('Prepare Trigger Configuration') - self.gr_relconf = { - 'box' : QtGui.QGroupBox("Release configuration"), - 'cont': [ self.config.release, self.config.patch, self.config.swpath, self.config.tt ] + 'box' : QtWidgets.QGroupBox("Release configuration"), + 'cont': [ self.config.relName, self.config.release, self.config.swpath, self.config.tt ] } - self.gr_relconf['box'].setStyleSheet("QGroupBox { background-color: #8CDBFF; }"); - + self.gr_relconf['box'].setStyleSheet("QGroupBox { background-color: #3a81c7; color: #e2e2e2; font-weight: bold; font-size: 12pt; }") self.gr_setup = { - 'box' : QtGui.QGroupBox("Job configuration"), - 'cont': [ self.config.jobName, self.config.jobOption, self.config.userPreCommand, self.config.setupDir, - self.config.tmpDir, self.config.dbAlias, self.config.dbPW, self.config.nEvt, self.config.inputL2, - self.config.inputEF, self.config.l1menu, self.config.hltl2menu, self.config.hltefmenu, - self.config.setupL2, self.config.setupEF, self.config.cfgKey, self.config.l1psKey, self.config.hltpsKey ] + 'box' : QtWidgets.QGroupBox("Job configuration"), + 'cont': [ self.config.jobName, self.config.jobOption, self.config.userPreCommand,self.config.userPostCommand, self.config.setupDir, + self.config.tmpDir, self.config.dbAlias, self.config.dbPW, self.config.nEvt, + self.config.inputBSFile, self.config.l1menu, self.config.l1topomenu, self.config.hltmenu, + self.config.setupEF, self.config.cfgKey, self.config.l1psKey, self.config.hltpsKey ] } - self.gr_setup['box'].setStyleSheet("QGroupBox { background-color: #FFE430; }"); + self.gr_setup['box'].setStyleSheet("QGroupBox { background-color: #7c7c7c; color: #ffffff;font-weight: bold; font-size: 12pt; }"); self.gr_run = { - 'box' : QtGui.QGroupBox("Run state"), - 'cont': [ self.config.jobMTjo, self.config.jobPTjo, self.config.jobSetupCnv, self.config.jobUploadDb, - self.config.jobMTdb, self.config.jobPTdb, self.config.jobCheckRes ] + 'box' : QtWidgets.QGroupBox("Run state"), + 'cont': [ self.config.jobHLTjo, self.config.jobSetupCnv, self.config.jobUploadDb, + self.config.jobHLTdb, self.config.jobCheckRes ] } - self.gr_run['box'].setStyleSheet("QGroupBox { background-color: #A5FF00; }"); - - self.config.jobCheckRes.w_showMT.clicked.connect(self.displayResultMT) - self.config.jobCheckRes.w_showPT.clicked.connect(self.displayResultPT) - - self.d_menu = QtGui.QComboBox() - self.b_save = QtGui.QPushButton("Save",self) - self.b_kill = QtGui.QPushButton("Kill Process",self) - self.b_run = QtGui.QPushButton("Run",self) - self.b_quit = QtGui.QPushButton("Quit",self) - self.connect(self.b_run, QtCore.SIGNAL('clicked()'), self.run) - self.connect(self.b_kill, QtCore.SIGNAL('clicked()'), self.killCurrentProcess) - self.connect(self.b_save, QtCore.SIGNAL('clicked()'), self.config.write) - self.connect(self.b_quit, QtCore.SIGNAL('clicked()'), self.quit) + self.gr_run['box'].setStyleSheet("QGroupBox { background-color: #e2e2e2; font-weight: bold; font-size: 12pt;}"); + + self.config.jobCheckRes.w_showHLT.clicked.connect(self.displayResultHLT) + + button_style ="QPushButton {padding: 4px; font-size: 14px; color: #3a81c7; \ + font-weight: bold; background-color: #ffffff; border-radius: 1px; border: 1px solid #3a81c7;}" + + self.d_menu = QtWidgets.QComboBox() + self.d_menu.setStyleSheet("QComboBox {padding: 2px; color #3a81c7; border-radius: 1px; border: 1px solid #3a81c7;}") + self.b_save = QtWidgets.QPushButton("Save",self) + self.b_save.setStyleSheet(button_style) + self.b_kill = QtWidgets.QPushButton("Kill Process",self) + self.b_kill.setStyleSheet(button_style) + self.b_run = QtWidgets.QPushButton("Run",self) + self.b_run.setStyleSheet(button_style) + self.b_quit = QtWidgets.QPushButton("Quit",self) + self.b_quit.setStyleSheet(button_style) + self.b_run.clicked.connect(self.run) + self.b_kill.clicked.connect(self.killCurrentProcess) + self.b_save.clicked.connect(self.config.write) + self.b_quit.clicked.connect(self.quit) def layout(self): - top = QtGui.QVBoxLayout() + top = QtWidgets.QVBoxLayout() + top.setContentsMargins(0,0,0,0) # release info - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() for i,c in enumerate(self.gr_relconf['cont']): grid.addWidget(c.w_label,i,0,1,1) + c.w_label.setStyleSheet("QWidget { color: #e2e2e2; font-weight: bold; font-size: 11pt; }") grid.addWidget(c.qtw,i,1,1,3) + c.qtw.setStyleSheet("QWidget { color: #e2e2e2; }") + if c.name =="tt": + c.qtw.setStyleSheet("QWidget { background-color: #a9a9a9; }") + self.gr_relconf['box'].setLayout(grid) top.addWidget(self.gr_relconf['box']) # job setup - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() grid.setVerticalSpacing(0) + grid.setHorizontalSpacing(0) + line = 0 for c in self.gr_setup['cont']: - if c.name=='userPreCommand': + c.w_label.setStyleSheet("QWidget { color: #ffffff; }") + if c.name=='userPreCommand' or c.name=='userPostCommand': grid.addWidget(c.w_label,line,0) # label grid.addWidget(self.d_menu,line+1,0,QtCore.Qt.AlignTop) # menu combo box grid.addWidget(c.qtw,line,1,2,7) # field @@ -382,9 +410,14 @@ class KeyPrep(QtGui.QScrollArea): grid.addWidget(c.w_label,line,0) # label grid.addWidget(c.qtw,line,1,1,7) # field line += 1 - grid.addItem(QtGui.QSpacerItem(10,10),line,0,1,4) # space - hl = QtGui.QHBoxLayout() # horizontal box for buttons + if c.name in ['jobOption','l1psKey', 'hltpsKey', 'cfgKey', 'dbPW', 'l1menu','l1topomenu','hltmenu','setupEF']: + c.qtw.setStyleSheet("QWidget { background-color: #D4E1EA; }") + + grid.addItem(QtWidgets.QSpacerItem(10,10),line,0,1,4) # space + hl = QtWidgets.QHBoxLayout() # horizontal box for buttons + hl.addWidget(self.config.onlineMonitoring.cb) + hl.addWidget(self.config.doDBConfig.cb) hl.addWidget(self.config.cafConfig.cb) hl.addWidget(self.config.l1rerun.cb) hl.addStretch(1) @@ -394,39 +427,56 @@ class KeyPrep(QtGui.QScrollArea): top.addWidget(self.gr_setup['box']) # job progress - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() grid.setVerticalSpacing(0) + grid.setHorizontalSpacing(0) + grid.setContentsMargins(0,0,0,0) line = 0 for c in self.gr_run['cont']: grid.addWidget(c.w_label,line,0) # label grid.addWidget(c.w_state,line,1) # state if c.name != 'jobCheckRes': grid.addWidget(c.w_logfile,line,2,1,6) # field - #c.w_logfile.setStyleSheet("QLineEdit { background-color: rgb(255, 176, 165); }"); else: - grid.addWidget(c.w_showMT,line,6) # show res button - grid.addWidget(c.w_showPT,line,7) # show res button - #grid.addWidget(c.w_clearbutton,line,9) # clear button + grid.addWidget(c.w_showHLT,line,6) # show res button line += 1 self.gr_run['box'].setLayout(grid) top.addWidget(self.gr_run['box']) - actions = QtGui.QHBoxLayout() - #actions.addWidget(self.b_style) + actions = QtWidgets.QHBoxLayout() + actions.setContentsMargins(4,0,4,4) actions.addWidget(self.b_kill) actions.addStretch(1) actions.addWidget(self.b_run) actions.addWidget(self.b_quit) top.addLayout(actions) + top.addStretch(1) - #self.setLayout(top) - - frame = QtGui.QFrame() + frame = QtWidgets.QFrame() frame.setLayout(top) - self.setWidget(frame) - self.setWidgetResizable(True) + palette = QPalette( frame.palette() ) + palette.setColor( frame.backgroundRole(), QColor("#7c7c7c") ) + frame.setAutoFillBackground(True) + frame.setPalette( palette ) + + self.setWidget(frame) + self.setWidgetResizable(True) + self.setContentsMargins(0,0,100,0) + + label = QLabel(self) + pixmap = QPixmap('/afs/cern.ch/user/a/attrgcnf/TriggerDBReplica/TrigDbHltUploadFiles/logo.png') + label.setPixmap(pixmap) + label.setGeometry(675-5-100,5,675-5,100+5) + + def changeWidgetSetting(self, setting): + self.config.onlineMonitoring.cb.setEnabled(setting) + self.config.doDBConfig.cb.setEnabled(setting) + self.config.cafConfig.cb.setEnabled(setting) + self.config.l1rerun.cb.setEnabled(setting) + for c in self.gr_setup['cont']: + c.qtw.setEnabled(setting) def updateMenuComboBox(self): menus = self.config.menus @@ -441,24 +491,30 @@ class KeyPrep(QtGui.QScrollArea): index=-1 if self.menuInPreCommand: index = menus.index(self.menuInPreCommand) - elif "PhysicsV4" in menus: - index = menus.index("PhysicsV4") - elif "PhysicsV3" in menus: - index = menus.index("PhysicsV3") - elif "PhysicsV2" in menus: - index = menus.index("PhysicsV2") + elif "PhysicsV7" in menus: + index = menus.index("PhysicsV7") if index>=0: self.d_menu.setCurrentIndex(index) - + + def updateCommandBox(self): + if self.config.doDBConfig(): + self.config.setPreCommandModifier('doDBConfig', 'True') + def selectMenu(self, menu): if self.menuInPreCommand!=None: # remove the old one first self.config.setPreCommandModifier('test%s' % self.menuInPreCommand, None) self.config.setPreCommandModifier('test%s' % menu, 'True') # set the selected one self.menuInPreCommand = menu + + def checkMachine(self): + if "lxplus" in socket.gethostname(): + QMessageBox.information(None, '', "Warning! You're running on lxplus, and this will be slow!") + elif "tbed" not in socket.gethostname(): + QMessageBox.information(None, '', "Warning! You're not running on the testbed, it could be slow!") def quit(self): self.config.write() - QtGui.qApp.quit() + QtWidgets.qApp.quit() def setFrameTitle(self,title): self.setWindowTitle(title) @@ -469,9 +525,9 @@ class KeyPrep(QtGui.QScrollArea): def checkReleaseAndTT(self): self.config.release.set(os.getenv('AtlasVersion')) - self.config.swpath.set(os.getenv('AtlasBaseDir')) - if os.getenv('AtlasProject') in ['AtlasP1HLT','AtlasCAFHLT','AtlasProduction']: - self.config.patch.set(os.getenv('AtlasProject')) + self.config.swpath.set(os.getenv('AtlasBaseDir')) + if os.getenv('AtlasProject') in ['Athena','AthenaP1']: + self.config.relName.set(os.getenv('AtlasProject')) if self.config.tt()=='': for p in os.getenv('DATAPATH').split(os.pathsep): @@ -481,7 +537,7 @@ class KeyPrep(QtGui.QScrollArea): def guessMenuInPreCommand(self): pc = self.config.userPreCommand().strip(';') - mods = {} if not pc else dict([tuple(m.split('=')) for m in pc.split(';')]) + mods = {} if not pc else OrderedDict([tuple(m.split('=')) if '=' in m else [m,''] for m in pc.split(';')]) p = re.compile("test.*") menucands = filter(p.match,mods.keys()) self.menuInPreCommand = menucands[0][4:] if menucands else None @@ -489,7 +545,7 @@ class KeyPrep(QtGui.QScrollArea): def write(self,s): if not self.summarylog: base = self.config.jobName() - mode = "w" if self.config.jobMTjo.enabled else "a" + mode = "w" if self.config.jobHLTjo.enabled else "a" self.summarylog=open('%s/log%sSummary' % (self.config.tmpDir(),base), mode) print s, print >>self.summarylog, s, @@ -502,7 +558,9 @@ class KeyPrep(QtGui.QScrollArea): self.success = True def run(self): - for job in ['MTjo', 'PTjo', 'SetupCnv', 'UploadDb', 'MTdb', 'PTdb', 'CheckRes']: + processing_times = [] + for job in ['HLTjo', 'SetupCnv', 'UploadDb', 'HLTdb', 'CheckRes']: + start_time = timeit.default_timer() proc_conf = getattr(self.gui.config, "job%s" % job) if not proc_conf.enabled: proc_conf.setSkipped() @@ -519,20 +577,28 @@ class KeyPrep(QtGui.QScrollArea): if proc_conf.inError(): self.gui.addFrameTitle(' -> Failure') self.success = False + self.gui.changeWidgetSetting(True) return if not proc(proc_conf): # exec if proc_conf.inError(): self.gui.addFrameTitle(' -> Failure') if proc_conf.isKilled(): self.gui.addFrameTitle(' -> Killed') self.success = False + self.gui.changeWidgetSetting(True) return proc_conf.setSuccess() print >>self.gui, "===>>> Success" - + elapsed = timeit.default_timer() - start_time + timer_line = "Elapsed time for " + job + ": " + str(elapsed) + print timer_line + processing_times += [timer_line] + makeTimingFile(processing_times) print "===>>> Success" self.gui.setFrameTitle('Success') + self.gui.changeWidgetSetting(True) self.success = True return + def run(self): import os tmpdir = self.config.tmpDir() @@ -543,6 +609,7 @@ class KeyPrep(QtGui.QScrollArea): os.makedirs(tmpdir) except OSError, e: raise RuntimeError("Can't create temporary directory %s (reason: %s)" % (tmpdir,e) ) + self.changeWidgetSetting(False) self.runThread.start() # starts the thread def killCurrentProcess(self): @@ -552,16 +619,15 @@ class KeyPrep(QtGui.QScrollArea): if pr.isRunning(): runningProcess=pr break - if QMessageBox.question(None, '', "Are you sure you want to kill \nthe process '' ?" % runningProcess.label, + if QMessageBox.question(None, '', "Are you sure you want to kill \nthe process %s ?" % runningProcess.label, QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes: if self.currentSubprocess: self.currentSubprocess.kill() + self.changeWidgetSetting(True) else: QMessageBox.information(None, '', "No process running!") - - # helper functions # check existence of file def checkFile(self,proc_conf, filename,filedesc): @@ -570,7 +636,7 @@ class KeyPrep(QtGui.QScrollArea): print 'ERROR: <%s> No %s configured' % (caller, filedesc) proc_conf.setError() return False - if not os.path.exists(filename): + if 'root://eosatlas//eos/atlas/' not in filename and not os.path.exists(filename): print 'ERROR: <%s> %s %s does not exist in %s' % (caller, filedesc, filename, os.path.realpath('.')) proc_conf.setError() return False @@ -601,7 +667,7 @@ class KeyPrep(QtGui.QScrollArea): for opt in optlist: getattr(self.config,opt).clear() - # execute cmd (string) + # cmd (string) def executeProcess(self, cmd, proc_conf): try: FD = open(proc_conf.logfile,'w') @@ -624,89 +690,74 @@ class KeyPrep(QtGui.QScrollArea): return False return True + def executeProcessList(self, cmd_list, proc_conf): + try: + FD = open(proc_conf.logfile,'w') + self.currentSubprocess = subprocess.Popen(cmd_list,stdout=FD,stderr=FD) + self.currentSubprocess.wait() + retCode = self.currentSubprocess.returncode + self.currentSubprocess = None + except OSError, v: + print 'ERROR: <%s> %r' % (proc_conf.name,v) + proc_conf.setError() + FD.close() + return False + FD.close() + if retCode==-9: + proc_conf.setKilled() + return False + if retCode!=0: + print 'ERROR: <%s> job failed with exit code: %r' % (proc_conf.name, retCode) + proc_conf.setError() + return False + return True + ##################################################### ### - ### Running athenaMT from the JO + ### Running athenaHLT from the JO ### ##################################################### - def clearMTjo(self): + def clearHLTjo(self): base = self.config.jobName() self.deleteLocalFile("%s-1._0001.data" % base) self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sMT' % base) - self.clearOptions( ['l1menu', 'hltl2menu', 'hltefmenu', 'setupL2', 'inputEF', 'jobMTjo'] ) + self.deleteTmpFile('log%sHLT' % base) + self.clearOptions( ['l1menu', 'hltmenu', 'setupEF', 'jobHLTjo'] ) - def checkPreReqMTjo(self,proc_conf): - return self.checkInput(proc_conf, 'inputL2', '') and \ - self.checkFile(proc_conf, self.config.inputL2(), "Input file") + def checkPreReqHLTjo(self,proc_conf): + return self.checkInput(proc_conf, 'inputBSFile', '') and \ + self.checkFile(proc_conf, self.config.inputBSFile(), "Input file") - def runMTjo(self, proc_conf): + def runHLTjo(self, proc_conf): base = self.config.jobName() - logfile = '%s/log%sMT' % (self.config.tmpDir(),base) + logfile = '%s/log%sHLT' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - args = [ '-n %i' % self.config.nEvt(), - '-o %s' % base, - "-c doDBConfig=True", - "-c trigBase='\"%s\"'" % base, - "" if self.config.userPreCommand().strip()=='' else " -c '%s'" % self.config.userPreCommand().strip(), - '-f %s' % self.config.inputL2(), - '--oh-monitoring' if self.config.onlineMonitoring() else '' ] - cmd = 'athenaMT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - print >>self, '%s &>! %s' % (cmd,logfile) - - if not self.executeProcess(cmd, proc_conf): return False - - try: - self.config.l1menu = subprocess.Popen("egrep 'DBCONFIG LVL1XML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.hltl2menu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.inputEF = "%s-1._0001.data" % base - self.config.setupL2 = './l2_%s_setup.txt' % base - except: - return False - return True - - ##################################################### - ### - ### athenaPT from JobOptions - ### - ##################################################### - def clearPTjo(self): - base = self.config.jobName() - self.deleteLocalFile("ef_%s_setup.txt" % base) - self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sPT' % base) - self.clearOptions( ['hltefmenu', 'setupEF', 'jobPTjo'] ) - - def checkPreReqPTjo(self,proc_conf): - return self.checkInput(proc_conf, 'inputEF', '') and \ - self.checkFile(proc_conf, self.config.inputEF(), "Input file") + args = [ '-n 1 -f %s' % self.config.inputBSFile(), + '-M' if self.config.onlineMonitoring() else '', + "" if self.config.userPreCommand().strip()=='' else " -c %s" % self.config.userPreCommand().strip(), + "" if self.config.userPostCommand().strip()=='' else " -C %s" % self.config.userPostCommand().strip() ] + cmd = 'athenaHLT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - def runPTjo(self, proc_conf): - base = self.config.jobName() - logfile = '%s/log%sPT' % (self.config.tmpDir(),base) - proc_conf.setLogfile(logfile) + cmd_list = ['athenaHLT.py' , '-n', '1', '-f','%s' % self.config.inputBSFile(), + '-M' if self.config.onlineMonitoring() else '', + '-c', "%s" % self.config.userPreCommand().strip(),'-C', "%s" % self.config.userPostCommand().strip(), self.config.jobOption()] - args = [ '-n %i' % self.config.nEvt(), - '-c doDBConfig=True', - "-c trigBase='\"%s\"'" % base, - "" if self.config.userPreCommand().strip()=='' else " -c '%s'" % self.config.userPreCommand().strip(), - '-f %s' % self.config.inputEF(), - '--oh-monitoring' if self.config.onlineMonitoring() else '' ] - cmd = 'athenaPT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - print >>self, '%s &>! %s' % (cmd,logfile) + print >>self, '%s &> %s' % (cmd,logfile) + print cmd_list - if not self.executeProcess(cmd, proc_conf): return False + if not self.executeProcessList(cmd_list, proc_conf): return False try: - self.config.hltefmenu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.setupEF = './ef_%s_setup.txt' % base + self.config.l1menu = subprocess.Popen("egrep 'DBCONFIG LVL1XML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] + self.config.l1topomenu = self.config.l1menu().split("LVL1")[0]+"L1Topo"+self.config.l1menu().split("LVL1")[1] + self.config.hltmenu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] + self.config.setupEF = './ef__setup.txt' except: return False return True - - + ##################################################### ### ### setup conversion @@ -722,50 +773,49 @@ class KeyPrep(QtGui.QScrollArea): def checkPreReqSetupCnv(self,proc_conf): allfiles = \ - self.checkFile(proc_conf, self.config.setupL2(), "L2 setup file") and \ self.checkFile(proc_conf, self.config.setupEF(), 'EF setup file') and \ - self.checkFile(proc_conf, self.config.hltl2menu(), 'HLT L2 menu file') and \ - self.checkFile(proc_conf, self.config.hltefmenu(), 'HLT EF menu file') + self.checkFile(proc_conf, self.config.hltmenu(), 'HLT menu file') if not allfiles: return False return self.checkInput(proc_conf, 'l1menu', '') def runSetupCnv(self, proc_conf): + + print 'Running the setup conversion' + # check for level 1 menu base = self.config.jobName() fullSetupDir = '%s/%s' % (self.config.setupDir(), base) + + print 'I think things are in the folder',fullSetupDir,', and this is where I\'ll put the files' + l1menuName = os.path.basename(self.config.l1menu()) - subprocess.call( ('cp -f %s .' % self.config.l1menu()).split() ) + subprocess.call( ('cp -f %s .' % self.config.l1menu()).split() ) + subprocess.call( ('cp -f %s .' % self.config.l1topomenu()).split() ) + l1topoName = os.path.basename(self.config.l1topomenu()) + #l1menuName = os.path.basename(self.config.l1menu()) #if not os.path.exists(l1menuName): # subprocess.call(('get_files -xmls %s' % l1menuName).split()) if not self.checkFile(proc_conf, l1menuName, "L1 menu file after running get_files"): return False + if not self.checkFile(proc_conf, l1topoName, "L1 topo menu file after running get_files"): + return False logfile = '%s/log%sConv' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - subprocess.call(['cp', self.config.setupL2(), fullSetupDir+'/l2setup.txt']) - subprocess.call(['cp', self.config.setupEF(), fullSetupDir+'/efsetup.txt']) - subprocess.call(['cp', l1menuName, fullSetupDir+'/lvl1Menu.xml']) - subprocess.call(['cp', self.config.hltl2menu(), fullSetupDir+'/hltL2Menu.xml']) - subprocess.call(['cp', self.config.hltefmenu(), fullSetupDir+'/hltEFMenu.xml']) - subprocess.call(['cp', self.config.setupL2().replace('.txt','_setup.txt'), fullSetupDir+'/l2setuppy.txt']) - subprocess.call(['cp', self.config.setupEF().replace('.txt','_setup.txt'), fullSetupDir+'/efsetuppy.txt']) + subprocess.call(['cp', self.config.setupEF(), fullSetupDir+'/efsetup.txt']) + subprocess.call(['cp', l1menuName, fullSetupDir+'/lvl1Menu.xml']) + subprocess.call(['cp', l1topoName, fullSetupDir+'/l1topoMenu.xml']) + subprocess.call(['cp', self.config.hltmenu(), fullSetupDir+'/hltMenu.xml']) + subprocess.call(['cp', self.config.setupEF().replace('.txt','_setup.txt'), fullSetupDir+'/efsetup_setup.txt']) cwd = os.getcwd() os.chdir(fullSetupDir) - cmd = 'menumerge.py --l2menu hltL2Menu.xml --efmenu hltEFMenu.xml --output hltMenu.xml' - print '%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False - - - cmd = 'ConvertHLTSetup_txt2xml.py l2setup.txt l2setuppy.txt' - print >>self,'%s &>>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False + cmd = 'ConvertHLTSetup_txt2xml.py efsetup.txt efsetup_setup.txt' + print >>self,'%s &> %s' % (cmd,logfile) - cmd = 'ConvertHLTSetup_txt2xml.py efsetup.txt efsetuppy.txt' - print >>self,'%s &>>! %s' % (cmd,logfile) if not self.executeProcess(cmd, proc_conf): return False os.chdir(cwd) @@ -786,18 +836,20 @@ class KeyPrep(QtGui.QScrollArea): fullSetupDir = '%s/%s' % (self.config.setupDir(), self.config.jobName()) cwd = os.getcwd() os.chdir(fullSetupDir) + subprocess.call(['get_files','LVL1config.dtd']) allfiles = \ - self.checkFile(proc_conf, 'l2setup.xml', 'L2 setup file') and \ self.checkFile(proc_conf, 'efsetup.xml', 'EF setup file') and \ self.checkFile(proc_conf, 'hltMenu.xml', 'HLT menu file') and \ - self.checkFile(proc_conf, 'lvl1Menu.xml','LVL1 menu file') + self.checkFile(proc_conf, 'lvl1Menu.xml','LVL1 menu file') and \ + self.checkFile(proc_conf, 'LVL1config.dtd','LVL1 configuration file') and \ + self.checkFile(proc_conf, 'l1topoMenu.xml','L1Topo menu file') os.chdir(cwd) return allfiles def runUploadDb(self,proc_conf): base = self.config.jobName() fullSetupDir = '%s/%s' % (self.config.setupDir(),base) - java='/afs/cern.ch/sw/lcg/external/Java/JDK/1.6.0/ia32/jre/bin/java -Xms512m -Xmx2000m' + #java='/afs/cern.ch/sw/lcg/external/Java/JDK/Oracle_1.8.0_31/amd64/bin/java -Xms512m -Xmx2000m' TT=self.config.tt() logfile = '%s/log%sUpload' % (self.config.tmpDir(),base) @@ -815,83 +867,60 @@ class KeyPrep(QtGui.QScrollArea): '-pw %s' % self.config.dbPW()] args += ['-up', '-l1 %s/lvl1Menu.xml' % fullSetupDir, + '-l1topo %s/l1topoMenu.xml' % fullSetupDir, '-hlt %s/hltMenu.xml' % fullSetupDir, - '-l2s %s/l2setup.xml' % fullSetupDir, '-efs %s/efsetup.xml' % fullSetupDir, '-rel %s' % self.config.release(), - '-o %sTT' % logfile ] - - cmd = '%s -jar %s %s' % (java,TT,' '.join(args)) - print >>self,'%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False + '-m \"Upload from script\"', + '-onl', + '-o %sTTlog' % logfile ] - self.config.cfgKey = int(subprocess.Popen("egrep 'UPLOAD Supermasterkey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - self.config.l1psKey = int(subprocess.Popen("egrep 'UPLOAD LVL1prescalekey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - self.config.hltpsKey = int(subprocess.Popen("egrep 'UPLOAD HLTprescalekey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - return True + cmd = '%s %s' % (TT,' '.join(args)) + print >>self,'%s &> %s' % (cmd,logfile) + os.unsetenv("TRIGGER_EXP_CORAL_PATH") + os.environ["TRIGGER_EXP_CORAL_PATH_RUN2"] = "/afs/cern.ch/user/a/attrgcnf/.dbauth/menuexperts" + subprocess.call(cmd, shell=True) + self.config.cfgKey = int(subprocess.Popen("egrep 'UPLOAD Supermasterkey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + self.config.l1psKey = int(subprocess.Popen("egrep 'UPLOAD LVL1prescalekey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + self.config.hltpsKey = int(subprocess.Popen("egrep 'UPLOAD HLTprescalekey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + return True ##################################################### ### - ### Running athenaMT from the DB + ### Running athenaHLT from the DB ### ##################################################### - def clearMTdb(self): + def clearHLTdb(self): base = self.config.jobName() self.deleteLocalFile("%s-1._0001.data" % base) self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sMTdb' % base) - self.clearOptions( ['jobMTdb'] ) - def checkPreReqMTdb(self,proc_conf): + self.deleteTmpFile('log%sHLTdb' % base) + self.clearOptions( ['jobHLTdb'] ) + def checkPreReqHLTdb(self,proc_conf): return self.checkInput(proc_conf, 'cfgKey', 0) and \ self.checkInput(proc_conf, 'l1psKey', 0) and \ self.checkInput(proc_conf, 'hltpsKey', 0) - def runMTdb(self,proc_conf): - base = self.config.jobName() - logfile = '%s/log%sMTdb' % (self.config.tmpDir(),base) - proc_conf.setLogfile(logfile) - - args = [ '-f %s' % self.config.inputL2(), - '-n %i' % self.config.nEvt(), - '-o %s' % base, - '--oh-monitoring' if self.config.onlineMonitoring() else '', - '-J TrigConf::HLTJobOptionsSvc', - '-b DBServer=%s:DBSMKey=%i:DBHLTPSKey=%i:DBLVL1PSKey=%i:Instance=L2' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] - cmd = 'athenaMT.py %s' % ' '.join(args) - print >>self,'%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False - return True - - ##################################################### - ### - ### Running athenaPT from the DB - ### - ##################################################### - def clearPTdb(self): - base = self.config.jobName() - self.deleteTmpFile('log%sPTdb' % base) - self.clearOptions( ['jobPTdb'] ) - - def checkPreReqPTdb(self,proc_conf): - return self.checkInput(proc_conf, 'cfgKey', 0) - - def runPTdb(self,proc_conf): + def runHLTdb(self,proc_conf): base = self.config.jobName() - logfile = '%s/log%sPTdb' % (self.config.tmpDir(),base) + logfile = '%s/log%sHLTdb' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - args = [ '-f %s' % self.config.inputEF(), + args = [ '-f %s' % self.config.inputBSFile(), '-n %i' % self.config.nEvt(), - '--oh-monitoring' if self.config.onlineMonitoring() else '', '-J TrigConf::HLTJobOptionsSvc', - '-b DBServer=%s:DBSMKey=%i:DBHLTPSKey=%i:DBLVL1PSKey=%i:Instance=EF' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] - cmd = 'athenaPT.py %s' % ' '.join(args) - print >>self,'%s &>! %s' % (cmd,logfile) + '-M' if self.config.onlineMonitoring() else '', + '--use-database --db-type Coral --db-server %s --db-smk %i --db-hltpskey %i --db-extra {"lvl1key":%i}' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] + + cmd = 'athenaHLT.py %s' % ' '.join(args) + print >>self,'%s &> %s' % (cmd,logfile) + + os.unsetenv("FRONTIER_SERVER") + if not self.executeProcess(cmd, proc_conf): return False return True - ##################################################### ### ### Running the Result Checker @@ -904,31 +933,21 @@ class KeyPrep(QtGui.QScrollArea): def checkPreReqCheckRes(self, proc_conf): allfiles = \ - self.checkFile(proc_conf, self.config.jobMTjo.logfile, "L2 JO log file") and \ - self.checkFile(proc_conf, self.config.jobMTdb.logfile, 'L2 DB log file') and \ - self.checkFile(proc_conf, self.config.jobPTjo.logfile, "EF JO log file") and \ - self.checkFile(proc_conf, self.config.jobPTdb.logfile, 'EF DB log file') + self.checkFile(proc_conf, self.config.jobHLTjo.logfile, "HLT JO log file") and \ + self.checkFile(proc_conf, self.config.jobHLTdb.logfile, 'HLT DB log file') return allfiles def runCheckRes(self, proc_conf): base = self.config.jobName() - resMtJo = self.getResultFromLog(self.config.jobMTjo.logfile) - resMtDb = self.getResultFromLog(self.config.jobMTdb.logfile) + resHltJo = self.getResultFromLog(self.config.jobHLTjo.logfile) + resHltDb = self.getResultFromLog(self.config.jobHLTdb.logfile) self.testresults = { - 'mtjo' : resMtJo, - 'mtdb' : resMtDb + 'hltjo' : resHltJo, + 'hltdb' : resHltDb } - print >>self,"Checking L2\n===========" - successMT = self.checkResultInLevel(proc_conf, resMtJo, resMtDb) + print >>self,"Checking HLT\n===========" + success = self.checkResultInLevel(proc_conf, resHltJo, resHltDb) - resPtJo = self.getResultFromLog(self.config.jobPTjo.logfile) - resPtDb = self.getResultFromLog(self.config.jobPTdb.logfile) - self.testresults['ptjo'] = resPtJo - self.testresults['ptdb'] = resPtDb - print >>self,"Checking EF\n===========" - successPT = self.checkResultInLevel(proc_conf, resPtJo, resPtDb) - - success = successMT and successPT if success: print >>self,"Check successful! This database key returns the correct answers and can be used online!" else: @@ -937,7 +956,7 @@ class KeyPrep(QtGui.QScrollArea): if True: logfile = '%s/log%sCheckRes' % (self.config.tmpDir(),base) cmd = 'buildConfigInstaller.sh %s %s' % (self.config.jobName(), self.config.release()) - print >>self,'%s &>! %s' % (cmd,logfile) + print >>self,'%s &> %s' % (cmd,logfile) try: successBuildInstaller = ( 0 == subprocess.call(cmd.split()) ) except OSError, v: @@ -992,14 +1011,11 @@ class KeyPrep(QtGui.QScrollArea): d[m.group('chain')] = m.groupdict() return d - def displayResultMT(self): - self.displayResult('mt') + def displayResultHLT(self): + self.displayResult('hlt') - def displayResultPT(self): - self.displayResult('pt') - def displayResult(self, name): - if name!='mt' and name!='pt': + if name!='hlt': return if not (self.testresults.has_key('%sjo' % name) and self.testresults.has_key('%sdb' % name)): print "Results for %s are missing" % name @@ -1071,10 +1087,6 @@ class KeyPrep(QtGui.QScrollArea): #t.insert("%s+1l" % INSERT, ul) print ul - - - - def parse_programm_options(): import getopt short_opt = "h?F:" @@ -1102,11 +1114,21 @@ def parse_programm_options(): inputFile = v return inputFile +def makeTimingFile(lines = []): + import time + timestr = time.strftime("%Y%m%d-%H%M%S") + timing_file = open('/afs/cern.ch/user/a/attrgcnf/TriggerDBReplica/TrigDbHltUploadFiles/timingLogs/logTiming'+timestr, 'w') + timing_file.write('Machine: '+socket.gethostname()+'\n') + timing_file.write('User: '+getpass.getuser()+'\n') + for line in lines: + timing_file.write(line+'\n') + timing_file.close() # you can omit in most cases as the destructor will call it def main(): signal.signal(signal.SIGINT, sigint_handler) inputFile = parse_programm_options() - app = QtGui.QApplication(sys.argv) + app = QtWidgets.QApplication(sys.argv) + app.setStyle('cleanlooks') timer = QtCore.QTimer() timer.start(500) # interval after which timeout signal is called timer.timeout.connect(lambda: None) @@ -1120,7 +1142,7 @@ def sigint_handler(*args): #if QMessageBox.question(None, '', "Are you sure you want to quit?", # QMessageBox.Yes | QMessageBox.No, # QMessageBox.No) == QMessageBox.Yes: - QtGui.QApplication.quit() + QtWidgets.QApplication.quit() if __name__ == "__main__": main() diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh b/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh new file mode 100755 index 00000000000..ca6722d7eb6 --- /dev/null +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh @@ -0,0 +1,3 @@ +lsetup "lcgenv -p LCG_88 x86_64-slc6-gcc62-opt pyqt5" +export QT_PLUGIN_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_88/qt5/5.6.0/x86_64-slc6-gcc62-opt/plugins/ +export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb -- GitLab From cd06bee736e9b9a3563b990ee52164d811056fc8 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Fri, 26 Oct 2018 14:11:20 +0200 Subject: [PATCH 024/209] TileRecUtils: Add dumper algorithms. Add algorithms to dump raw data containers, to be used for bytestream converter tests. --- TileCalorimeter/TileRecUtils/CMakeLists.txt | 3 +- .../TileRecUtils/src/TileBeamElemDumper.cxx | 79 +++++++++++++++++ .../TileRecUtils/src/TileBeamElemDumper.h | 64 ++++++++++++++ .../TileRecUtils/src/TileDigitsDumper.cxx | 88 +++++++++++++++++++ .../TileRecUtils/src/TileDigitsDumper.h | 69 +++++++++++++++ .../TileRecUtils/src/TileL2Dumper.cxx | 68 ++++++++++++++ .../TileRecUtils/src/TileL2Dumper.h | 64 ++++++++++++++ .../src/TileLaserObjectDumper.cxx | 69 +++++++++++++++ .../TileRecUtils/src/TileLaserObjectDumper.h | 64 ++++++++++++++ .../src/TileMuonReceiverDumper.cxx | 69 +++++++++++++++ .../TileRecUtils/src/TileMuonReceiverDumper.h | 64 ++++++++++++++ .../TileRecUtils/src/TileRawChannelDumper.cxx | 87 ++++++++++++++++++ .../TileRecUtils/src/TileRawChannelDumper.h | 69 +++++++++++++++ .../src/components/TileRecUtils_entries.cxx | 14 ++- 14 files changed, 869 insertions(+), 2 deletions(-) create mode 100644 TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h create mode 100644 TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h create mode 100644 TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileL2Dumper.h create mode 100644 TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h create mode 100644 TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h create mode 100644 TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx create mode 100644 TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h diff --git a/TileCalorimeter/TileRecUtils/CMakeLists.txt b/TileCalorimeter/TileRecUtils/CMakeLists.txt index 0c174d67789..674b26ca295 100644 --- a/TileCalorimeter/TileRecUtils/CMakeLists.txt +++ b/TileCalorimeter/TileRecUtils/CMakeLists.txt @@ -20,6 +20,7 @@ atlas_depends_on_subdirs( PUBLIC TileCalorimeter/TileSimEvent TileCalorimeter/TileIdentifier PRIVATE + Control/CxxUtils Calorimeter/CaloDetDescr Calorimeter/CaloEvent Control/AthAllocators @@ -42,7 +43,7 @@ atlas_add_library( TileRecUtilsLib INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel TileEvent TileSimEvent TileIdentifier CaloUtilsLib TileConditionsLib CaloDetDescrLib StoreGateLib SGtests + LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel TileEvent TileSimEvent TileIdentifier CaloUtilsLib TileConditionsLib CaloDetDescrLib StoreGateLib SGtests CxxUtils PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} CaloEvent AthAllocators xAODEventInfo TileCalibBlobObjs TileDetDescr PathResolver ) atlas_add_component( TileRecUtils diff --git a/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx new file mode 100644 index 00000000000..977e4f640dd --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileBeamElemDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileBeamElemContainer to a text file. + */ + + +#include "TileBeamElemDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileBeamElemDumper::TileBeamElemDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileBeamElemDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileBeamElemDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileBeamElemContainer> cont (m_contKey, ctx); + + fout << "TileBeamElemContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileBeamElemCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h new file mode 100644 index 00000000000..9dcf3b0b64d --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileBeamElemDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileBeamElemContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEBEAMELEMDUMPER_H +#define TILERECUTILS_TILEBEAMELEMDUMPER_H + + +#include "TileEvent/TileBeamElemContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileBeamElemContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileBeamElemDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileBeamElemDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileBeamElemContainer> m_contKey + { this, "TileBeamElemContainer", "TileBeamElemCnt", "Handle for input tile beam info." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEBEAMELEMDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx new file mode 100644 index 00000000000..4584e32a622 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileDigitsDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileDigitsContainer to a text file. + */ + + +#include "TileDigitsDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileDigitsDumper::TileDigitsDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileDigitsDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + if (!m_altContKey.key().empty()) { + ATH_CHECK( m_altContKey.initialize() ); + } + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileDigitsDumper::execute_r (const EventContext& ctx) const +{ + if (!m_altContKey.key().empty()) { + SG::ReadHandle<TileDigitsContainer> altCont (m_altContKey, ctx); + *altCont; + } + + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileDigitsContainer> cont (m_contKey, ctx); + + fout << "TileDigitsContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileDigitsCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + coll->printExtra (fout); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h new file mode 100644 index 00000000000..501efd757fa --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h @@ -0,0 +1,69 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileDigitsDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileDigitsContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEDIGITSDUMPER_H +#define TILERECUTILS_TILEDIGITSDUMPER_H + + +#include "TileEvent/TileDigitsContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileDigitsContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileDigitsDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileDigitsDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileDigitsContainer> m_contKey + { this, "TileDigitsContainer", "TileDigitsCnt", "Handle for input tile digits." }; + + /// Optional additional input dependency --- used when we access the object + /// produced on the side by the converter. + SG::ReadHandleKey<TileDigitsContainer> m_altContKey + { this, "AltTileDigitsContainer", "", "Alternate handle for input tile digits." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEDIGITSDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx new file mode 100644 index 00000000000..8a731996b69 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileL2Dumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#include "TileL2Dumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileL2Dumper::TileL2Dumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileL2Dumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileL2Dumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileL2Container> cont (m_contKey, ctx); + + fout << "TileL2Container/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h new file mode 100644 index 00000000000..368379badfd --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileL2Dumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#ifndef TILERECUTILS_TILEL2DUMPER_H +#define TILERECUTILS_TILEL2DUMPER_H + + +#include "TileEvent/TileL2Container.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileL2Container to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileL2Dumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileL2Dumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileL2Container> m_contKey + { this, "TileL2Container", "TileL2Cnt", "Handle for input tile L2 objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEL2DUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx new file mode 100644 index 00000000000..c969c075ea1 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileLaserObjectDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#include "TileLaserObjectDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileLaserObjectDumper::TileLaserObjectDumper (const std::string& name, + ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileLaserObjectDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileLaserObjectDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileLaserObject> cont (m_contKey, ctx); + + fout << "TileLaserObject/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h new file mode 100644 index 00000000000..c953c0a2308 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileLaserObjectDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileLaserObject to a text file. + */ + + +#ifndef TILERECUTILS_TILELASEROBJECTDUMPER_H +#define TILERECUTILS_TILELASEROBJECTDUMPER_H + + +#include "TileEvent/TileLaserObject.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileLaserObject to a text file. + * + * We write one file per object, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileLaserObjectDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileLaserObjectDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input object. + SG::ReadHandleKey<TileLaserObject> m_contKey + { this, "TileLaserObject", "TileLaserObj", "Handle for input laser objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILELASEROBJECTDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx new file mode 100644 index 00000000000..d676d51ba12 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileMuonReceiverDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileMuonReceiverContainer to a text file. + */ + + +#include "TileMuonReceiverDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileMuonReceiverDumper::TileMuonReceiverDumper (const std::string& name, + ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileMuonReceiverDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileMuonReceiverDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileMuonReceiverContainer> cont (m_contKey, ctx); + + fout << "TileMuonReceiverContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h new file mode 100644 index 00000000000..9af75e8b83c --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileMuonReceiverDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileMuonReceiverContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEMUONRECEIVERDUMPER_H +#define TILERECUTILS_TILEMUONRECEIVERDUMPER_H + + +#include "TileEvent/TileMuonReceiverContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileMuonReceiverContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileMuonReceiverDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileMuonReceiverDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileMuonReceiverContainer> m_contKey + { this, "TileMuonReceiverContainer", "TileMuRcvCnt", "Handle for input tile MuonReceiver objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEMUONRECEIVERDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx new file mode 100644 index 00000000000..4879ff2be10 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileRawChannelDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileRawChannelContainer to a text file. + */ + + +#include "TileRawChannelDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileRawChannelDumper::TileRawChannelDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileRawChannelDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + if (!m_altContKey.key().empty()) { + ATH_CHECK( m_altContKey.initialize() ); + } + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileRawChannelDumper::execute_r (const EventContext& ctx) const +{ + if (!m_altContKey.key().empty()) { + SG::ReadHandle<TileRawChannelContainer> altCont (m_altContKey, ctx); + *altCont; + } + + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileRawChannelContainer> cont (m_contKey, ctx); + + fout << "TileRawChannelContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileRawChannelCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h new file mode 100644 index 00000000000..2e6e0fa0b59 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h @@ -0,0 +1,69 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileRawChannelDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileRawChannelContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILERAWCHANNELDUMPER_H +#define TILERECUTILS_TILERAWCHANNELDUMPER_H + + +#include "TileEvent/TileRawChannelContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileRawChannelContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileRawChannelDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileRawChannelDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileRawChannelContainer> m_contKey + { this, "TileRawChannelContainer", "TileRawChannelCnt", "Handle for input tile raw channels." }; + + /// Optional additional input dependency --- used when we access the object + /// produced on the side by the converter. + SG::ReadHandleKey<TileRawChannelContainer> m_altContKey + { this, "AltTileRawChannelContainer", "", "Alternate handle for input tile raw channels." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILERAWCHANNELDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx b/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx index 68e1e09bafd..803b7588b68 100644 --- a/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx +++ b/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx @@ -14,10 +14,16 @@ #include "TileRecUtils/TileRawChannelMaker.h" #include "TileRecUtils/TileRawChannelVerify.h" #include "TileRecUtils/TileRawCorrelatedNoise.h" -#include "../TileTowerBuilderTool.h" #include "TileRecUtils/TileCellNoiseFilter.h" #include "TileRecUtils/TileRawChannelNoiseFilter.h" #include "TileRecUtils/TileRawChannelOF1Corrector.h" +#include "../TileTowerBuilderTool.h" +#include "../TileDigitsDumper.h" +#include "../TileRawChannelDumper.h" +#include "../TileBeamElemDumper.h" +#include "../TileL2Dumper.h" +#include "../TileLaserObjectDumper.h" +#include "../TileMuonReceiverDumper.h" DECLARE_COMPONENT( TileRawChannelBuilderFlatFilter ) DECLARE_COMPONENT( TileRawChannelBuilderFitFilter ) @@ -39,4 +45,10 @@ DECLARE_COMPONENT( TileRawChannelOF1Corrector ) DECLARE_COMPONENT( TileRawChannelMaker ) DECLARE_COMPONENT( TileRawChannelVerify ) DECLARE_COMPONENT( TileRawCorrelatedNoise ) +DECLARE_COMPONENT( TileDigitsDumper ) +DECLARE_COMPONENT( TileRawChannelDumper ) +DECLARE_COMPONENT( TileBeamElemDumper ) +DECLARE_COMPONENT( TileL2Dumper ) +DECLARE_COMPONENT( TileLaserObjectDumper ) +DECLARE_COMPONENT( TileMuonReceiverDumper ) -- GitLab From f6dd99d801eeb69e800b49ea12a06e5f22c20816 Mon Sep 17 00:00:00 2001 From: ckato <ckato@cern.ch> Date: Wed, 31 Oct 2018 08:55:48 +0100 Subject: [PATCH 025/209] removing debug message and old cabling Svc from MdtRdoToPrepDataTool --- .../src/MdtRdoToPrepDataTool.cxx | 19 +------------------ .../src/MdtRdoToPrepDataTool.h | 5 ----- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx index c078a6c0033..acc3e06f8d5 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx @@ -21,8 +21,6 @@ #include "MdtCalibSvc/MdtCalibrationSvcSettings.h" #include "MdtCalibSvc/MdtCalibrationSvcInput.h" -#include "MuonMDT_Cabling/MuonMDT_CablingSvc.h" - #include "MuonPrepRawData/MdtTwinPrepData.h" // TWIN TUBES using namespace MuonGM; @@ -82,11 +80,6 @@ Muon::MdtRdoToPrepDataTool::~MdtRdoToPrepDataTool() StatusCode Muon::MdtRdoToPrepDataTool::initialize() { - if (StatusCode::SUCCESS != serviceLocator()->service("MuonMDT_CablingSvc", m_mdtCabling)) { - ATH_MSG_ERROR(" Can't get MuonMDT_CablingSvc "); - return StatusCode::FAILURE; - } - if(detStore()->retrieve( m_muonMgr ).isFailure()) { ATH_MSG_FATAL(" Cannot retrieve MuonDetectorManager "); return StatusCode::FAILURE; @@ -167,23 +160,13 @@ StatusCode Muon::MdtRdoToPrepDataTool::finalize() StatusCode Muon::MdtRdoToPrepDataTool::decode( const std::vector<uint32_t>& robIds ) { - const std::vector<IdentifierHash>& chamberHashInRobs = m_mdtCabling->getChamberHashVec(robIds); - std::cout<<"ckato old robIds.size()="<<robIds.size()<<" chamberHashInRobs.size()="<<chamberHashInRobs.size()<<std::endl; - if ( robIds.size()!=0 && chamberHashInRobs.size()!=0 ) { - std::cout<<"ckato old robIds[0]="<<robIds[0]<<" chamberHashInRobs[0]="<<chamberHashInRobs[0]<<std::endl; - } SG::ReadCondHandle<MuonMDT_CablingMap> readHandle{m_readKey}; const MuonMDT_CablingMap* readCdo{*readHandle}; if(readCdo==0){ ATH_MSG_ERROR("Null pointer to the read conditions object"); return StatusCode::FAILURE; } - const std::vector<IdentifierHash>& chamberHashInRobs2 = readCdo->getChamberHashVec(robIds); - - std::cout<<"ckato new robIds.size()="<<robIds.size()<<" chamberHashInRobs2.size()="<<chamberHashInRobs2.size()<<std::endl; - if ( robIds.size()!=0 && chamberHashInRobs2.size()!=0 ) { - std::cout<<"ckato new robIds[0]="<<robIds[0]<<" chamberHashInRobs2[0]="<<chamberHashInRobs2[0]<<std::endl; - } + const std::vector<IdentifierHash>& chamberHashInRobs = readCdo->getChamberHashVec(robIds); return decode(chamberHashInRobs); } diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h index 64b5b2dd843..f4d999ae47a 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h @@ -27,10 +27,8 @@ class Identifier; class MdtIdHelper; class MdtDigit; class MdtCalibrationSvc; -class MuonMDT_CablingSvc; class MdtCalibrationSvcSettings; class MdtCalibHit; -//class MuonMDT_CablingSvc; //class MdtRDO_Decoder; class MdtCsm; class StoreGateSvc; @@ -145,9 +143,6 @@ namespace Muon ToolHandle<Muon::IMDT_RDO_Decoder> m_mdtDecoder; ToolHandle<Muon::MuonIdHelperTool> m_idHelper; - //retreive the cabling svc - MuonMDT_CablingSvc* m_mdtCabling; - //keepTrackOfFullEventDecoding bool m_fullEventDone; -- GitLab From 49b9ded04f03af71cf7da5bed3e69be18150fbd5 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Wed, 31 Oct 2018 12:53:39 +0100 Subject: [PATCH 026/209] No more public tools --- Event/ByteStreamCnvSvc/python/ByteStreamConfig.py | 2 -- .../TrigValidation/TrigUpgradeTest/share/newJOtest.py | 9 +++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py index 16e981c9285..4e2b18ce877 100644 --- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py +++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py @@ -46,11 +46,9 @@ def TrigBSReadCfg( inputFlags ): from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool iovMetaDataTool = IOVDbMetaDataTool() - acc.addPublicTool( iovMetaDataTool ) from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool bsMetaDataTool = ByteStreamMetadataTool() - acc.addPublicTool( bsMetaDataTool ) from StoreGate.StoreGateConf import ProxyProviderSvc, StoreGateSvc metaDataStore = StoreGateSvc("MetaDataStore") diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py index 22ff41945c8..214811cbde1 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py @@ -14,6 +14,15 @@ Configurable.configurableRun3Behavior=1 #theApp.setup() flags = ConfigFlags +# TODO move to the new (real menu like contqent for this flags ) +flags.addFlag('Trigger.menu.electrons', [ "HLT_e3_etcut L1_EM3", + "HLT_e5_etcut L1_EM3", + "HLT_e7_etcut L1_EM7"]) +flags.addFlag('Trigger.menu.photons', ['HLT_g10_etcut L1_EM7', + 'HLT_g15_etcut L1_EM12' ]) + + + flags.Input.isMC = False flags.Input.Files= ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"] -- GitLab From 8c9637d6f253a17a67d4543fc082509f95efe95c Mon Sep 17 00:00:00 2001 From: John Derek Chapman <chapman@hep.phy.cam.ac.uk> Date: Wed, 31 Oct 2018 09:23:17 +0000 Subject: [PATCH 027/209] Merge branch 'atlasRects4637' into '21.3' Skip setting message level when intializing NSW PRD and RDO converters (ATLASRECTS-4637) See merge request atlas/athena!15118 (cherry picked from commit 753b50682ff7971d4657656c751ed62a947e0f15) 1ec194c5 Skip setting message level when intializing NSW PRD and RDO converters 6deaa956 Clean commented lines in NSW RDO and PRD converters --- .../AthenaConfiguration/python/iconfTool/utils/__init__.py | 0 .../MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx | 2 -- .../MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx | 4 +--- .../MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx | 4 +--- .../MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx | 2 -- 5 files changed, 2 insertions(+), 10 deletions(-) mode change 100644 => 100755 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100644 new mode 100755 diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx index 424657976f5..68497de4c03 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx @@ -32,8 +32,6 @@ StatusCode MMPrepDataContainerCnv::initialize() { if( !MMPrepDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "MMPrepDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "MMPrepDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "MMPrepDataContainerCnv::initialize()" << endmsg; diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx index 86df555daaf..cba2e8a51c8 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx @@ -20,8 +20,6 @@ StatusCode MM_RawDataContainerCnv::initialize() { if( !MM_RawDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "MM_RawDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "MM_RawDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "MM_RawDataContainerCnv::initialize()" << endmsg; @@ -74,4 +72,4 @@ MM_RawDataContainerCnv::createTransient() throw std::runtime_error("Unsupported persistent version of MM Raw Data (RDO) container"); } return transCont; -} \ No newline at end of file +} diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx index 979d5c62143..1319fa8508a 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx @@ -19,8 +19,6 @@ StatusCode STGC_RawDataContainerCnv::initialize() { if( !STGC_RawDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "STGC_RawDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "STGC_RawDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "STGC_RawDataContainerCnv::initialize()" << endmsg; @@ -76,4 +74,4 @@ STGC_RawDataContainerCnv::createTransient() throw std::runtime_error("Unsupported persistent version of STGC Raw Data (RDO) container"); } return transCont; -} \ No newline at end of file +} diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx index 2787a36a080..86872b81668 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx @@ -32,8 +32,6 @@ StatusCode sTgcPrepDataContainerCnv::initialize() { if( !sTgcPrepDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "sTgcPrepDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "sTgcPrepDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "sTgcPrepDataContainerCnv::initialize()" << endmsg; -- GitLab From 5e74d9666485bfe7c33753156c25a5117f90fe8b Mon Sep 17 00:00:00 2001 From: John Derek Chapman <chapman@hep.phy.cam.ac.uk> Date: Wed, 31 Oct 2018 09:26:07 +0000 Subject: [PATCH 028/209] Merge branch 'NSWPRDValAlgATHMSGLVL' into '21.3' Fixing ATH MSG Level in NSWPRDValAlg See merge request atlas/athena!15409 (cherry picked from commit 80ecbaa66287e3d93e679fd0eae95f27ad246f32) 793f723b Fixing ATH MSG Level in NSWPRDValAlg --- .../python/iconfTool/utils/__init__.py | 0 .../MuonPRDTest/src/CSCDigitVariables.h | 5 +-- .../MuonPRDTest/src/MMDigitVariables.h | 5 +-- .../MuonPRDTest/src/MMPRDVariables.h | 5 +-- .../MuonPRDTest/src/MMRDOVariables.h | 5 +-- .../MuonPRDTest/src/MMSDOVariables.h | 5 +-- .../MuonPRDTest/src/MMSimHitVariables.h | 5 +-- .../MuonPRDTest/src/MuEntryVariables.h | 5 +-- .../MuonPRDTest/src/NSWPRDValAlg.cxx | 32 +++++++++---------- .../MuonPRDTest/src/TruthVariables.h | 5 +-- .../MuonPRDTest/src/ValAlgVariables.h | 6 ++-- .../MuonPRDTest/src/sTGCDigitVariables.cxx | 5 +-- .../MuonPRDTest/src/sTGCDigitVariables.h | 5 +-- .../MuonPRDTest/src/sTGCPRDVariables.h | 5 +-- .../MuonPRDTest/src/sTGCRDOVariables.h | 5 +-- .../MuonPRDTest/src/sTGCSDOVariables.h | 5 +-- .../MuonPRDTest/src/sTGCSimHitVariables.h | 5 +-- 17 files changed, 59 insertions(+), 49 deletions(-) mode change 100644 => 100755 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100644 new mode 100755 diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h index 4d91705a9cf..88b8cc6464e 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h @@ -17,8 +17,9 @@ class CSCDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "CSCDigitVariables"), + std::string containername, + MSG::Level msglvl) : +ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_CscIdHelper(0), m_CSC_nDigits(0), m_CSC_dig_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h index a0d057815c6..30c3c8a7082 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h @@ -17,8 +17,9 @@ class MMDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMDigitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nDigits(0), m_NSWMM_dig_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h index 8598573d713..1472f692beb 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h @@ -17,8 +17,9 @@ class MMPRDVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMPRDVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nPRDs(0), m_NSWMM_prd_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h index b3a5b68511d..2b587179d2c 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h @@ -17,8 +17,9 @@ class MMRDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMRDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nrdo(0), m_NSWMM_rdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h index 2c8499f93d3..71bce331df5 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h @@ -18,8 +18,9 @@ class MMSDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMSDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nsdo(0), m_NSWMM_sdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h index 9cc59c14d56..fe084fd265f 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h @@ -17,8 +17,9 @@ class MMSimHitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMSimHitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nSimHits(0), m_NSWMM_trackId(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h index b7d8eb51a9d..6638766f220 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h @@ -17,8 +17,9 @@ class MuEntryVariables : public ValAlgVariables MuEntryVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MuEntryVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MuEntry_nParticles(0), m_MuEntry_particlePt(0), m_MuEntry_particleEta(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx index 7c206f97f96..2b3dfccb3e9 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx @@ -110,25 +110,25 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doTruth){ m_TruthVar = new TruthVariables(&(*(evtStore())), m_detManager, - m_tree, m_Truth_ContainerName); - CHECK( m_TruthVar->initializeVariables() ); + m_tree, m_Truth_ContainerName, msgLevel()); + ATH_CHECK( m_TruthVar->initializeVariables() ); } if (m_doMuEntry){ m_MuEntryVar = new MuEntryVariables(&(*(evtStore())), m_detManager, - m_tree, m_MuEntry_ContainerName); + m_tree, m_MuEntry_ContainerName, msgLevel()); ATH_CHECK( m_MuEntryVar->initializeVariables() ); } if (m_doSTGCHit){ m_sTgcSimHitVar = new sTGCSimHitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_ContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_ContainerName, msgLevel()); ATH_CHECK( m_sTgcSimHitVar->initializeVariables() ); } if (m_doSTGCDigit){ m_sTgcDigitVar = new sTGCDigitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName, msgLevel()); ATH_CHECK( m_sTgcDigitVar->initializeVariables() ); } @@ -145,14 +145,14 @@ StatusCode NSWPRDValAlg::initialize() { // Take SDO conainer m_sTgcSdoVar = new sTGCSDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_SDOContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_SDOContainerName, msgLevel()); ATH_CHECK( m_sTgcSdoVar->initializeVariables() ); } if (m_doSTGCFastDigit){ // Take the "fast_SDO" instead of the SDOs from full sim m_sTgcFastSdoVar = new sTGCSDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, "sTGCfast_SDO"); + m_sTgcIdHelper, m_tree, "sTGCfast_SDO", msgLevel()); ATH_CHECK( m_sTgcFastSdoVar->initializeVariables() ); // Fast digits = PRD @@ -161,30 +161,30 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doSTGCRDO){ m_sTgcRdoVar = new sTGCRDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName, msgLevel()); ATH_CHECK( m_sTgcRdoVar->initializeVariables() ); } if (m_doSTGCPRD){ m_sTgcPrdVar = new sTGCPRDVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_PRDContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_PRDContainerName, msgLevel()); ATH_CHECK( m_sTgcPrdVar->initializeVariables() ); } if (m_doMMHit) { m_MmSimHitVar = new MMSimHitVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_ContainerName); + m_MmIdHelper, m_tree, m_NSWMM_ContainerName, msgLevel()); ATH_CHECK( m_MmSimHitVar->initializeVariables() ); } if (m_doMMDigit) { m_MmDigitVar = new MMDigitVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_DigitContainerName); + m_MmIdHelper, m_tree, m_NSWMM_DigitContainerName, msgLevel()); ATH_CHECK( m_MmDigitVar->initializeVariables() ); // Take SDO conainer m_MmSdoVar = new MMSDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_SDOContainerName); + m_MmIdHelper, m_tree, m_NSWMM_SDOContainerName, msgLevel()); ATH_CHECK( m_MmSdoVar->initializeVariables() ); } @@ -198,7 +198,7 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doMMFastDigit){ // Take the "fast_SDO" instead of the SDOs from full sim m_MmFastSdoVar = new MMSDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, "MMfast_SDO"); + m_MmIdHelper, m_tree, "MMfast_SDO", msgLevel()); ATH_CHECK( m_MmFastSdoVar->initializeVariables() ); // Fast digits = PRD @@ -208,13 +208,13 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doMMRDO) { m_MmRdoVar = new MMRDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName); + m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName, msgLevel()); ATH_CHECK( m_MmRdoVar->initializeVariables() ); } if (m_doMMPRD){ m_MmPrdVar = new MMPRDVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName); + m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName, msgLevel()); ATH_CHECK( m_MmPrdVar->initializeVariables() ); } @@ -226,7 +226,7 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doCSCDigit){ m_CscDigitVar = new CSCDigitVariables(&(*(evtStore())), m_detManager, - m_CscIdHelper, m_tree, m_CSC_DigitContainerName); + m_CscIdHelper, m_tree, m_CSC_DigitContainerName, msgLevel()); ATH_CHECK( m_CscDigitVar->initializeVariables() ); } diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h index 008c847ca93..d600dcd4dca 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h @@ -17,8 +17,9 @@ class TruthVariables : public ValAlgVariables TruthVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "TruthVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_Truth_nVertices(0), m_Truth_vertexX(0), m_Truth_vertexY(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h index 264735a55f1..b7ed44e29f8 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h @@ -23,13 +23,13 @@ class ValAlgVariables const MuonGM::MuonDetectorManager* detManager, TTree* tree, std::string containername, - std::string msgname) : + MSG::Level msglvl) : m_evtStore(evtStore), m_detManager(detManager), m_tree(tree), - m_ContainerName(containername), - m_msg(msgname) + m_ContainerName(containername) { + m_msg.get().setLevel(msglvl); } virtual ~ValAlgVariables() {}; diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx index c1bd81b7721..372fea21a08 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx @@ -18,10 +18,7 @@ /** ---------- to be called on each evt i.e. execute level of main alg */ StatusCode sTGCDigitVariables::fillVariables() { - ATH_MSG_INFO(" do fillNSWsTGCDigitVariables()"); - MSG::Level msgLevel = MSG::VERBOSE; - m_msg.get().setLevel(msgLevel); - + ATH_MSG_DEBUG(" do fillNSWsTGCDigitVariables()"); CHECK( this->clearVariables() ); const sTgcDigitContainer* nsw_sTgcDigitContainer = nullptr; diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h index cd61668af7b..ea4d219c3b1 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h @@ -17,8 +17,9 @@ class sTGCDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCDigitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_NSWsTGC_nDigits(0), m_NSWsTGC_nPadDigits(0), m_NSWsTGC_dig_time(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h index ddda572b53e..6b03b38a41c 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h @@ -17,8 +17,9 @@ class sTGCPRDVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCPRDVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nPRDs(0), m_NSWsTGC_prd_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h index 36b00eb62bf..2e89de331a0 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h @@ -17,8 +17,9 @@ class sTGCRDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCRDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nrdo(0), m_NSWsTGC_rdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h index 2e2f2f5f8aa..84a1a1c0fa8 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h @@ -18,8 +18,9 @@ class sTGCSDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCSDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nsdo(0), m_NSWsTGC_sdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h index 86029f9b9af..2e36014ef04 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h @@ -17,8 +17,9 @@ class sTGCSimHitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCSimHitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nSimHits(0), m_NSWsTGC_trackId(0), -- GitLab From 68ad9b285512d7a3873354b5b2a01e96591cd84f Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Thu, 1 Nov 2018 12:35:30 +0100 Subject: [PATCH 029/209] Solve coverity 118961 --- .../eflowRec/src/PFClusterSelectorTool.cxx | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx b/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx index 7939d876b9d..208eec61221 100644 --- a/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx +++ b/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx @@ -3,6 +3,7 @@ #include "eflowRec/eflowRecCluster.h" #include "eflowRec/PFClusterSelectorTool.h" #include "xAODCaloEvent/CaloCluster.h" +#include <exception> PFClusterSelectorTool::PFClusterSelectorTool(const std::string& type,const std::string& name,const IInterface* parent): base_class(type, name, parent) @@ -68,28 +69,26 @@ StatusCode PFClusterSelectorTool::finalize(){ return StatusCode::SUCCESS; } -void PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const unsigned& index, std::map<IdentifierHash,double>& cellsWeight, const xAOD::CaloClusterContainer& caloCalClustersContainer) { - +void +PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const unsigned& index, std::map<IdentifierHash,double>& cellsWeight, const xAOD::CaloClusterContainer& caloCalClustersContainer) { /* match CaloCluster with CaloCalCluster to obtain cell weight */ /* first try the position at 'index'. If we are lucky, the loop can be avoided. */ /* Note the read handle has been tested to be valid prior to the call of this function */ const xAOD::CaloCluster* matchedCalCluster = caloCalClustersContainer.at(index); - if (matchedCalCluster){ - if (!(fabs(energy - matchedCalCluster->rawE()) < 0.001)) { matchedCalCluster = nullptr; - for (unsigned iCalCalCluster = 0; iCalCalCluster < caloCalClustersContainer.size(); - ++iCalCalCluster) { - matchedCalCluster = caloCalClustersContainer.at(iCalCalCluster); - if (fabs(energy - matchedCalCluster->rawE()) < 0.001) { - break; - } + for (unsigned iCalCalCluster = 0; iCalCalCluster < caloCalClustersContainer.size();++iCalCalCluster) { + matchedCalCluster = caloCalClustersContainer.at(iCalCalCluster); + if (fabs(energy - matchedCalCluster->rawE()) < 0.001) { + break; + } } if (!matchedCalCluster) ATH_MSG_WARNING("Invalid pointer to matched cluster - failed to find cluster match"); } - assert(matchedCalCluster); - + if (not matchedCalCluster){ + throw std::runtime_error("matchedCluster is a null pointer in PFClusterSelectorTool::retrieveLCCalCellWeight"); + } /* obtain cell index and cell weight */ const CaloDetDescrManager* calo_dd_man = CaloDetDescrManager::instance(); const CaloCell_ID* calo_id = calo_dd_man->getCaloCell_ID(); @@ -101,8 +100,6 @@ void PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const IdentifierHash myHashId = calo_id->calo_cell_hash(myId); cellsWeight[myHashId] = itCell.weight(); } - } - else ATH_MSG_WARNING("Invalid pointer to matched cluster - could not look up local hadron cell weights"); - + } else ATH_MSG_WARNING("Invalid pointer to matched cluster - could not look up local hadron cell weights"); return ; } -- GitLab From 0fe4136bf0f3dce29ae132b8d82e5520cb3e3483 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 1 Nov 2018 13:45:29 +0100 Subject: [PATCH 030/209] Update packages:HLToks JiveXMLServer HLTUtils TrigTransform TrigCommon TrigExMTHelloWorldLvl1 TrigExPartialEB TrigExL2muCalibTest TrigExMTHelloWorld TrigServices TrigPython TrigKernel TrigPSC HLTRates2COOL TrigOnlineMonitor TrigConf2COOLOnline HLTTestApps ByteStreamEmonSvc TrigByteStreamCnvSvc from upstream/21.1 to upstream/master via pseudo-merge --- HLT/HLTTestApps/src/Event.cxx | 10 +- HLT/HLTUtils/python/hltOksUtils.py | 23 +++- HLT/HLTUtils/share/asetup_wrapper | 111 +++++++++--------- HLT/HLTUtils/share/make_hlt_rep.py | 106 +++++++++++------ .../TrigConf2COOLOnline/CMakeLists.txt | 45 +------ .../TrigConf2COOLOnline/OnlTrigC2CWriter.h | 2 +- .../schema/is_trigconf_hlt.schema.xml | 100 ---------------- .../schema/is_trigconf_l1.schema.xml | 100 ---------------- .../src/OnlTrigC2CWriter.cxx | 10 +- .../TrigTransform/python/dbgAnalysis.py | 8 +- .../TrigTransform/python/dbgEventInfo.py | 1 - .../TrigTransform/python/trigRecoExe.py | 2 +- 12 files changed, 172 insertions(+), 346 deletions(-) delete mode 100644 HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml delete mode 100644 HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml diff --git a/HLT/HLTTestApps/src/Event.cxx b/HLT/HLTTestApps/src/Event.cxx index 74d36b66073..d717abfe63c 100644 --- a/HLT/HLTTestApps/src/Event.cxx +++ b/HLT/HLTTestApps/src/Event.cxx @@ -304,7 +304,15 @@ HLTTestApps::Event::Event(const eformat::read::FullEventFragment& event) "ignore the current ROB fragment."); msg % robid % m_lvl1_id; ers::warning(HLTTESTAPPS_UNCLASSIFIED(msg.str())); - } + } + else if ((!sm_rob2ros.empty()) && (sm_rob2ros.find(robid)==sm_rob2ros.end())) + { + boost::format msg("Found ROB id (0x%08x) while " + "configuring event with LVL1 id=%lu, which is not in the provided ROS to ROB mapping. " + "This ROB fragment will be ignored."); + msg % robid % m_lvl1_id; + ers::warning(HLTTESTAPPS_UNCLASSIFIED(msg.str())); + } else { m_map.insert(std::make_pair(robid, ROB{robid, pair.second, eformat::read::ROBFragment(pair.second).fragment_size_word()})); diff --git a/HLT/HLTUtils/python/hltOksUtils.py b/HLT/HLTUtils/python/hltOksUtils.py index cc1152c365e..9f74b79390e 100644 --- a/HLT/HLTUtils/python/hltOksUtils.py +++ b/HLT/HLTUtils/python/hltOksUtils.py @@ -1,15 +1,30 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration """ Utilities for HLT OKS file generation """ +import os + def defaultTags(): """Return list of supported CMTCONFIG tags""" import pm.common - tags = [pm.common.tdaqRepository.getObject('Tag', 'x86_64-slc6-gcc62-opt'), - pm.common.tdaqRepository.getObject('Tag', 'x86_64-slc6-gcc62-dbg')] - + + tag = platform() + opt_tag = '-'.join(tag.split('-')[:-1])+'-opt' + dbg_tag = '-'.join(tag.split('-')[:-1])+'-dbg' + tags = [pm.common.tdaqRepository.getObject('Tag', opt_tag), + pm.common.tdaqRepository.getObject('Tag', dbg_tag)] + return tags +def platform(): + """Return current CMTCONFIG tag""" + + project = os.environ.get('AtlasProject','') + tag = os.environ.get('%s_PLATFORM' % project, os.environ.get('CMTCONFIG',None)) + + return tag + + diff --git a/HLT/HLTUtils/share/asetup_wrapper b/HLT/HLTUtils/share/asetup_wrapper index a3af5204c0f..e0e78e8c8d4 100755 --- a/HLT/HLTUtils/share/asetup_wrapper +++ b/HLT/HLTUtils/share/asetup_wrapper @@ -4,12 +4,20 @@ # if [ $# -lt 1 -o "$1" == "-h" ]; then - echo 'Syntax: asetup_wrapper CMD [ARGS]' - echo 'Required environment: ' - echo ' AtlasSetup : location of AtlasSetup installation' - echo ' ASETUP_ARGS : arguments passed to asetup' - echo 'Optional environment: ' - echo ' ASETUP_PRELOAD : Value to set for LD_PRELOAD after asetup has been run' +cat <<EOF +Syntax: asetup_wrapper CMD [ARGS] + +Will run 'asetup \$ASETUP_ARGS' before executing CMD with optional ARGS. +- CORAL_AUTH_PATH, CORAL_DBLOOKUP_PATH are protected from modification + +Required environment: + AtlasSetup : location of AtlasSetup installation + ASETUP_ARGS : arguments passed to asetup +Optional environment: + ASETUP_PRELOAD : Value to set for LD_PRELOAD after asetup has been run + ASETUP_EXTRA_SW_PATH : Extra build area to prepend (i.e. the InstallArea directory) + ASETUP_VERBOSE : Print environment before/after asetup +EOF exit 1 fi @@ -17,28 +25,11 @@ cmd=$1 shift args="$*" +LOG='+++ asetup_wrapper:' + # Not provided by default in partition export PATH=${PATH}:/bin:/usr/bin -if [ ! -z "${HLT_VERBOSE}" ]; then - echo "================================================================================" - echo "Environment delivered to asetup_wrapper script:" - printenv | sort - echo "================================================================================" -fi - -set_coredump() -{ - # Set core dump limits if required and allowed - if [ ! -z "${HLT_COREDUMPSIZE}" ] - then - echo "Setting core dump limits to: ${HLT_COREDUMPSIZE}" - ulimit -c ${HLT_COREDUMPSIZE} - ulimit -a - fi -} - - reverse_paths() { result="" @@ -51,47 +42,54 @@ reverse_paths() update_paths() { - if [ ! -z "${HLT_EXTRA_SW_PATH}" ] + if [ ! -z "${ASETUP_EXTRA_SW_PATH}" ] then - for dir in `reverse_paths ${HLT_EXTRA_SW_PATH}` + for dir in `reverse_paths ${ASETUP_EXTRA_SW_PATH}` do if [ -d ${dir} ] then - export PATH=${dir}/InstallArea/share/bin:${dir}/InstallArea/${CMTCONFIG}/bin:${PATH} - export LD_LIBRARY_PATH=${dir}/InstallArea/${CMTCONFIG}/lib:${LD_LIBRARY_PATH} - export PYTHONPATH=${dir}/InstallArea/python:${PYTHONPATH} - export JOBOPTSEARCHPATH=${dir}/InstallArea/jobOptions:${JOBOPTSEARCHPATH} - export DATAPATH=${dir}/InstallArea/share:${DATAPATH} - export CALIBPATH=${dir}/InstallArea/share:${CALIBPATH} - export XMLPATH=${dir}/InstallArea/XML:${XMLPATH} + export PATH=${dir}/${CMTCONFIG}/share/bin:${dir}/${CMTCONFIG}/bin:${PATH} + export LD_LIBRARY_PATH=${dir}/${CMTCONFIG}/lib:${LD_LIBRARY_PATH} + export PYTHONPATH=${dir}/${CMTCONFIG}/python:${PYTHONPATH} + export JOBOPTSEARCHPATH=${dir}/${CMTCONFIG}/jobOptions:${JOBOPTSEARCHPATH} + export DATAPATH=${dir}/${CMTCONFIG}/share:${DATAPATH} + export CALIBPATH=${dir}/${CMTCONFIG}/share:${CALIBPATH} + export XMLPATH=${dir}/${CMTCONFIG}/XML:${XMLPATH} else - echo "WARNING: directory ${dir} does not exist !" + echo "$LOG WARNING: directory ${dir} does not exist !" fi - done - echo "PATH=`echo ${PATH} | tr ':' '\n'`" - echo "LD_LIBRARY_PATH=`echo ${LD_LIBRARY_PATH} | tr ':' '\n'`" - echo "PYTHONPATH=`echo ${PYTHONPATH} | tr ':' '\n'`" - echo "JOBOPTSEARCHPATH=`echo ${JOBOPTSEARCHPATH} | tr ':' '\n'`" - echo "DATAPATH=`echo ${DATAPATH} | tr ':' '\n'`" - echo "CALIBPATH=`echo ${CALIBPATH} | tr ':' '\n'`" - echo "XMLPATH=`echo ${XMLPATH} | tr ':' '\n'`" + echo "$LOG Using ASETUP_EXTRA_SW_PATH=$ASETUP_EXTRA_SW_PATH:" + printenv | egrep ^PATH\|^LD_LIBRARY_PATH\|^PYTHONPATH\|^JOBOPTSEARCHPATH\|^DATAPATH\|^CALIBPATH\|^XMLPATH + done fi } -update_paths -set_coredump +if [ ! -z "${ASETUP_VERBOSE}" ]; then + echo "================================================================================" + echo "$LOG Environment delivered to asetup_wrapper script:" + printenv | sort + echo "================================================================================" +fi + +# Protect a few environment variables if they are set +protect_env=`printenv | egrep ^CORAL_AUTH_PATH\|^CORAL_DBLOOKUP_PATH` + +if [ ! -z "${protect_env}" ]; then + echo "$LOG Will RESTORE the following variables after running asetup:" + echo "$protect_env" +fi if [ ! -e ${AtlasSetup}/scripts/asetup.sh ]; then - echo 'Cannot find asetup. Make sure $AtlasSetup is set correctly.' + echo '$LOG Cannot find asetup. Make sure $AtlasSetup is set correctly.' exit 1 fi if [ -z "${ASETUP_ARGS}" ]; then - echo 'No asetup tags given. Please set $ASETUP_ARGS.' + echo '$LOG No asetup tags given. Please set $ASETUP_ARGS.' exit 1 fi -echo "asetup environment with tags: ${ASETUP_ARGS}" +echo "$LOG Executing asetup ${ASETUP_ARGS}" source ${AtlasSetup}/scripts/asetup.sh --input=None ${ASETUP_ARGS} if [ $? -ne 0 ]; then @@ -100,16 +98,23 @@ fi if [ ! -z "${ASETUP_PRELOAD}" ]; then export LD_PRELOAD=${ASETUP_PRELOAD} - echo "Setting LD_PRELOAD=${LD_PRELOAD}" + echo "$LOG Setting LD_PRELOAD=${LD_PRELOAD}" fi -if [ ! -z "${HLT_VERBOSE}" ]; then +# Restore protected variables +set -o allexport +eval $protect_env +set +o allexport + +# Now add any extra directory if specified +update_paths + +if [ ! -z "${ASETUP_VERBOSE}" ]; then echo "================================================================================" - echo "Environment before calling 'exec $cmd $args'" + echo "$LOG Environment before calling 'exec $cmd $args'" printenv | sort echo "================================================================================" fi -echo "exec $cmd $args" +echo "$LOG exec $cmd $args" exec $cmd $args - diff --git a/HLT/HLTUtils/share/make_hlt_rep.py b/HLT/HLTUtils/share/make_hlt_rep.py index 0faa0b1821d..f1e35840f91 100755 --- a/HLT/HLTUtils/share/make_hlt_rep.py +++ b/HLT/HLTUtils/share/make_hlt_rep.py @@ -1,6 +1,8 @@ #!/usr/bin/env python +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration import optparse +import os import pm.project import pm.common @@ -14,7 +16,7 @@ modifier = '' parser = optparse.OptionParser(description="Create HLT S/W respository") parser.add_option("-p", "--prefix", action="store", - help="Prefix used in make_hlt_env (default: 'HLT')") + help="Prefix used for all objects (default: 'HLT')") parser.add_option("-m", "--modifier", action="store", help="Modifier for objects in S/W repository (default: '')") @@ -29,45 +31,85 @@ if opt.modifier is not None and len(opt.modifier)>0: rep = pm.project.Project('daq/sw/repository.data.xml') onlineRep = rep.getObject('SW_Repository', 'Online') -hlt_env = pm.project.Project('daq/segments/%s-Environment.data.xml' % prefix) +common_env = pm.project.Project('daq/segments/common-environment.data.xml') -apps = [ - dal.Script('asetup_wrapper%s' % modifier, - BinaryName='asetup_wrapper', - Description='Provide asetup environment to any command' - ) - ] +atlas_project = os.environ.get('AtlasProject') + +if 'AtlasBuildStamp' in os.environ: + # nightly + atlas_version='%s,r%s' % (os.environ.get('AtlasBuildBranch'), + os.environ.get('AtlasBuildStamp')) +else: + # numbered releases + atlas_version = os.environ.get('AtlasVersion') + +platform = hltOksUtils.platform() -vars = [ - dal.SW_PackageVariable('XMLPATH%s' % modifier, +swvars = [ + dal.SW_PackageVariable('XMLPATH', Name='XMLPATH', - Suffix="XML"), - dal.SW_PackageVariable('DATAPATH%s' % modifier, + Suffix=os.path.join(platform,"XML")), + dal.SW_PackageVariable('DATAPATH', Name='DATAPATH', - Suffix="share"), - dal.SW_PackageVariable('CALIBPATH%s' % modifier, + Suffix=os.path.join(platform,"share")), + dal.SW_PackageVariable('CALIBPATH', Name='CALIBPATH', - Suffix="share"), - dal.SW_PackageVariable('JOBOPTSEARCHPATH%s' % modifier, + Suffix=os.path.join(platform,"share")), + dal.SW_PackageVariable('JOBOPTSEARCHPATH', Name='JOBOPTSEARCHPATH', - Suffix="jobOptions"), - dal.SW_PackageVariable('PYTHONPATH%s' % modifier, + Suffix=os.path.join(platform,"jobOptions")), + dal.SW_PackageVariable('PYTHONPATH', Name='PYTHONPATH', - Suffix="python") + Suffix=os.path.join(platform,"python")) +] + +puvars = [ + dal.Variable('%s_ASETUP_ARGS' % prefix, + Name='ASETUP_ARGS', + Value=('%s,%s' % (atlas_project, '${%s_VERSION}' % prefix)), + Description='asetup arguments'), + + dal.Variable('%s_PRELOAD' % prefix, + Name='ASETUP_PRELOAD', + Value='libtcmalloc_minimal.so:libimf.so:libintlc.so.5', + Description='Preload libraries'), + + dal.Variable('%s_VERBOSE' % prefix, + Name='ASETUP_VERBOSE', + Value='0', + Description='Verbosity for asetup_wrapper'), + + dal.Variable('%s_EXTRA_SW_PATH' % prefix, + Name='ASETUP_EXTRA_SW_PATH', + Value='', + Description='Patch area (e.g. /my/path/InstallArea)'), + + common_env.getObject('Variable','AtlasSetup') +] + +pars = dal.VariableSet('%s-Parameters' % prefix, + Description='Parameters to expand for executables', + Contains = [ dal.Variable('%s_VERSION' % prefix, + Name='%s_VERSION' % prefix, + Value=atlas_version, + Description='%s release version' % prefix) ]) + +apps = [ + dal.Binary('HLTMPPU_asetup', + BinaryName='asetup_wrapper', + Description='HLTMPPU_main with asetup environment', + DefaultParameters='HLTMPPU_main', + ProcessEnvironment=puvars) ] -try: - rel = hlt_env.getObject('Variable','%s-AtlasArea' % prefix).Value.split('/')[-1] -except: - print ('Could not determine release number from AtlasArea') - hltRep = dal.SW_Repository('%s-Repository' % prefix, - Name='HLT-Repository', - InstallationPath="${ATLAS_BASE}/AtlasHLT/%s/InstallArea" % rel, + Name=('%s-Repository' % prefix), + InstallationPath="%s/InstallArea" % os.environ.get('AtlasArea'), SW_Objects=apps, - Tags=hltOksUtils.defaultTags(), - ISInfoDescriptionFiles=['share/data/daq/schema/is_trigconf_hlt.schema.xml'] + Tags=[pm.common.tdaqRepository.getObject('Tag',hltOksUtils.platform())], + ISInfoDescriptionFiles=[os.path.join(platform,'share/data/daq/schema/is_trigconf_hlt.schema.xml')], + AddProcessEnvironment = swvars ) for app in apps: @@ -75,10 +117,8 @@ for app in apps: proj = pm.project.Project('%s_SW_Repository.data.xml' % prefix, ['daq/schema/core.schema.xml', - 'daq/sw/repository.data.xml', - 'daq/segments/%s-Environment.data.xml' % prefix - ]) + 'daq/sw/repository.data.xml']) proj.addObjects([hltRep]) -proj.addObjects(vars) - +proj.addObjects([pars]) + diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt index 16a6a5bc40f..d359f2b9deb 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt @@ -1,4 +1,3 @@ -# $Id: CMakeLists.txt 773563 2016-09-16 11:02:38Z smh $ ################################################################################ # Package: TrigConf2COOLOnline ################################################################################ @@ -17,49 +16,13 @@ atlas_depends_on_subdirs( find_package( Boost COMPONENTS program_options ) find_package( COOL COMPONENTS CoolKernel CoolApplication ) find_package( tdaq COMPONENTS daq-core-dal daq-hlt-dal - rc_CmdLine rc_ItemCtrl rc_OnlSvc rc_RCCommands omniORB4 omnithread owl is ipc config) + rc_CmdLine rc_ItemCtrl rc_OnlSvc rc_RCCommands omniORB4 omnithread owl is ipc config TTCInfo) find_package( tdaq-common COMPONENTS ers ) find_package( TBB ) -# Names of the auto-generated headers: -set( _autogenHeaders - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfSmKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfL1PsKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfL1BgKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfHltPsKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfReleaseNamed.h ) - -# The hardcoded location of the Java executable: -set( _javaHome - /afs/cern.ch/atlas/project/tdaq/inst/sw/lcg/external/Java/JDK/1.8.0/amd64 ) - -# Construct a functional CLASSPATH from the .jar files in tdaq: -file( GLOB _jarFiles "${TDAQ_ROOT}/installed/share/lib/*.jar" ) -set( _classpath "." ) -foreach( _jar ${_jarFiles} ) - set( _classpath "${_classpath}:${_jar}" ) -endforeach() -unset( _jarFiles ) - -# Set up a rule generating some header files: -add_custom_command( OUTPUT ${_autogenHeaders} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline - COMMAND ${CMAKE_COMMAND} -E env TDAQ_JAVA_HOME=${_javaHome} - CLASSPATH=${_classpath} - ${CMAKE_BINARY_DIR}/atlas_build_run.sh is_generator.sh - -d ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline --cpp - -n ${CMAKE_CURRENT_SOURCE_DIR}/schema/is_trigconf_hlt.schema.xml - ${CMAKE_CURRENT_SOURCE_DIR}/schema/is_trigconf_l1.schema.xml ) -unset( _classpath ) - -# Clean up the files on "make clean": -set_directory_properties( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES - "${_autogenHeaders}" ) - # Component(s) in the package: atlas_add_library( TrigConf2COOLOnline - src/*.cxx ${_autogenHeaders} + src/*.cxx PUBLIC_HEADERS TrigConf2COOLOnline INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${COOL_INCLUDE_DIRS} @@ -75,7 +38,3 @@ atlas_add_executable( TrigConf2CoolOnline LINK_LIBRARIES ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} TrigConf2COOLOnline ) -# Install files from the package: -atlas_install_generic( schema/*.xml - DESTINATION share/data/daq/schema - TYPENAME Schema ) diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h index 5c12ed0040d..62c51a30d6d 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml deleted file mode 100644 index de27c863c1d..00000000000 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<!-- oks-schema version 2.0 --> - - -<!DOCTYPE oks-schema [ - <!ELEMENT oks-schema (info, (include)?, (class)+)> - <!ELEMENT info EMPTY> - <!ATTLIST info - name CDATA #REQUIRED - type CDATA #REQUIRED - num-of-includes CDATA #REQUIRED - num-of-items CDATA #REQUIRED - oks-format CDATA #FIXED "schema" - oks-version CDATA #REQUIRED - created-by CDATA #REQUIRED - created-on CDATA #REQUIRED - creation-time CDATA #REQUIRED - last-modified-by CDATA #REQUIRED - last-modified-on CDATA #REQUIRED - last-modification-time CDATA #REQUIRED - > - <!ELEMENT include (file)+> - <!ELEMENT file EMPTY> - <!ATTLIST file - path CDATA #REQUIRED - > - <!ELEMENT class (superclass | attribute | relationship | method)*> - <!ATTLIST class - name CDATA #REQUIRED - description CDATA "" - is-abstract (yes|no) "no" - > - <!ELEMENT superclass EMPTY> - <!ATTLIST superclass name CDATA #REQUIRED> - <!ELEMENT attribute EMPTY> - <!ATTLIST attribute - name CDATA #REQUIRED - description CDATA "" - type (bool|s8|u8|s16|u16|s32|u32|float|double|date|time|string|uid|enum) #REQUIRED - range CDATA "" - format (dec|hex|oct) "dec" - is-multi-value (yes|no) "no" - multi-value-implementation (list|vector) "list" - init-value CDATA "" - is-not-null (yes|no) "no" - > - <!ELEMENT relationship EMPTY> - <!ATTLIST relationship - name CDATA #REQUIRED - description CDATA "" - class-type CDATA #REQUIRED - low-cc (zero|one) #REQUIRED - high-cc (one|many) #REQUIRED - is-composite (yes|no) #REQUIRED - is-exclusive (yes|no) #REQUIRED - is-dependent (yes|no) #REQUIRED - multi-value-implementation (list|vector) "list" - > - <!ELEMENT method (method-implementation*)> - <!ATTLIST method - name CDATA #REQUIRED - description CDATA "" - > - <!ELEMENT method-implementation EMPTY> - <!ATTLIST method-implementation - language CDATA #REQUIRED - prototype CDATA #REQUIRED - body CDATA "" - > -]> - -<oks-schema> - - <info name="" type="" num-of-includes="1" num-of-items="2" oks-format="schema" oks-version="oks-03-07-02 built "Jul 23 2007"" created-by="pauly" created-on="pcphate12.cern.ch" creation-time="20/7/06 15:42:51" last-modified-by="pauly" last-modified-on="pcphate14" last-modification-time="20/8/07 14:44:05"/> - - <include> - <file path="is/is.xml"/> - </include> - - <class name="TrigConfSmKey" description="Trigger configuration database key in use"> - <superclass name="Info"/> - <attribute name="SuperMasterKey" description="Supermaster key of the trigger configuration" type="u32"/> - <attribute name="SuperMasterComment" description="Supermaster comment" type="string"/> - </class> - - <class name="TrigConfHltPsKey" description="Current HLT prescale key"> - <superclass name="Info"/> - <attribute name="HltPrescaleKey" description="HLT prescale key of the trigger configuration" type="u32"/> - <attribute name="HltPrescaleComment" description="HLT prescale comment" type="string"/> - </class> - - <class name="TrigConfRelease" description="HLT Release description"> - <superclass name="Info"/> - <attribute name="HLTReleaseVersion" description="Release and patch version like 15.5.1.2" type="string"/> - <attribute name="HLTPatchProject" description="Name of patch project, usualy AtlasP1HLT" type="string"/> - <attribute name="HLTExtraPatch" description="Path to extra patch area, should be empty except during commissioning" type="string"/> - </class> - -</oks-schema> diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml deleted file mode 100644 index 73bcf9766cf..00000000000 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<!-- oks-schema version 2.0 --> - - -<!DOCTYPE oks-schema [ - <!ELEMENT oks-schema (info, (include)?, (class)+)> - <!ELEMENT info EMPTY> - <!ATTLIST info - name CDATA #REQUIRED - type CDATA #REQUIRED - num-of-includes CDATA #REQUIRED - num-of-items CDATA #REQUIRED - oks-format CDATA #FIXED "schema" - oks-version CDATA #REQUIRED - created-by CDATA #REQUIRED - created-on CDATA #REQUIRED - creation-time CDATA #REQUIRED - last-modified-by CDATA #REQUIRED - last-modified-on CDATA #REQUIRED - last-modification-time CDATA #REQUIRED - > - <!ELEMENT include (file)+> - <!ELEMENT file EMPTY> - <!ATTLIST file - path CDATA #REQUIRED - > - <!ELEMENT class (superclass | attribute | relationship | method)*> - <!ATTLIST class - name CDATA #REQUIRED - description CDATA "" - is-abstract (yes|no) "no" - > - <!ELEMENT superclass EMPTY> - <!ATTLIST superclass name CDATA #REQUIRED> - <!ELEMENT attribute EMPTY> - <!ATTLIST attribute - name CDATA #REQUIRED - description CDATA "" - type (bool|s8|u8|s16|u16|s32|u32|float|double|date|time|string|uid|enum) #REQUIRED - range CDATA "" - format (dec|hex|oct) "dec" - is-multi-value (yes|no) "no" - multi-value-implementation (list|vector) "list" - init-value CDATA "" - is-not-null (yes|no) "no" - > - <!ELEMENT relationship EMPTY> - <!ATTLIST relationship - name CDATA #REQUIRED - description CDATA "" - class-type CDATA #REQUIRED - low-cc (zero|one) #REQUIRED - high-cc (one|many) #REQUIRED - is-composite (yes|no) #REQUIRED - is-exclusive (yes|no) #REQUIRED - is-dependent (yes|no) #REQUIRED - multi-value-implementation (list|vector) "list" - > - <!ELEMENT method (method-implementation*)> - <!ATTLIST method - name CDATA #REQUIRED - description CDATA "" - > - <!ELEMENT method-implementation EMPTY> - <!ATTLIST method-implementation - language CDATA #REQUIRED - prototype CDATA #REQUIRED - body CDATA "" - > -]> - -<oks-schema> - - <info name="" type="" num-of-includes="1" num-of-items="2" oks-format="schema" oks-version="oks-03-07-02 built "Jul 23 2007"" created-by="pauly" created-on="pcphate12.cern.ch" creation-time="20/7/06 15:42:51" last-modified-by="pauly" last-modified-on="pcphate14" last-modification-time="20/8/07 14:44:05"/> - - <include> - <file path="is/is.xml"/> - </include> - - <class name="TrigConfL1PsKey" description="Current L1 prescale key"> - <superclass name="Info"/> - <attribute name="L1PrescaleKey" description="L1 prescale key of the trigger configuration" type="u32"/> - <attribute name="L1PrescaleComment" description="L1 prescale comment" type="string"/> - </class> - - <class name="TrigConfL1BgKey" description="Current L1 bunch group key"> - <superclass name="Info"/> - <attribute name="L1BunchGroupKey" description="LVL1 bunch group key of the trigger configuration" type="u32"/> - <attribute name="L1BunchGroupComment" description="LVL1 bunch group comment" type="string"/> - </class> - - <class name="TrigConfRelease" description="HLT Release description"> - <superclass name="Info"/> - <attribute name="HLTReleaseVersion" description="Release and patch version like 15.5.1.2" type="string"/> - <attribute name="HLTPatchProject" description="Name of patch project, usualy AtlasP1HLT" type="string"/> - <attribute name="HLTExtraPatch" description="Path to extra patch area, should be empty except during commissioning" type="string"/> - </class> - -</oks-schema> diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx index 5c29f298022..0054daf5894 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -17,10 +17,10 @@ #include "TrigConf2COOLOnline/OnlTrigC2CWriter.h" -#include "TrigConf2COOLOnline/TrigConfSmKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfL1PsKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfHltPsKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfReleaseNamed.h" +#include "TTCInfo/TrigConfSmKeyNamed.h" +#include "TTCInfo/TrigConfL1PsKeyNamed.h" +#include "TTCInfo/TrigConfHltPsKeyNamed.h" +#include "TTCInfo/TrigConfReleaseNamed.h" #include "config/Configuration.h" diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py index 93b7fab3129..2657baa2bd2 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py @@ -28,7 +28,7 @@ def dbgPreRun(inputFileList,outputFileList): total = 0 #open root output file out_file = outputFileList[0] - hfile = TFile( out_file , 'UPDATE' ) + hfile = TFile( out_file , 'RECREATE' ) #inicialize dbgEventInfo, this is the main event analysis class eventInfo = dbgEventInfo("_Pre",inputFileList.value[0]) data = [] @@ -264,13 +264,13 @@ def getAsetupString(release): #If TestArea is for tzero (tzero/software/patches/AtlasP1HLT-RELEASE), then returns tzero/software/patches/AtlasP1HLT-release where release is the parameter given to this function getAsetupString(release) if eVarDic.get('TestArea') : TestArea = eVarDic['TestArea'] - if TestArea.find("tzero/software/patches/AtlasP1HLT-") > 0 : + if TestArea.find("tzero/software/patches/AthenaP1-") > 0 : testarea = TestArea.split('-') TestArea = testarea[0]+'-'+release - asetupString = AtlasProject + ',' + release + ',gcc49,cvmfs --testarea '+ TestArea + asetupString = AtlasProject + ',' + release + ',gcc62 --testarea '+ TestArea return asetupString #else, there is no TestArea, then use the local directory else : - asetupString = AtlasProject + ',' + release + ',gcc49,here' + asetupString = AtlasProject + ',' + release + ',gcc62,here' return asetupString diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py index e9ce500f4f4..579683da3b1 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py @@ -405,7 +405,6 @@ class dbgEventInfo: def root_definitions(self,dbgStep,inputFile): - gROOT.Reset() gStyle.SetCanvasColor(0) gStyle.SetOptStat(000000) gROOT.SetStyle("Plain") diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py index 5e5b57a9236..8726c20d3ed 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py @@ -16,7 +16,7 @@ import re from PyJobTransforms.trfExe import athenaExecutor #imports for preExecute -from PyJobTransforms.trfUtils import asetupReport +from PyJobTransforms.trfUtils import asetupReport, cvmfsDBReleaseCheck import PyJobTransforms.trfEnv as trfEnv import PyJobTransforms.trfExceptions as trfExceptions from PyJobTransforms.trfExitCodes import trfExit as trfExit -- GitLab From aa2e21e10c8a776f295246f3421075433dd1761f Mon Sep 17 00:00:00 2001 From: Tim Martin <Tim.Martin@cern.ch> Date: Thu, 1 Nov 2018 14:09:20 +0100 Subject: [PATCH 031/209] Update packages:TrigMinBias TrigT2MinBias minbias TrigMinBiasMonitoring from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../python/TrigT2MinBiasConfig.py | 36 ++++- .../TrigT2MinBias/src/T2MbtsFex.cxx | 2 +- .../src/TrigCountSpacePointsHypo.cxx | 6 + .../src/HLTMinBiasMonTool.cxx | 12 +- .../TriggerMenu/python/minbias/MinBiasDef.py | 151 +++++++++++------- .../python/minbias/MinBiasSliceFlags.py | 6 +- .../minbias/generateMinBiasChainDefs.py | 4 +- 7 files changed, 142 insertions(+), 75 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py index 8d68d5a042a..878fd724266 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py @@ -534,6 +534,30 @@ L2MbSpHypo_veto.SctSpBarrel_max = -1. # Disable L2MbSpHypo_veto.SctSpEndcapA_max = -1. # Disable hypos["L2MbSpHypo_veto"] = L2MbSpHypo_veto +class L2MbSpMhNoPixHypo_veto(MbSpHypo): + def __init__(self, name, threshold): + super(L2MbSpMhNoPixHypo_veto, self).__init__(name) + + self.AcceptAll = False + self.TriggerTypeAND = False # Must use OR because Pixel is disabled + self.Veto = True + self.TotalPixelClus = -1. # Disable + self.PixelClusRatioA = -1. # Disable + self.PixelClusRatioB = -1. # Disable + self.PixelClusEndcapC = -1. # Disable + self.PixelClusBarrel = -1. # Disable + self.PixelClusEndcapA = -1. # Disable + self.PixelClusEndcapC_max = -1. # Disable + self.PixelClusBarrel_max = -1. # Disable + self.PixelClusEndcapA_max = -1. # Disable + self.TotalSctSp = threshold # here is the only one actively used setting + self.SctSpEndcapC = -1. # Disable + self.SctSpBarrel = -1. # Disable + self.SctSpEndcapA = -1. # Disable + self.SctSpEndcapC_max = -1. # Disable + self.SctSpBarrel_max = -1. # Disable + self.SctSpEndcapA_max = -1. # Disable + # Sp hypo configuratables veto large multiplicity @@ -645,11 +669,12 @@ L2MbSpHypo_cos.SctSpEndcaps_cut = -1. # Disable hypos["L2MbSpHypo_cos"] = L2MbSpHypo_cos # Setup for 2016 SCT only non collision bacground filtering +# 2016: 50 SP, 2017 Sep+: 100 SP L2MbSpHypo_ncb = MbSpHypo("L2MbSpHypo_ncb") L2MbSpHypo_ncb.AcceptAll = False L2MbSpHypo_ncb.Veto = False L2MbSpHypo_ncb.TriggerTypeAND = False # SCT only -L2MbSpHypo_ncb.SctSpEndcaps_cut = 50 # max(SCT_EC_A, SCT_EC_C) +L2MbSpHypo_ncb.SctSpEndcaps_cut = 100 # max(SCT_EC_A, SCT_EC_C) L2MbSpHypo_ncb.TotalPixelClus = -1. # Disable L2MbSpHypo_ncb.PixelClusRatioA = -1. # Disable L2MbSpHypo_ncb.PixelClusRatioB = -1. # Disable @@ -1301,6 +1326,15 @@ L2MbMbtsHypo_1_1_inn_one_side_veto.TimeCut = trigT2MinBiasProperties.mbtsTimeCut #L2MbMbtsHypo11.Threshold = 0.18 # pC hypos["L2MbMbtsHypo_1_1_inn_one_side_veto"] = L2MbMbtsHypo_1_1_inn_one_side_veto +#To clen splashes ATR-18401 +L2MbMbtsHypo_8_8_NTime_veto = MbMbtsHypo("L2MbMbtsHypo_8_8_NTime_veto") # No time cut +L2MbMbtsHypo_8_8_NTime_veto.AcceptAll = False +L2MbMbtsHypo_8_8_NTime_veto.MbtsCounters = 8 +L2MbMbtsHypo_8_8_NTime_veto.Coincidence = False +L2MbMbtsHypo_8_8_NTime_veto.TimeCut = -1 # Disable +L2MbMbtsHypo_8_8_NTime_veto = True +hypos['L2MbMbtsHypo_8_8_NTime_veto'] = L2MbMbtsHypo_8_8_NTime_veto + ######### ### ZDC ######### diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx index 89eb247a271..8a4ecdaa118 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx @@ -290,7 +290,7 @@ HLT::ErrorCode T2MbtsFex::hltInitialize() { return HLT::BAD_JOB_SETUP; } - // Retrieve TileTBID helper from det store + // Retrieve TileTBID helper from det store // (The MBTS was added to the Test Beam (TB) list.) if(m_detStore->retrieve(m_tileTBID).isFailure()) { ATH_MSG_ERROR("Unable to retrieve TileTBID helper from DetectorStore"); diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx index 30de8f21f8a..bc8bb621468 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx @@ -565,6 +565,12 @@ HLT::ErrorCode TrigCountSpacePointsHypo::hltExecute(const HLT::TriggerElement* o ATH_MSG_DEBUG("Using inverted/VETO logic, final decision is " << (pass ? "PASS" : "FAIL")); } + // Veto + if (m_veto == true) { + pass = !pass; + ATH_MSG_DEBUG("Using inverted/VETO logic, final decision is " << (pass ? "PASS" : "FAIL")); + } + // for monitoring if( !pass ){ m_totSelNumPixSP = -999; diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx index 79fc1020374..5a3d48fbf44 100755 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx @@ -324,7 +324,7 @@ unsigned HLTMinBiasMonTool::receiveIsPassedCondition(unsigned internalIsPassedCo #ifdef ManagedMonitorToolBase_Uses_API_201401 StatusCode HLTMinBiasMonTool::book() #else -StatusCode HLTMinBiasMonTool::book(bool newEventsBlock, bool newLumiBlock, bool newRun) + StatusCode HLTMinBiasMonTool::book(bool newEventsBlock, bool newLumiBlock, bool /*newRun*/) #endif { // -------------------------------------------------------- NEW AUTOMATIC WAY TO COPE WITH THINGS---------------------- @@ -524,7 +524,7 @@ void HLTMinBiasMonTool::bookHistogramsForItem(const std::string &item, unsigned fixXaxis(th2f); addHistogram(th2f); - th2f = new TH2F("TimeOnline", "Online MBTS Time;Channel ID;MBTS Time [ns]", 32, 0, 32, 100, -100, 100); + th2f = new TH2F("TimeOnlinePerChannel", "Online MBTS Time;Channel ID;MBTS Time [ns]", 32, 0, 32, 100, -100, 100); fixXaxis(th2f); addHistogram(th2f); @@ -532,7 +532,7 @@ void HLTMinBiasMonTool::bookHistogramsForItem(const std::string &item, unsigned fixXaxis(th2f); addHistogram(th2f); - th2f = new TH2F("EnergyOnline", "Online MBTS energy;Channel ID;MBTS Energy [pC]", 32, 0, 32, 100,-2, 2); + th2f = new TH2F("EnergyOnlinePerChannel", "Online MBTS energy;Channel ID;MBTS Energy [pC]", 32, 0, 32, 100,-2, 2); fixXaxis(th2f); addHistogram(th2f); @@ -1554,7 +1554,7 @@ StatusCode HLTMinBiasMonTool::fillMbtsInfo(const std::string& /*item*/) // Online distributions const char* cell_name = (m_moduleLabel[k]).data(); hist("OccupancyOnline")->Fill(cell_name, 1.0); - hist2("TimeOnline")->Fill(cell_name, mbtsHitTimes.at(k), 1.0); + hist2("TimeOnlinePerChannel")->Fill(cell_name, mbtsHitTimes.at(k), 1.0); } //The time-dependent bitmask is produced for the case @@ -1565,7 +1565,7 @@ StatusCode HLTMinBiasMonTool::fillMbtsInfo(const std::string& /*item*/) // Online distributions const char* cell_name = (m_moduleLabel[k]).data(); - hist2("EnergyOnline")->Fill(cell_name, mbtsHitEnergies.at(k), 1.0); + hist2("EnergyOnlinePerChannel")->Fill(cell_name, mbtsHitEnergies.at(k), 1.0); } timeWord &= triggerWord; @@ -2038,7 +2038,7 @@ int HLTMinBiasMonTool::error_bit(bool a, bool b) { #ifdef ManagedMonitorToolBase_Uses_API_201401 StatusCode HLTMinBiasMonTool::proc() #else -StatusCode HLTMinBiasMonTool::proc(bool endOfEventsBlock, bool endOfLumiBlock, bool endOfRun) + StatusCode HLTMinBiasMonTool::proc(bool endOfEventsBlock, bool endOfLumiBlock, bool /*endOfRun*/) #endif { StatusCode sc = StatusCode::SUCCESS; diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py index c8d888293c8..1cd1474320b 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py @@ -10,22 +10,14 @@ logging.getLogger().info("Importing %s",__name__) logMinBiasDef = logging.getLogger("TriggerMenu.minbias.MinBiasDef") -from AthenaCommon import CfgGetter -from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +from AthenaCommon.SystemOfUnits import GeV -import re +from TriggerMenu.menu.HltConfig import L2EFChainDef,mergeRemovingOverlap -from TriggerJobOpts.TriggerFlags import TriggerFlags - -from TriggerMenu.minbias.MinBiasSliceFlags import MinBiasSliceFlags - -from TriggerMenu.menu.HltConfig import * - -from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo - -#theTrigEFIDInsideOut_FullScan = TrigEFIDSequence("FullScan","fullScan") - -from TrigT2MinBias.TrigT2MinBiasConfig import * +from TrigT2MinBias.TrigT2MinBiasConfig import (MbMbtsHypo,L2MbMbtsFex,L2MbSpFex,L2MbSpFex_SCTNoiseSup,L2MbSpFex_ncb, + L2MbSpHypo_blayer,L2MbSpHypo_veto,L2MbSpFex_noPix,L2MbSpMhNoPixHypo_hip, + L2MbSpFex_BLayer,L2MbSpHypo_ncb,L2MbSpHypo,L2MbSpHypo_PT,L2MbSpMhNoPixHypo_veto, + L2MbMbtsHypo_PT,L2MbZdcFex_LG,L2MbZdcHypo_PT,L2MbZdcFex_HG,trigT2MinBiasProperties) from InDetTrigRecExample.EFInDetConfig import TrigEFIDSequence #fexes.efid = TrigEFIDSequence("minBias","minBias","InsideOut").getSequence() #fexes.efid2P = TrigEFIDSequence("minBias2P","minBias2","InsideOutLowPt").getSequence() @@ -35,20 +27,19 @@ efid = TrigEFIDSequence("minBias","minBias","InsideOut").getSequence() efid_heavyIon = TrigEFIDSequence("heavyIonFS","heavyIonFS","InsideOut").getSequence() efid2P = TrigEFIDSequence("minBias2P","minBias2","InsideOutLowPt").getSequence() -from TrigMinBias.TrigMinBiasConfig import * - +from TrigMinBias.TrigMinBiasConfig import (EFMbTrkFex,EFMbTrkHypoExclusiveLoose,EFMbTrkHypoExclusiveTight,EFMbTrkHypo, + EFMbVxFex,MbVxHypo,MbTrkHypo) from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo as DummyRoI from TrigGenericAlgs.TrigGenericAlgsConf import PrescaleAlgo dummyRoI=DummyRoI(name='MinBiasDummyRoI', createRoIDescriptors = True, NumberOfOutputTEs=1) terminateAlgo = PrescaleAlgo('terminateAlgo') - # for HI from TrigHIHypo.TrigHIHypoConfig import HIEFTrackHypo_AtLeastOneTrack atLeastOneTrack = HIEFTrackHypo_AtLeastOneTrack(name='HIEFTrackHypo_AtLeastOneTrack') -from TrigHIHypo.TrigHIHypoConfig import * +from TrigHIHypo.TrigHIHypoConfig import HIL2VtxMultHypo #hypos.update(hi_hypos) @@ -142,24 +133,30 @@ class L2EFChain_MB(L2EFChainDef): doBLayer=True doVetoSp=False - if 'vetosp' in self.chainPart['extra']: + if 'vetosp' in self.chainPart['veto']: doVetoSp=True - + doVetoSpN=False + if 'vetosp' in self.chainPart['hypoL2Info']: + doVetoSpN=True doSptrk=False if "sptrk" in self.chainPart['recoAlg']: #do EFID doSptrk=True doMbtsVeto=False - if "vetombts2in" in self.chainPart['extra'] or "vetospmbts2in" in self.chainPart['extra']: #do EFID + if "vetombts2in" in self.chainPart['veto'] or "vetospmbts2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsFex=L2MbMbtsFex theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_veto") - if "vetombts1side2in" in self.chainPart['extra']: #do EFID + if "vetombts1side2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsFex=L2MbMbtsFex theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto") - + if "vetombts8" in self.chainPart['veto']: #do EFID + doMbtsVeto=True + theL2MbtsFex=L2MbMbtsFex + theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_8_8_NTime_veto") + doexclusivelooseN=False ########## L2 algos ################## #if "sptrk" or "sp" in self.chainPart['recoAlg']: if "noisesup" in self.chainPart['extra']: @@ -176,18 +173,20 @@ class L2EFChain_MB(L2EFChainDef): else: theL2Fex = L2MbSpFex if doSptrk: - chainSuffix = "sptrk" + if not doVetoSpN: chainSuffix = "sptrk" + else: chainSuffix = "sptrk_"+self.chainPart['hypoL2Info'] elif doVetoSp: chainSuffix = "sp_vetosp" else: chainSuffix = "sp" if doMbtsVeto: - if "vetombts2in" in self.chainPart['extra']: + if "vetombts2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts2in" - if "vetombts1side2in" in self.chainPart['extra']: + if "vetombts1side2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts1side2in" - + if "vetombts8" in self.chainPart['veto']: + chainSuffix = chainSuffix+"_vetombts8" if doMbtsVeto and doVetoSp: # this will never be done w tracks chainSuffix = "sp_vetospmbts2in" @@ -199,19 +198,24 @@ class L2EFChain_MB(L2EFChainDef): theL2Hypo = L2MbSpHypo_veto else: theL2Hypo = L2MbSpHypo - + if doVetoSpN: + l2hypo2 = self.chainPart['hypoL2Info'] + l2th=l2hypo2.lstrip('vetosp') + theL2Hypo2 = L2MbSpMhNoPixHypo_veto("L2MbSpMhNoPixHypo_veto_"+l2th,float(l2th)) + #chainSuffix = chainSuffix+'_vetosp'+l2th ########## EF algos ################## #if "sptrk" in self.chainPart['recoAlg']: + chainSuffixEF=chainSuffix if "costr" in self.chainPart['trkInfo']: - chainSuffix = chainSuffix+"_costr" + chainSuffixEF = chainSuffixEF+"_costr" from InDetTrigRecExample.EFInDetConfig import TrigEFIDInsideOut_CosmicsN efid_costr=TrigEFIDInsideOut_CosmicsN() theEFFex1 = efid_costr.getSequence() from TrigMinBias.TrigMinBiasConfig import MbTrkFex_1, MbTrkHypo_1 - theEFFex2 = MbTrkFex_1("MbTrkFex_"+chainSuffix) + theEFFex2 = MbTrkFex_1("MbTrkFex_"+chainSuffixEF) theEFFex2.InputTrackContainerName = "InDetTrigTrackSlimmerIOTRT_CosmicsN_EFID" - theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffix) + theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffixEF) theEFHypo.AcceptAll_EF=False theEFHypo.Required_ntrks=1 theEFHypo.Max_z0=1000.0 @@ -223,6 +227,7 @@ class L2EFChain_MB(L2EFChainDef): theEFFex2 = EFMbTrkFex efhypo = self.chainPart['hypoEFInfo'] + efextra = self.chainPart['extra'] if efhypo: if "pt" in self.chainPart['hypoEFInfo']: efth=efhypo.lstrip('pt') @@ -230,22 +235,31 @@ class L2EFChain_MB(L2EFChainDef): theEFHypo = MbTrkHypo('EFMbTrkHypo_pt%d'% threshold) theEFHypo.Min_pt = threshold theEFHypo.Max_z0 = 401. - chainSuffix = chainSuffix+'_pt'+efth + chainSuffixEF = chainSuffixEF+'_pt'+efth elif "trk" in self.chainPart['hypoEFInfo']: efth=efhypo.lstrip('trk') theEFHypo = MbTrkHypo('EFMbTrkHypo_trk%i'% int(efth)) theEFHypo.Required_ntrks = int(efth) theEFHypo.Min_pt = 0.200 theEFHypo.Max_z0 = 401. - chainSuffix = chainSuffix+'_trk'+efth + chainSuffixEF = chainSuffixEF+'_trk'+efth elif 'exclusiveloose' in self.chainPart['extra']: efth=0.200 #default theEFHypo = EFMbTrkHypoExclusiveLoose - chainSuffix = chainSuffix+"_exclusiveloose" + efthX=efextra.lstrip('exclusiveloose') + chainSuffixEF = chainSuffixEF+"_exclusiveloose" + + if efthX: + doexclusivelooseN=True + threshold=int(efthX) + theEFHypo2 = MbTrkHypo('EFMbTrkHypo2_pt1_trk%i'% threshold) + theEFHypo2.Min_pt = 1. + theEFHypo2.Required_ntrks = int(efthX) + theEFHypo2.Max_z0 = 401. elif 'exclusivetight' in self.chainPart['extra']: efth=0.200 #default theEFHypo = EFMbTrkHypoExclusiveTight - chainSuffix = chainSuffix+"_exclusivetight" + chainSuffixEF = chainSuffixEF+"_exclusivetight" else: efth=0.200 #default theEFHypo = EFMbTrkHypo @@ -270,23 +284,41 @@ class L2EFChain_MB(L2EFChainDef): self.L2sequenceList += [['L2_mb_dummy', efiddataprep, 'L2_mb_iddataprep']] - - self.L2sequenceList += [[['L2_mb_iddataprep'], - [theL2Fex, theL2Hypo], - 'L2_mb_step1']] - + if doVetoSpN: + self.L2sequenceList += [[['L2_mb_iddataprep'], + [theL2Fex, theL2Hypo], + 'L2_mb_spveto']] + self.L2sequenceList += [[['L2_mb_spveto'], + [theL2Hypo2], + 'L2_mb_step1']] + else: + self.L2sequenceList += [[['L2_mb_iddataprep'], + [theL2Fex, theL2Hypo], + 'L2_mb_step1']] if doSptrk: self.EFsequenceList += [[['L2_mb_step1'], theEFFex1+[theEFFex2, theEFHypo], 'EF_mb_step1']] - if 'peb' in self.chainPart['addInfo']: + if doexclusivelooseN: + self.EFsequenceList += [[['EF_mb_step1'], + [theEFHypo2], + 'EF_mb_step2']] + if 'hipeb' in self.chainPart['addInfo']: + from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter + HISubDetListWriter = TrigSubDetListWriter("HISubDetListWriter") + HISubDetListWriter.SubdetId = ['TDAQ_CTP','InnerDetector','FCal','FORWARD_ZDC','Muons'] + HISubDetListWriter.MaxRoIsPerEvent=1 + self.EFsequenceList += [[['EF_mb_step1'], + [ HISubDetListWriter ], + 'EF_mb_step2']] + elif 'peb' in self.chainPart['addInfo']: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter ALFASubDetListWriter = TrigSubDetListWriter("ALFASubDetListWriter") ALFASubDetListWriter.SubdetId = ['TDAQ_HLT','TDAQ_CTP','InnerDetector','DBM','FORWARD_ALPHA','FORWARD_LUCID','FORWARD_ZDC','FORWARD_BCM'] ALFASubDetListWriter.MaxRoIsPerEvent=1 self.EFsequenceList += [[['EF_mb_step1'], [ ALFASubDetListWriter ], - 'EF_mb_step2']] + 'EF_mb_step2']] ########### Signatures ########### @@ -294,10 +326,14 @@ class L2EFChain_MB(L2EFChainDef): if doMbtsVeto: self.L2signatureList += [ [['L2_mb_mbtsveto']] ] self.L2signatureList += [ [['L2_mb_iddataprep']] ] + if doVetoSpN: + self.L2signatureList += [ [['L2_mb_spveto']] ] self.L2signatureList += [ [['L2_mb_step1']] ] if doSptrk: self.EFsignatureList += [ [['EF_mb_step1']] ] - if 'peb' in self.chainPart['addInfo']: + if doexclusivelooseN: + self.EFsignatureList += [ [['EF_mb_step2']] ] + if 'peb' in self.chainPart['addInfo'] or 'hipeb' in self.chainPart['addInfo']: self.EFsignatureList += [ [['EF_mb_step2']] ] self.TErenamingDict = { @@ -305,12 +341,15 @@ class L2EFChain_MB(L2EFChainDef): 'L2_mb_mbtsveto': mergeRemovingOverlap('L2_mbtsveto_', chainSuffix), 'L2_mb_iddataprep': mergeRemovingOverlap('L2_iddataprep_', chainSuffix), 'L2_mb_step1': mergeRemovingOverlap('L2_', chainSuffix), - 'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffix), + 'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffixEF), } - if 'peb' in self.chainPart['addInfo']: - self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffix+'_peb') - + if doVetoSpN: + self.TErenamingDict ['L2_mb_spveto'] = mergeRemovingOverlap('L2_', chainSuffix + '_vetosp') + if 'peb' in self.chainPart['addInfo'] or 'hipeb' in self.chainPart['addInfo']: + self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+'_peb') + if doexclusivelooseN: + self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+efthX) ########################### def setup_mb_idperf(self): doHeavyIon=False @@ -322,7 +361,6 @@ class L2EFChain_MB(L2EFChainDef): chainSuffix = "idperf" if not doHeavyIon: theEFFex1 = efid - theEFFex2 = efid2P else: theEFFex1 = efid_heavyIon @@ -347,9 +385,6 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_perf(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True ########## L2 algos ################## if "perf" in self.chainPart['recoAlg']: @@ -395,9 +430,6 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_zdcperf(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True ########## L2 algos ################## if "zdcperf" in self.chainPart['recoAlg']: @@ -434,18 +466,15 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_mbts(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True theL2Fex = L2MbMbtsFex doMbtsVeto=False - if "vetombts2in" in self.chainPart['extra']: #do EFID + if "vetombts2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsVetoHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_veto") - if "vetombts1side2in" in self.chainPart['extra']: #do EFID + if "vetombts1side2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsVetoHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto") @@ -488,9 +517,9 @@ class L2EFChain_MB(L2EFChainDef): logMinBiasDef.error("Something weird in the setup_mb_mbts(), please check") else: theL2Hypo = theL2MbtsVetoHypo - if "vetombts2in" in self.chainPart['extra']: + if "vetombts2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts2in" - if "vetombts1side2in" in self.chainPart['extra']: + if "vetombts1side2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts1side2in" ########## EF algos ################## diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py index 216ca7caa7c..6c8b9a7567d 100755 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py @@ -2,10 +2,8 @@ """ MinBias slice specific flags """ -from AthenaCommon.Logging import logging -from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper, AllowedList -from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig +from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer +from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper __author__ = 'R. Kwee, B. Demirkoz, T.Bold, T.Kohno, W. H. Bell' __version__="$Revision: 1.18 $" diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py index 49d40473f31..18f811026fc 100755 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py @@ -9,8 +9,8 @@ from AthenaCommon.Logging import logging logging.getLogger().info("Importing %s",__name__) -from TriggerMenu.minbias.MinBiasDef import * -from TriggerMenu.menu.MenuUtils import * +from TriggerMenu.minbias.MinBiasDef import L2EFChain_MB +from TriggerMenu.menu.MenuUtils import splitChainDict,mergeChainDefs MinBias = [] -- GitLab From 59cc9195124062411797d083cfed6eefe9ff6f18 Mon Sep 17 00:00:00 2001 From: Michiel Veen <michiel.jan.veen@cern.ch> Date: Thu, 1 Nov 2018 13:42:11 +0000 Subject: [PATCH 032/209] Small fix in NSWPRDValAlg.cxx, removing some duplicate lines --- .../MuonPRDTest/src/NSWPRDValAlg.cxx | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx index 2b3dfccb3e9..f1be5669b14 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx @@ -129,18 +129,6 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doSTGCDigit){ m_sTgcDigitVar = new sTGCDigitVariables(&(*(evtStore())), m_detManager, m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName, msgLevel()); - ATH_CHECK( m_sTgcDigitVar->initializeVariables() ); - } - - if (m_doSTGCRDO){ - m_sTgcRdoVar = new sTGCRDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName); - ATH_CHECK( m_sTgcRdoVar->initializeVariables() ); - } - - if (m_doSTGCDigit){ - m_sTgcDigitVar = new sTGCDigitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName); ATH_CHECK( m_sTgcDigitVar->initializeVariables() ); // Take SDO conainer @@ -188,13 +176,6 @@ StatusCode NSWPRDValAlg::initialize() { ATH_CHECK( m_MmSdoVar->initializeVariables() ); } - if (m_doMMRDO) { - - m_MmRdoVar = new MMRDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName); - ATH_CHECK( m_MmRdoVar->initializeVariables() ); - } - if (m_doMMFastDigit){ // Take the "fast_SDO" instead of the SDOs from full sim m_MmFastSdoVar = new MMSDOVariables(&(*(evtStore())), m_detManager, @@ -218,12 +199,6 @@ StatusCode NSWPRDValAlg::initialize() { ATH_CHECK( m_MmPrdVar->initializeVariables() ); } - if (m_doMMPRD){ - m_MmPrdVar = new MMPRDVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName); - ATH_CHECK( m_MmPrdVar->initializeVariables() ); - } - if (m_doCSCDigit){ m_CscDigitVar = new CSCDigitVariables(&(*(evtStore())), m_detManager, m_CscIdHelper, m_tree, m_CSC_DigitContainerName, msgLevel()); -- GitLab From 0d063b70c350933a3c75bfa9ed8d3528cdde3f82 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 14:26:08 +0100 Subject: [PATCH 033/209] TestTools: Another pattern to ignore. Ignore a message produced from recent metadata changes. Fixes test failures in master in multiple packages. --- AtlasTest/TestTools/share/post.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/AtlasTest/TestTools/share/post.sh b/AtlasTest/TestTools/share/post.sh index 2ea658f7bcd..02fe1b5d492 100755 --- a/AtlasTest/TestTools/share/post.sh +++ b/AtlasTest/TestTools/share/post.sh @@ -193,6 +193,7 @@ PP="$PP"'|INFO massageEventInfo:' PP="$PP"'|Loop Finished' PP="$PP"'|Terminating thread-pool resources|Joining Scheduler thread' PP="$PP"'|DEBUG Calling destructor' +PP="$PP"'|INFO Found MetaDataTools' PP="$PP"'|INFO TopAlg list empty.' -- GitLab From 4d60dece304fbd463b2882cf06a9dee57b6d92db Mon Sep 17 00:00:00 2001 From: Javier Montejo <jmontejo@cern.ch> Date: Thu, 1 Nov 2018 15:06:57 +0100 Subject: [PATCH 034/209] Switched menu for the tests in master --- Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh b/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh index 8a937e1b3b5..b9d2b3ebc18 100755 --- a/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh +++ b/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh @@ -1,2 +1,2 @@ #!/usr/bin/env sh -athena.py -c "TriggerMenuSetup='MC_pp_v7'" TriggerMenuXML/runHLT_forXMLgeneration.py +athena.py -c "TriggerMenuSetup='Physics_pp_v7_primaries'" TriggerMenuXML/runHLT_forXMLgeneration.py -- GitLab From 381d9cc9b199b924af3d46af5456fe0b372f16ae Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 14:27:31 +0100 Subject: [PATCH 035/209] DataModelRunTests: Update reference files. Update reference files. Additional patterns to ignore. Fix ItemList setting in xAODTestRead. Fixes test failures in master. --- .../share/ByteStreamTestRead.ref | 17 +- .../DataModelRunTests/share/xAODTestRead.ref | 203 +++++++++++------- .../share/xAODTestRead_jo.py | 2 +- .../DataModelRunTests/test/post.sh | 3 + 4 files changed, 136 insertions(+), 89 deletions(-) diff --git a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref index c6665410b07..8c9e9787352 100644 --- a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref @@ -1,13 +1,13 @@ -Tue Oct 9 18:41:42 CEST 2018 +Wed Oct 31 18:56:37 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-dbg] [atlas-work3/eea13fb904b] -- built on [2018-10-09T1607] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/51dc7da6a2d] -- built on [2018-10-31T1524] Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Py:Athena INFO executing ROOT6Setup Py:Athena INFO including file "AthenaCommon/Execution.py" Py:Athena INFO including file "DataModelRunTests/ByteStreamTestRead_jo.py" Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" -Py:ConfigurableDb INFO Read module info for 5504 configurables from 72 genConfDb files +Py:ConfigurableDb INFO Read module info for 5550 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "AthenaCommon/runbatch.py" [?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 @@ -15,7 +15,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus028.cern.ch on Tue Oct 9 18:42:06 2018 + running on lxplus087.cern.ch on Wed Oct 31 18:56:50 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -49,14 +49,15 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-08T2213/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-dbg/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus028.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-30T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus087.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +MetaDataSvc.Byt... INFO Initializing MetaDataSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool','ByteStreamMetadataTool']) ClassIDSvc INFO getRegistryEntries: read 3412 CLIDRegistry entries for module ALL TrigSerializeCn... INFO initialize() HistogramPersis...WARNING Histograms saving not required. @@ -1605,7 +1606,7 @@ EventInfoByteSt... INFO finalize PyComponentMgr INFO Finalizing PyComponentMgr... AthDictLoaderSvc INFO in finalize... ToolSvc INFO Removing all tools created by ToolSvc -ToolSvc.ByteStr... INFO in finalize() +MetaDataSvc.Byt... INFO in finalize() ToolSvc.TrigTSe... INFO ToolSvc.TrigTSerializer no problems encountered ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref index 5f17c9791b1..07c2e76b657 100644 --- a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref @@ -1,12 +1,12 @@ -Tue Oct 9 18:23:59 CEST 2018 +Wed Oct 31 22:42:44 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-dbg] [atlas-work3/eea13fb904b] -- built on [2018-10-09T1607] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/51dc7da6a2d] -- built on [2018-10-31T2152] Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Py:Athena INFO executing ROOT6Setup Py:Athena INFO including file "AthenaCommon/Execution.py" Py:Athena INFO including file "DataModelRunTests/xAODTestRead_jo.py" -Py:ConfigurableDb INFO Read module info for 5504 configurables from 72 genConfDb files +Py:ConfigurableDb INFO Read module info for 5549 configurables from 55 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" Py:Athena INFO including file "EventAthenaPool/EventAthenaPoolItemList_joboptions.py" @@ -17,7 +17,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus028.cern.ch on Tue Oct 9 18:25:06 2018 + running on lxplus066.cern.ch on Wed Oct 31 22:43:01 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -34,13 +34,14 @@ AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version Athena PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-08T2213/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-dbg/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus028.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-30T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus066.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:xAODTestRead_catalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector INFO reinitialization... EventSelector INFO EventSelection with query @@ -79,7 +80,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 1AA9ED5 Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ClassIDSvc INFO getRegistryEntries: read 2046 CLIDRegistry entries for module ALL @@ -113,11 +114,11 @@ HistogramPersis...WARNING Histograms saving not required. AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ApplicationMgr INFO Application Manager Started successfully @@ -126,23 +127,25 @@ AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromI AthenaEventLoopMgr INFO ===>>> start of run 0 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #0 0 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaCAux. and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4ef100 +MetaInputLoader INFO createMetaObj for MetaCAux. and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO address0 0x2f81dd00 MetaDataStore_ImplWARNING record_impl: Doing auto-symlinks for object with CLID 9723 and SG key MetaCAux.: Proxy already set for base CLID 187169987; not making auto-symlink. -MetaInputLoader INFO address1 0x2d4ef100 +MetaInputLoader INFO address1 0x2f81dd00 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaS1 and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4b7700 -MetaInputLoader INFO address1 0x2d4b7700 +MetaInputLoader INFO createMetaObj for MetaS1 and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO address0 0x3e363e00 +MetaInputLoader INFO address1 0x3e363e00 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaC and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4eff00 -MetaInputLoader INFO address1 0x2d4eff00 +MetaInputLoader INFO createMetaObj for MetaC and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO address0 0x2f81ae00 +MetaInputLoader INFO address1 0x2f81ae00 MetaInputLoader INFO Now have mcb with 1 entries ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -217,7 +220,7 @@ hview: 420.5 419.5 418.5 417.5 416.5 415.5 414.5 413.5 412.5 411.5 410.5 409.5 4 ClassIDSvc INFO getRegistryEntries: read 32 CLIDRegistry entries for module ALL DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain UPDATE [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] C41FD46A-98D6-4145-8D54-6608050DBD95 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] BFB72C05-1513-D247-89C4-F3357D571482 Domain[ROOT_All] INFO xaoddata2.root RootDatabase.open INFO xaoddata2.root File version:61404 StorageSvc INFO Building shape according to reflection information using shape ID for: @@ -233,18 +236,20 @@ StorageSvc INFO xAOD::ShallowAuxContainer [C63C39D7-9501-49DC-B1B0-6AD StorageSvc INFO Building shape according to reflection information using shape ID for: StorageSvc INFO xAOD::AuxContainerBase [C87C71B3-B03F-42FC-AF99-DF497F148397] ClassIDSvc INFO getRegistryEntries: read 18 CLIDRegistry entries for module ALL -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] DC37F379-36A2-AA49-B453-782E51D4A734 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] 6F51F24E-9F40-9941-8EF5-675B697E26E0 Domain[ROOT_All] INFO xaoddata2b.root RootDatabase.open INFO xaoddata2b.root File version:61404 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #1, run #0 1 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -318,12 +323,14 @@ hview: 820.5 819.5 818.5 817.5 816.5 815.5 814.5 813.5 812.5 811.5 810.5 809.5 8 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #0 2 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #2, run #0 2 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -397,12 +404,14 @@ hview: 1220.5 1219.5 1218.5 1217.5 1216.5 1215.5 1214.5 1213.5 1212.5 1211.5 121 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #0 3 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #3, run #0 3 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -476,12 +485,14 @@ hview: 1620.5 1619.5 1618.5 1617.5 1616.5 1615.5 1614.5 1613.5 1612.5 1611.5 161 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #0 4 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #4, run #0 4 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -515,12 +526,14 @@ hview: 2020.5 2019.5 2018.5 2017.5 2016.5 2015.5 2014.5 2013.5 2012.5 2011.5 201 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #0 5 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #5, run #0 5 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -594,12 +607,14 @@ hview: 2420.5 2419.5 2418.5 2417.5 2416.5 2415.5 2414.5 2413.5 2412.5 2411.5 241 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #0 6 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #6, run #0 6 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -673,12 +688,14 @@ hview: 2820.5 2819.5 2818.5 2817.5 2816.5 2815.5 2814.5 2813.5 2812.5 2811.5 281 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #0 7 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #7, run #0 7 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -752,12 +769,14 @@ hview: 3220.5 3219.5 3218.5 3217.5 3216.5 3215.5 3214.5 3213.5 3212.5 3211.5 321 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #0 8 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #8, run #0 8 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -831,12 +850,14 @@ hview: 3620.5 3619.5 3618.5 3617.5 3616.5 3615.5 3614.5 3613.5 3612.5 3611.5 361 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #0 9 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #9, run #0 9 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -910,12 +931,14 @@ hview: 4020.5 4019.5 4018.5 4017.5 4016.5 4015.5 4014.5 4013.5 4012.5 4011.5 401 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #0 10 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #10, run #0 10 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -989,12 +1012,14 @@ hview: 4420.5 4419.5 4418.5 4417.5 4416.5 4415.5 4414.5 4413.5 4412.5 4411.5 441 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #0 11 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #11, run #0 11 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1068,12 +1093,14 @@ hview: 4820.5 4819.5 4818.5 4817.5 4816.5 4815.5 4814.5 4813.5 4812.5 4811.5 481 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #0 12 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #12, run #0 12 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1147,12 +1174,14 @@ hview: 5220.5 5219.5 5218.5 5217.5 5216.5 5215.5 5214.5 5213.5 5212.5 5211.5 521 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #0 13 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #13, run #0 13 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1226,12 +1255,14 @@ hview: 5620.5 5619.5 5618.5 5617.5 5616.5 5615.5 5614.5 5613.5 5612.5 5611.5 561 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #0 14 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #14, run #0 14 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1305,12 +1336,14 @@ hview: 6020.5 6019.5 6018.5 6017.5 6016.5 6015.5 6014.5 6013.5 6012.5 6011.5 601 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #0 15 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #15, run #0 15 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1384,12 +1417,14 @@ hview: 6420.5 6419.5 6418.5 6417.5 6416.5 6415.5 6414.5 6413.5 6412.5 6411.5 641 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #0 16 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #16, run #0 16 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1463,12 +1498,14 @@ hview: 6820.5 6819.5 6818.5 6817.5 6816.5 6815.5 6814.5 6813.5 6812.5 6811.5 681 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #0 17 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #17, run #0 17 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1542,12 +1579,14 @@ hview: 7220.5 7219.5 7218.5 7217.5 7216.5 7215.5 7214.5 7213.5 7212.5 7211.5 721 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #0 18 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #18, run #0 18 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1621,12 +1660,14 @@ hview: 7620.5 7619.5 7618.5 7617.5 7616.5 7615.5 7614.5 7613.5 7612.5 7611.5 761 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #0 19 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #19, run #0 19 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 +MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1698,15 +1739,17 @@ cview: 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 hvec: 8001.5 8002.5 8003.5 8004.5 8005.5 8006.5 8007.5 8008.5 8009.5 8010.5 8011.5 8012.5 8013.5 8014.5 8015.5 8016.5 8017.5 8018.5 8019.5 8020.5 hview: 8020.5 8019.5 8018.5 8017.5 8016.5 8015.5 8014.5 8013.5 8012.5 8011.5 8010.5 8009.5 8008.5 8007.5 8006.5 8005.5 8004.5 8003.5 8002.5 8001.5 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #0 20 events processed so far <<<=== +Stream1 INFO AthenaOutputStream Stream1 ::stop() ClassIDSvc INFO getRegistryEntries: read 4 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 +Stream2 INFO AthenaOutputStream Stream2 ::stop() Stream2 INFO Records written: 21 xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 xaoddata2.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] C41FD46A-98D6-4145-8D54-6608050DBD95 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] BFB72C05-1513-D247-89C4-F3357D571482 xaoddata2b.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] DC37F379-36A2-AA49-B453-782E51D4A734 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] 6F51F24E-9F40-9941-8EF5-675B697E26E0 Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize diff --git a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py index 5b864600d87..f4a0c5408e9 100755 --- a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py +++ b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py @@ -84,7 +84,7 @@ fullItemList+=["xAOD::ShallowAuxContainer#scopy_cvecWDAux."] fullItemList+=["DMTest::CVec#scopy_ctrig"] fullItemList+=["xAOD::ShallowAuxContainer#scopy_ctrigAux."] fullItemList+=["DMTest::C#scopy_cinfo"] -fullItemList+=["xAOD::ShallowAuxContainer#scopy_cinfoAux."] +fullItemList+=["xAOD::ShallowAuxInfo#scopy_cinfoAux."] fullItemList+=["DMTest::HVec#scopy_hvec"] fullItemList+=["xAOD::ShallowAuxContainer#scopy_hvecAux."] diff --git a/Control/DataModelTest/DataModelRunTests/test/post.sh b/Control/DataModelTest/DataModelRunTests/test/post.sh index 82a893e8976..23b2ffe1fe5 100755 --- a/Control/DataModelTest/DataModelRunTests/test/post.sh +++ b/Control/DataModelTest/DataModelRunTests/test/post.sh @@ -221,6 +221,9 @@ PP="$PP"'|MetaInputLoader *INFO address' # MetaInputLoader SIDs PP="$PP"'|is still valid for| and sid ' +PP="$PP"'|INFO Found MetaDataTools' +PP="$PP"'|INFO AthenaOutputStream' + test=$1 if [ -z "$testStatus" ]; then -- GitLab From b388242bec5390c015b83fbe1e9c7cb64566dad9 Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Thu, 1 Nov 2018 15:45:24 +0100 Subject: [PATCH 036/209] Small housekeeping performed --- .../TrkGeometry/TrkGeometry/MaterialProperties.h | 2 +- .../TrkGeometry/src/MaterialProperties.cxx | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h index d69e78a5e15..bb645a02b16 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h +++ b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h @@ -12,7 +12,7 @@ #include "TrkGeometry/Material.h" #include "GaudiKernel/MsgStream.h" //STD -#include <iostream> +#include <iosfwd> class MaterialPropertiesCnv_p1; diff --git a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx index f5cd135331a..dbe705b7008 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx +++ b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx @@ -7,7 +7,7 @@ /////////////////////////////////////////////////////////////////// #include "TrkGeometry/MaterialProperties.h" -#include <climits> +#include <iostream> Trk::MaterialProperties::MaterialProperties(): m_material(), @@ -110,12 +110,12 @@ void Trk::MaterialProperties::setDeDx(float dEdX) const MsgStream& Trk::operator << ( MsgStream& sl, const Trk::MaterialProperties& mprop) { - sl << "Trk::MaterialProperties: " << std::endl; - sl << " - thickness/X0 = " << mprop.thicknessInX0() << std::endl; - sl << " - thickness [mm] = " << mprop.thickness() << std::endl; - sl << " - radiation length X0 [mm] = " << mprop.x0() << std::endl; - sl << " - nuclear interaction length L0 [mm] = " << mprop.l0() << std::endl; - sl << " - average material Z/A*rho [gram/mm^3] = " << mprop.zOverAtimesRho() << std::endl; + sl << "Trk::MaterialProperties: " << endmsg; + sl << " - thickness/X0 = " << mprop.thicknessInX0() << endmsg; + sl << " - thickness [mm] = " << mprop.thickness() << endmsg; + sl << " - radiation length X0 [mm] = " << mprop.x0() << endmsg; + sl << " - nuclear interaction length L0 [mm] = " << mprop.l0() << endmsg; + sl << " - average material Z/A*rho [gram/mm^3] = " << mprop.zOverAtimesRho() << endmsg; /* interface not finalized if (mprop.material().composition){ sl << " - material composition from " << mprop.material().composition->size() << " elements " << std::endl; -- GitLab From 51a6df8f9cdc5f0ccffdec3477d56d244f50ed0f Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 31 Oct 2018 14:49:19 +0100 Subject: [PATCH 037/209] MuonSimEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- MuonSpectrometer/MuonSimEvent/CMakeLists.txt | 7 +++---- .../MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h | 9 ++------- .../MuonSimEvent/GenericMuonSimHitCollection.h | 9 ++------- .../MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h | 9 ++------- .../MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h | 9 ++------- .../MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h | 9 ++------- .../MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h | 7 +------ 7 files changed, 14 insertions(+), 45 deletions(-) diff --git a/MuonSpectrometer/MuonSimEvent/CMakeLists.txt b/MuonSpectrometer/MuonSimEvent/CMakeLists.txt index b71be159d92..5214563d262 100644 --- a/MuonSpectrometer/MuonSimEvent/CMakeLists.txt +++ b/MuonSpectrometer/MuonSimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( MuonSimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Database/AtlasSealCLHEP DetectorDescription/GeoPrimitives DetectorDescription/Identifier @@ -26,12 +25,12 @@ atlas_add_library( MuonSimEvent PUBLIC_HEADERS MuonSimEvent INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier GeneratorObjects HitManagement MuonIdHelpersLib + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier GeneratorObjects HitManagement MuonIdHelpersLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( MuonSimEventDict MuonSimEvent/MuonSimEventDict.h MuonSimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier GeneratorObjects MuonIdHelpersLib HitManagement MuonSimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier GeneratorObjects MuonIdHelpersLib HitManagement MuonSimEvent ) diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h index 4932701fec5..c18b1a896a8 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef CSCSimHitCollection_H @@ -8,19 +8,14 @@ #include "MuonSimEvent/CSCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<CSCSimHit> CSCOldSimHitCollection; typedef AtlasHitsVector<CSCSimHit> CSCSimHitCollection; typedef AtlasHitsVector<CSCSimHit>::iterator CSCSimHitIterator; typedef AtlasHitsVector<CSCSimHit>::const_iterator CSCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (CSCSimHitCollection, 4053, 1) CLASS_DEF (CSCOldSimHitCollection, 1333371890, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h index f4b3ed7758c..f203b7bc0b3 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef GenericMuonSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/GenericMuonSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<GenericMuonSimHit> OldGenericMuonSimHitCollection; @@ -19,10 +16,8 @@ typedef AtlasHitsVector<GenericMuonSimHit> GenericMuonSimHitCollection; typedef AtlasHitsVector<GenericMuonSimHit>::iterator GenericMuonSimHitIterator; typedef AtlasHitsVector<GenericMuonSimHit>::const_iterator GenericMuonSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF( GenericMuonSimHitCollection , 1155807089 , 1 ) CLASS_DEF( OldGenericMuonSimHitCollection , 97056587 , 1 ) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h index f27eee43f84..2f8bc447fd1 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MDTSimHitCollection_H @@ -8,19 +8,14 @@ #include "MuonSimEvent/MDTSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<MDTSimHit> MDTOldSimHitCollection; typedef AtlasHitsVector<MDTSimHit> MDTSimHitCollection; typedef AtlasHitsVector<MDTSimHit>::iterator MDTSimHitIterator; typedef AtlasHitsVector<MDTSimHit>::const_iterator MDTSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (MDTSimHitCollection, 4054, 1) CLASS_DEF (MDTOldSimHitCollection, 1138135938, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h index 4ff446ecb90..4e3ec8e429b 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef RPCSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/RPCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<RPCSimHit> RPCOldSimHitCollection; @@ -19,9 +16,7 @@ typedef AtlasHitsVector<RPCSimHit> RPCSimHitCollection; typedef AtlasHitsVector<RPCSimHit>::iterator RPCSimHitIterator; typedef AtlasHitsVector<RPCSimHit>::const_iterator RPCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (RPCSimHitCollection, 4051, 1) CLASS_DEF (RPCOldSimHitCollection, 1182697430, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h index 3a3af259278..630d4e5d12d 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TGCSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/TGCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<TGCSimHit> TGCOldSimHitCollection; @@ -19,9 +16,7 @@ typedef AtlasHitsVector<TGCSimHit> TGCSimHitCollection; typedef AtlasHitsVector<TGCSimHit>::iterator TGCSimHitIterator; typedef AtlasHitsVector<TGCSimHit>::const_iterator TGCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (TGCSimHitCollection, 4052, 1) CLASS_DEF (TGCOldSimHitCollection, 1275808031, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h index bb6cba5330b..b14e5a68588 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h @@ -8,10 +8,7 @@ #include "MuonSimEvent/sTGCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<sTGCSimHit> OldsTGCSimHitCollection; @@ -19,10 +16,8 @@ typedef AtlasHitsVector<sTGCSimHit> sTGCSimHitCollection; typedef AtlasHitsVector<sTGCSimHit>::iterator sTGCSimHitIterator; typedef AtlasHitsVector<sTGCSimHit>::const_iterator sTGCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF( sTGCSimHitCollection , 20180530 , 1 ) CLASS_DEF( OldsTGCSimHitCollection , 20180529 , 1 ) -#endif #endif -- GitLab From 8711f141f0781adf326c837bfb32c91ac78b8b43 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 31 Oct 2018 14:50:57 +0100 Subject: [PATCH 038/209] AnalysisTriggerEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- .../AnalysisTriggerEvent/CTP_Decision.h | 4 ++-- .../AnalysisTriggerEvent/FakeHLTWord.h | 4 ++-- .../AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h | 4 ++-- .../AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt | 7 +++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h index 0f4bbe9b232..06cdc4f8b43 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: CTP_Decision.h,v 1.10 2008-05-20 16:59:50 efeld Exp $ @@ -16,7 +16,7 @@ #include <vector> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** * @short Legacy data class representing the LVL1 CTP trigger decision diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h index fdc6b1ec258..24e548b88f8 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: FakeHLTWord.h,v 1.3 2008-05-08 15:00:11 krasznaa Exp $ @@ -12,7 +12,7 @@ #include <inttypes.h> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** * @short Fake HLT word for streaming (deprecated) diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h index 54d56f91ae5..6904e148228 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: LVL1_ROI.h,v 1.4 2008-05-08 15:00:11 krasznaa Exp $ @@ -12,7 +12,7 @@ #include <vector> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Local include(s): #include "AnalysisTriggerEvent/Muon_ROI.h" diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt index 4fac0ddc76c..470872ea25e 100644 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( AnalysisTriggerEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/Navigation - Control/SGTools Event/EventKernel Event/FourMom ) @@ -21,12 +20,12 @@ atlas_add_library( AnalysisTriggerEvent src/*.cxx PUBLIC_HEADERS AnalysisTriggerEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES Navigation SGTools EventKernel FourMom + LINK_LIBRARIES Navigation AthenaKernel EventKernel FourMom PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( AnalysisTriggerEventDict AnalysisTriggerEvent/AnalysisTriggerEventDict.h AnalysisTriggerEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation SGTools EventKernel FourMom AnalysisTriggerEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation AthenaKernel EventKernel FourMom AnalysisTriggerEvent ) -- GitLab From 87bf014422feca0bf1796f4629c9df0c98b58a6d Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 31 Oct 2018 14:52:38 +0100 Subject: [PATCH 039/209] TagEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt | 7 +++---- .../EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt b/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt index 700bf8d999b..cf505c4d969 100644 --- a/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt +++ b/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TagEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Database/AthenaPOOL/AthenaPoolUtilities ) # External dependencies: @@ -19,12 +18,12 @@ atlas_add_library( TagEvent src/*.cxx PUBLIC_HEADERS TagEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES SGTools AthenaPoolUtilities + LINK_LIBRARIES AthenaKernel AthenaPoolUtilities PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( TagEventDict TagEvent/TagEventDict.h TagEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} SGTools AthenaPoolUtilities TagEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel AthenaPoolUtilities TagEvent ) diff --git a/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h b/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h index 912c831eb02..0dcb64e4f2c 100644 --- a/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h +++ b/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -379,7 +379,7 @@ inline int RawInfoSummaryForTag::getBCMHit() const {return m_BCMHit;} inline unsigned int RawInfoSummaryForTag::getMBTSword() const {return m_MBTSword;} -# include "CLIDSvc/CLASS_DEF.h" +# include "AthenaKernel/CLASS_DEF.h" CLASS_DEF( RawInfoSummaryForTag , 254867753 , 1 ) -- GitLab From 09fdc54a1035f80e3ec5bf4bc0ec3ce5fdd18ef6 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 31 Oct 2018 14:57:42 +0100 Subject: [PATCH 040/209] PyAnalysisExamples: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- .../PyAnalysis/PyAnalysisExamples/CMakeLists.txt | 8 +++----- .../PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h | 4 ++-- .../PyAnalysisExamples/PyAnalysisExamples/MyObj.h | 4 ++-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt index f524ea0df8f..6ad1dc198ff 100644 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt @@ -10,8 +10,6 @@ atlas_depends_on_subdirs( PUBLIC Control/AthenaBaseComps Control/AthenaKernel Control/RootUtils - Control/CLIDSvc - Control/SGTools GaudiKernel Reconstruction/egamma/egammaEvent PRIVATE @@ -30,19 +28,19 @@ atlas_add_library( PyAnalysisExamplesLib INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent StoreGateLib SGtests + LINK_LIBRARIES ${PYTHON_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent StoreGateLib SGtests PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} PyKernel ) atlas_add_component( PyAnalysisExamples src/components/*.cxx INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) + LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) atlas_add_dictionary( PyAnalysisExamplesDict PyAnalysisExamples/PyAnalysisExamplesDict.h PyAnalysisExamples/selection.xml INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) + LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) # Install files from the package: atlas_install_joboptions( share/*.py ) diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h index 50aeed71f7c..d903201753d 100755 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PYANALYSISEXAMPLES_MYDETOBJ_H @@ -7,7 +7,7 @@ #include <string> -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MyDetObj { diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h index dd87985681a..b8e61ce860c 100755 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PYANALYSISEXAMPLES_MYOBJ_H @@ -9,7 +9,7 @@ #include <iostream> #include <typeinfo> -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MyObj { -- GitLab From 1177a5789b7305d80c7c1089843ee8d0368db554 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 1 Nov 2018 16:10:00 +0100 Subject: [PATCH 041/209] Update packages:TrigHLTRatesFromCool TrigMonitorBase TrigStatsFromCool TrigSteerMonitor TrigTimeMonitor from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../src/TrigGenericMonitoringTool.cxx | 36 +++--- .../src/TrigGenericMonitoringTool.h | 8 +- .../TrigSteerMonitor/src/TrigRoIMoni.cxx | 108 +++++------------- 3 files changed, 52 insertions(+), 100 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx index 78d72cd1807..ecf8882c31b 100755 --- a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx +++ b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <iostream> @@ -165,32 +165,30 @@ HBASE* TrigGenericMonitoringTool<M,P>::create( const HistogramDef& def, Types&&. } -template<class M, class P> template<class H> +template<class M, class P> template<class H> TH1* TrigGenericMonitoringTool<M,P>::create1D( TH1*& histo, const HistogramDef& def ) { histo = create<H,TH1>(def, def.xbins, def.xmin, def.xmax); return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::createProfile( TProfile*& histo, const HistogramDef& def ) -{ - TH1* h = create<H,TH1>(def, def.xbins, def.xmin, def.xmax, def.ymin, def.ymax); +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::createProfile( TProfile*& histo, const HistogramDef& def ) { + TH1* h = create<H,TH1>( def, def.xbins, def.xmin, def.xmax, def.ymin, def.ymax ); histo = dynamic_cast<TProfile*>(h); - return h; + return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::create2D( TH2*& histo, const HistogramDef& def ) -{ - histo = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax); +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::create2D( TH2*& histo, const HistogramDef& def ) { + histo = create<H,TH2>( def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax ); return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::create2DProfile( TProfile2D*& histo, const HistogramDef& def ) +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::create2DProfile( TProfile2D*& histo, const HistogramDef& def ) { - TH1* h = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, + TH1* h = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax, def.zmin, def.zmax); histo = dynamic_cast<TProfile2D*>(h); return histo; @@ -214,9 +212,10 @@ StatusCode TrigGenericMonitoringTool<M,P>::createFiller(const HistogramDef& def) else if (def.type == "TH1I") histo = create1D<TH1I>(histo1D, def); - else if (def.type == "TProfile") + else if (def.type == "TProfile") { histo = createProfile<TProfile>(histoProfile, def); - + } + //create 2D else if (def.type == "TH2F") histo = create2D<TH2F>(histo2D, def ); @@ -227,12 +226,13 @@ StatusCode TrigGenericMonitoringTool<M,P>::createFiller(const HistogramDef& def) else if (def.type == "TH2I") histo = create2D<TH2I>(histo2D, def); - else if (def.type == "TProfile2D") + else if (def.type == "TProfile2D"){ histo = create2DProfile<TProfile2D>(histo2DProfile, def); + } if (histo == 0 ) { ATH_MSG_WARNING("Can not create yet histogram of type: " << def.type); - ATH_MSG_WARNING("Try one of: TH1[F,D,I], TH2[F,D,I], TProfile, TProfile2D"); + ATH_MSG_WARNING("Try one of: TH1F,TH1D,TH1I,TH2F,TH2D,TH2I, TProfile, TProfile2D"); return StatusCode::FAILURE; } diff --git a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h index 2b07e97bc56..6a905fc31ac 100755 --- a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h +++ b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h @@ -1,7 +1,7 @@ // -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGMONITORBASE_TRIGGENERICMONITORINGTOOL_H @@ -292,7 +292,7 @@ private: P m_variable1{0}; P m_variable2{0}; P m_variable3{0}; - }; + }; StatusCode createFiller(const HistogramDef& def); //!< creates filler and adds to the list of active fillers @@ -318,9 +318,9 @@ private: TH1* create1D( TH1*& histo, const HistogramDef& def ); template<class H> TH1* createProfile( TProfile*& histo, const HistogramDef& def ); - template<class H> + template<class H> TH1* create2D( TH2*& histo, const HistogramDef& def ); - template<class H> + template<class H> TH1* create2DProfile( TProfile2D*& histo, const HistogramDef& def ); }; diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx index 8b191f2f0d3..e14b1fe3851 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <vector> @@ -63,7 +63,6 @@ TrigRoIMoni::TrigRoIMoni(const std::string & type, const std::string & name, m_trigConfigSvc("TrigConf::LVL1ConfigSvc/LVL1ConfigSvc", name), m_gotL1Config(false), m_lvl1Tool("HLT::Lvl1ResultAccessTool/Lvl1ResultAccessTool",this), - m_trigLvl("HLT"), m_threshMultiMax(100) { @@ -152,14 +151,10 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL // roi & threshold multiplicity hists m_etaphi_EM_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiEM", - ("phi vs eta for all L1 EM RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 EM RoIs", 51, -2.55, 2.55, 64, -M_PI*(1.-1./64.), M_PI*(1.+1./64.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_EM_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_EM_all->GetName()); - } - // Fill bin limits with {-5,-3.1,-2.9,...,3.1,5} const int n_jbins = 34; double jbins[n_jbins]; @@ -169,45 +164,39 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL m_etaphi_J_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiJ", - ("phi vs eta for all L1 jet RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 jet RoIs", n_jbins-1, jbins, 32, -M_PI*(1.-1./32.), M_PI*(1.+1./32.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_J_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_J_all->GetName()); - } - m_etaphi_JF_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiJF", - ("phi vs eta for all L1 forward jet RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 forward jet RoIs", 2, -5., 5., 32, -M_PI*(1.-1./32.), M_PI*(1.+1./32.))); m_etaphi_JF_all->GetXaxis()->SetBinLabel(1, "eta < -3.2"); m_etaphi_JF_all->GetXaxis()->SetBinLabel(2, "eta > 3.2"); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_JF_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_JF_all->GetName()); - } - + m_etaphi_HA_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiHA", - ("phi vs eta for all L1 tau RoIs "+m_trigLvl).c_str(), 51, -2.55, 2.55, + "phi vs eta for all L1 tau RoIs", 51, -2.55, 2.55, 64, -M_PI*(1.-1./64.), M_PI*(1.+1./64.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_HA_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_HA_all->GetName()); - } - m_etaphi_MU_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiMU", - ("phi vs eta for all L1 MU RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 MU RoIs", 50, -2.5, 2.5, 64, -M_PI, M_PI)); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_MU_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_MU_all->GetName()); - } + TrigLBNHist<TH2I>* lbnhists[] = {m_etaphi_EM_all, m_etaphi_J_all, m_etaphi_JF_all, + m_etaphi_HA_all, m_etaphi_MU_all}; + + for (auto h : lbnhists) { + if ( expertHistograms.regHist((ITrigLBNHist*)h).isFailure()) + ATH_MSG_WARNING("Cannot register " << h->GetName()); + } + m_histoverflow = SetupOverflowHist(); if ( m_histoverflow == 0 || expertHistograms.regHist(m_histoverflow).isFailure()) { ATH_MSG_WARNING("Either can't book or can't register RoIsOverflow"); @@ -265,58 +254,21 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL float etamin=-5.,etamax=5.; - std::string tmpstring("N Initial RoI in Event "); - tmpstring+=m_trigLvl; - TString htit(/*Form*/(tmpstring.c_str())); - - m_histonroi = new TH1F( "NInitialRoIsPerEvent",htit.Data(),50,-0.5,49.5); - - if ( expertHistograms.regHist(m_histonroi).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histonroi ->GetName()); - - tmpstring="Updates of RoI positions with respect to L1 (phi) "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - - m_histodeta = new TH1F( "RoIsDEta",htit.Data(),100,detamin,detamax); - - if ( expertHistograms.regHist(m_histodeta).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histodeta ->GetName()); + m_histonroi = new TH1F("NInitialRoIsPerEvent", "N Initial RoI in Event", 50, -0.5, 49.5); + m_histodeta = new TH1F("RoIsDEta", "Updates of RoI positions with respect to L1 (eta)", 100, detamin, detamax); + m_histodphi = new TH1F("RoIsDPhi","Updates of RoI positions with respect to L1 (phi)", 32, dphimin, dphimax); + m_histoeta0 = new TH1F("RoIsL1Eta","L1 RoIs eta", 25, etamin, etamax); + m_histophi0 = new TH1F("RoIsL1Phi", "L1 RoIs phi", 32, phimin, phimax); + m_histo_eta0_phi0 = new TH2F("RoIsL1PhiEta", "L1 RoIs phi vs eta", 25, etamin, etamax, 32, phimin, phimax); - tmpstring="Updates of RoI positions with respect to L1 (eta) "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); + TH1* hists[] = {m_histonroi, m_histodeta, m_histodphi, + m_histoeta0, m_histophi0, m_histo_eta0_phi0}; - m_histodphi = new TH1F( "RoIsDPhi",htit.Data(), 32,dphimin,dphimax); - - if ( expertHistograms.regHist(m_histodphi).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histodphi->GetName()); - - tmpstring="L1 RoIs eta "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); + for (auto h : hists) { + if ( expertHistograms.regHist(h).isFailure()) + ATH_MSG_WARNING("Cannot register " << h->GetName()); + } - m_histoeta0 = new TH1F( "RoIsL1Eta",htit.Data(), 25,etamin,etamax); - - if ( expertHistograms.regHist(m_histoeta0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histoeta0->GetName()); - - tmpstring="L1 RoIs phi "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - m_histophi0 = new TH1F( "RoIsL1Phi",htit.Data(), 32,phimin,phimax); - - if ( expertHistograms.regHist(m_histophi0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histophi0->GetName()); - - tmpstring="L1 RoIs phi vs eta "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - m_histo_eta0_phi0 = new TH2F( "RoIsL1PhiEta", htit.Data(), 25,etamin,etamax, 32,phimin,phimax); - - if ( expertHistograms.regHist(m_histo_eta0_phi0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histophi0->GetName()); - return StatusCode::SUCCESS; } @@ -687,7 +639,7 @@ void TrigRoIMoni::FillEtaPhiPlots() for (const HLT::JetEnergyRoI jetERoI : jetERoIs) { - if (jetERoI.type() == JetRoI || jetERoI.type() == ForwardJetRoI) { + if (jetERoI.type() == HLT::JetRoI || jetERoI.type() == HLT::ForwardJetRoI) { // Dummy configuration vector, only need coordinates, not thresholds std::vector<TrigConf::TriggerThreshold*> jetConfig; @@ -697,8 +649,8 @@ void TrigRoIMoni::FillEtaPhiPlots() double eta = recRoI.eta(); double phi = fixphi(recRoI.phi()); - if (jetERoI.type() == JetRoI && m_etaphi_J_all) m_etaphi_J_all->Fill(eta, phi); - if (jetERoI.type() == ForwardJetRoI && m_etaphi_JF_all) m_etaphi_JF_all->Fill(eta, phi); + if (jetERoI.type() == HLT::JetRoI && m_etaphi_J_all) m_etaphi_J_all->Fill(eta, phi); + if (jetERoI.type() == HLT::ForwardJetRoI && m_etaphi_JF_all) m_etaphi_JF_all->Fill(eta, phi); m_histoeta0->Fill(eta); m_histophi0->Fill(phi); -- GitLab From 0b578b3c58a1608048ad3de9beb8e351028be1a9 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 14:24:31 +0100 Subject: [PATCH 042/209] AthenaPoolMultiTest: Update reference files. Fix test failures in master. --- .../share/AthenaPoolMultiTestCheckNull.ref | 3 --- .../share/AthenaPoolMultiTestEventSplit.ref | 13 +++++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref index 9ad18527dfc..119e565dbf5 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref @@ -20,8 +20,6 @@ FullColl DEBUG In initialize FullColl DEBUG Found 'StoreName':StoreGateSvc store. FullColl.Regist... DEBUG Property update for OutputLevel : new value = 2 FullColl DEBUG Tool initialized -FullColl DEBUG Retrieved IncidentSvc -FullColl DEBUG Added MetaDataStop listener FullColl DEBUG Not class requested by Tool, skipping (40774348,"RunEventTag") FullColl DEBUG Not class requested by Tool, skipping (222376821,"*") FullColl DEBUG End initialize @@ -31,7 +29,6 @@ FullColl DEBUG Adding private ToolHandle tool FullColl.RegistrationSt FullColl DEBUG Data Deps for FullColl AthenaEventLoopMgr INFO Setup EventSelector service EventSelector EventSelector DEBUG Try item: "PFN:NullableCollection.root" from the collection list. -FullColl DEBUG handle() incident type: MetaDataStop FullColl.Regist... INFO Collection Events output: 0 FullColl.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:CheckNull.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref index 45fa0d102aa..6c731e098d6 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref @@ -428,21 +428,34 @@ Splitter48 INFO EventInfo event: 19 run: 0 Splitter48 INFO L1 passed Triggered INFO EventInfo event: 19 run: 0 Triggered INFO L1 passed +Stream2 INFO AthenaOutputStream Stream2 ::stop() StorageSvc INFO EventStreamInfo_p3 [11DF1B8C-0DEE-4687-80D7-E74B520ACBB4] Stream2 INFO Records written: 8 +Stream1 INFO AthenaOutputStream Stream1 ::stop() Stream1 INFO Records written: 8 +Stream3 INFO AthenaOutputStream Stream3 ::stop() Stream3 INFO Records written: 6 +Others INFO AthenaOutputStream Others ::stop() Others INFO Records written: 2 +Bad INFO AthenaOutputStream Bad ::stop() Bad INFO Records written: 1 CollBit1.Regist... INFO Collection Events output: 7 +CollBit1.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll23.Registra... INFO Collection Events output: 14 +Coll23.Registra... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split23.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll456.Registr... INFO Collection Events output: 3 +Coll456.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split456.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollBar.Registr... INFO Collection Events output: 1 +CollBar.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitBar.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll1and7.Regis... INFO Collection Events output: 1 +Coll1and7.Regis... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1plus7' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll348.Registr... INFO Collection Events output: 9 +Coll348.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split348.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollTrig.CollTr... INFO Collection Events output: 20 +CollTrig.CollTr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitTrig.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollBad.Registr... INFO Collection Events output: 0 PoolSvc INFO Writing ExplicitROOT Collection - do not pass session pointer +CollBad.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitBad.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Splitter1 INFO in finalize() Splitter2 INFO in finalize() Splitter3 INFO in finalize() -- GitLab From 1cfb94ff2e4d6fb5f90151ca16e57ca51c0ab4a3 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 14:29:01 +0100 Subject: [PATCH 043/209] ByteStreamTest: Update reference file. Update reference file for changes in core. Fixes test failure in master. --- .../share/ByteStreamTestMetaWrite.ref | 122 +++++++++--------- 1 file changed, 62 insertions(+), 60 deletions(-) diff --git a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref index 63c43a53d4e..82e3b9602f7 100644 --- a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref +++ b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref @@ -15,20 +15,21 @@ ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version Byte ByteStreamInputSvc DEBUG Service base class initialized successfully EventSelector INFO reinitialization... AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector ByteStreamInputSvc DEBUG Recorded ByteStreamMetadata in InputMetadataStore ByteStreamInputSvc DEBUG run parameters = ByteStreamInputSvc DEBUG Number of Free meta data strings: 0 - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1038508 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot INVALID ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1324 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamAttLi... INFO ByteStreamAttListMetadataSvc::toBSMetadata ByteStreamAttLi... INFO Found RunEventTag in DetectorStore @@ -40,229 +41,230 @@ ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1000648 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1be46000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec90000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 0 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1039848 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 965292 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 1 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 2040512 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1014472 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c0f8000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec7e000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 2 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 3005820 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1104432 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ed76000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 3 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 4020308 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1037592 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3ec000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 4 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 5124756 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1045524 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec90000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 5 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 6162364 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1126828 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ed90000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 6 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 7207904 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1074584 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 7 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 8334748 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1361908 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c164000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec9a000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 8 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 9409348 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1168392 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ede8000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 9 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 10771272 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1052428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3fc000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 10 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 11939680 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1103056 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec94000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 11 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 12992124 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1110836 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3ec000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eda2000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 12 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 14095196 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1058732 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 13 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 15206048 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1156428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3e2000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec96000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 14 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 16264796 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1093640 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2edb2000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 15 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 17421240 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1149620 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c176000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 16 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 18514896 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1051544 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ecac000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 17 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 19664532 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1050384 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3e0000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 18 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 20716092 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag StoreDump INFO AttributeList has size 2 +StreamBSFileOutput INFO AthenaOutputStream StreamBSFileOutput ::stop() ByteStreamInputSvc DEBUG Calling ByteStreamInputSvc::stop() ByteStreamEvent... INFO number of events written: 20 -- GitLab From 9dc8a2c8628564d199dc0d9b3b7c0e74254fd8c7 Mon Sep 17 00:00:00 2001 From: Edward Moyse <edward.moyse@cern.ch> Date: Thu, 1 Nov 2018 16:53:33 +0100 Subject: [PATCH 044/209] Qat has been disabled for a while now. Removing it completely. --- Projects/Athena/package_filters.txt | 3 - .../Qat/QatAnnotationSystem/CMakeLists.txt | 24 - .../QatAnnotationSystem/AnnotationSystem.h | 64 - .../AnnotationSystemMainWidget.h | 30 - .../AnnotationSystemMenu.h | 28 - .../QatAnnotationSystem/TextEditor.h | 52 - .../src/AnnotationSystem.cpp | 90 - .../src/AnnotationSystemMainWidget.cpp | 139 -- .../src/AnnotationSystemMainWidget.ui | 41 - .../src/AnnotationSystemMenu.cpp | 10 - .../src/AnnotationSystemMenu.ui | 88 - .../src/QatAnnotationSystem.pro | 20 - .../QatAnnotationSystem/src/TextEditor.cpp | 393 ---- .../Qat/QatAnnotationSystem/src/TextEditor.ui | 173 -- graphics/Qat/QatBase/CMakeLists.txt | 18 - .../QatBase/share/generate-qat-factory-code | 59 - .../QatBase/share/generate-qat-visfunctions | 22 - graphics/Qat/QatDataAnalysis/CMakeLists.txt | 18 - .../QatDataAnalysis/Attribute.h | 84 - .../QatDataAnalysis/Attribute.icc | 101 - .../QatDataAnalysis/AttributeList.h | 68 - .../QatDataAnalysis/AttributeList.icc | 37 - .../QatDataAnalysis/AttributeListConstLink.h | 6 - .../QatDataAnalysis/AttributeListLink.h | 6 - .../QatDataAnalysis/ClientSocket.h | 25 - .../QatDataAnalysis/ClientSocket.icc | 23 - .../QatDataAnalysis/ConstLink.h | 170 -- .../QatDataAnalysis/QatDataAnalysis/Hist1D.h | 100 - .../QatDataAnalysis/Hist1D.icc | 116 - .../QatDataAnalysis/Hist1DMaker.h | 57 - .../QatDataAnalysis/QatDataAnalysis/Hist2D.h | 116 - .../QatDataAnalysis/Hist2D.icc | 165 -- .../QatDataAnalysis/Hist2DMaker.h | 59 - .../QatDataAnalysis/HistSetMaker.h | 80 - .../QatDataAnalysis/HistogramManager.h | 192 -- .../QatDataAnalysis/IODriver.h | 52 - .../QatDataAnalysis/IOLoader.h | 54 - .../QatDataAnalysis/QatDataAnalysis/Link.h | 112 - .../QatDataAnalysis/MultiHistFileManager.h | 80 - .../QatDataAnalysis/OptParse.h | 152 -- .../QatDataAnalysis/Projection.h | 61 - .../QatDataAnalysis/QatUtils.h | 10 - .../QatDataAnalysis/QatDataAnalysis/Query.h | 63 - .../QatDataAnalysis/QatDataAnalysis/Query.icc | 50 - .../QatDataAnalysis/QatDataAnalysis/RCSBase.h | 73 - .../QatDataAnalysis/Selection.h | 58 - .../QatDataAnalysis/ServerSocket.h | 29 - .../QatDataAnalysis/ServerSocket.icc | 24 - .../QatDataAnalysis/QatDataAnalysis/Socket.h | 60 - .../QatDataAnalysis/Socket.icc | 35 - .../QatDataAnalysis/SocketException.h | 23 - .../QatDataAnalysis/QatDataAnalysis/Table.h | 110 - .../QatDataAnalysis/QatDataAnalysis/Table.icc | 118 - .../QatDataAnalysis/QatDataAnalysis/Tuple.h | 142 -- .../QatDataAnalysis/QatDataAnalysis/Tuple.icc | 142 -- .../QatDataAnalysis/TupleConstLink.h | 6 - .../QatDataAnalysis/TupleCut.h | 72 - .../QatDataAnalysis/TupleLink.h | 6 - .../QatDataAnalysis/TupleStore.h | 121 - .../QatDataAnalysis/QatDataAnalysis/Value.h | 55 - .../QatDataAnalysis/QatDataAnalysis/Value.icc | 22 - .../QatDataAnalysis/ValueList.h | 64 - .../QatDataAnalysis/ValueList.icc | 53 - .../QatDataAnalysis/asymmetry.h | 10 - graphics/Qat/QatDataAnalysis/grid/Makefile | 5 - .../Qat/QatDataAnalysis/src/Attribute.cpp | 24 - .../Qat/QatDataAnalysis/src/AttributeList.cpp | 56 - .../Qat/QatDataAnalysis/src/ClientSocket.cpp | 46 - graphics/Qat/QatDataAnalysis/src/Hist1D.cpp | 164 -- .../Qat/QatDataAnalysis/src/Hist1DMaker.cpp | 78 - graphics/Qat/QatDataAnalysis/src/Hist2D.cpp | 176 -- .../Qat/QatDataAnalysis/src/Hist2DMaker.cpp | 97 - .../Qat/QatDataAnalysis/src/HistSetMaker.cpp | 181 -- .../QatDataAnalysis/src/HistogramManager.cpp | 235 -- graphics/Qat/QatDataAnalysis/src/IODriver.cpp | 28 - graphics/Qat/QatDataAnalysis/src/IOLoader.cpp | 158 -- graphics/Qat/QatDataAnalysis/src/Makefile | 7 - .../src/MultiHistFileManager.cpp | 139 -- graphics/Qat/QatDataAnalysis/src/OptParse.cpp | 385 ---- .../Qat/QatDataAnalysis/src/Projection.cpp | 145 -- graphics/Qat/QatDataAnalysis/src/QatUtils.cpp | 24 - graphics/Qat/QatDataAnalysis/src/RCSBase.cpp | 65 - .../Qat/QatDataAnalysis/src/Selection.cpp | 111 - .../Qat/QatDataAnalysis/src/ServerSocket.cpp | 59 - graphics/Qat/QatDataAnalysis/src/Socket.cpp | 194 -- graphics/Qat/QatDataAnalysis/src/Table.cpp | 198 -- graphics/Qat/QatDataAnalysis/src/Tuple.cpp | 122 - graphics/Qat/QatDataAnalysis/src/TupleCut.cpp | 71 - .../Qat/QatDataAnalysis/src/TupleStore.cpp | 101 - .../Qat/QatDataAnalysis/src/ValueList.cpp | 23 - .../Qat/QatDataAnalysis/src/asymmetry.cpp | 140 -- graphics/Qat/QatDataModeling/CMakeLists.txt | 25 - .../QatDataModeling/QatDataModeling/ChiSq.h | 46 - .../QatDataModeling/FitFunction.h | 75 - .../QatDataModeling/HistChi2Functional.h | 79 - .../HistLikelihoodFunctional.h | 77 - .../QatDataModeling/MinuitMinimizer.h | 125 -- .../QatDataModeling/ObjectiveFunction.h | 21 - .../QatDataModeling/RemoteMinimizer.h | 119 - .../QatDataModeling/RemoteMinimizer.icc | 270 --- .../TableLikelihoodFunctional.h | 54 - .../QatDataModeling/d506cm.inc | 64 - .../QatDataModeling/d506dp.inc | 32 - .../QatDataModeling/QatDataModeling/minuit.h | 16 - .../QatDataModeling/QatDataModeling/pilot.h | 7 - graphics/Qat/QatDataModeling/grid/Makefile | 15 - .../Qat/QatDataModeling/src/FitFunction.cpp | 32 - .../src/HistChi2Functional.cpp | 103 - .../src/HistLikelihoodFunctional.cpp | 106 - graphics/Qat/QatDataModeling/src/Makefile | 7 - graphics/Qat/QatDataModeling/src/Makefile.MAC | 6 - .../QatDataModeling/src/MinuitMinimizer.cpp | 290 --- .../QatDataModeling/src/ObjectiveFunction.cpp | 5 - .../QatDataModeling/src/RecordMinimizer.cpp | 61 - .../src/TableLikelihoodFunctional.cpp | 56 - graphics/Qat/QatDataModeling/src/minuit.F | 150 -- graphics/Qat/QatDataModeling/src/mnamin.F | 36 - graphics/Qat/QatDataModeling/src/mnbins.F | 76 - graphics/Qat/QatDataModeling/src/mncalf.F | 49 - graphics/Qat/QatDataModeling/src/mncler.F | 42 - graphics/Qat/QatDataModeling/src/mncntr.F | 164 -- graphics/Qat/QatDataModeling/src/mncomd.F | 112 - graphics/Qat/QatDataModeling/src/mncont.F | 285 --- graphics/Qat/QatDataModeling/src/mncrck.F | 138 -- graphics/Qat/QatDataModeling/src/mncros.F | 343 --- graphics/Qat/QatDataModeling/src/mncuve.F | 65 - graphics/Qat/QatDataModeling/src/mnderi.F | 150 -- graphics/Qat/QatDataModeling/src/mndxdi.F | 30 - graphics/Qat/QatDataModeling/src/mneig.F | 204 -- graphics/Qat/QatDataModeling/src/mnemat.F | 65 - graphics/Qat/QatDataModeling/src/mnerrs.F | 59 - graphics/Qat/QatDataModeling/src/mneval.F | 48 - graphics/Qat/QatDataModeling/src/mnexcm.F | 478 ---- graphics/Qat/QatDataModeling/src/mnexin.F | 33 - graphics/Qat/QatDataModeling/src/mnfixp.F | 90 - graphics/Qat/QatDataModeling/src/mnfree.F | 118 - graphics/Qat/QatDataModeling/src/mngrad.F | 80 - graphics/Qat/QatDataModeling/src/mnhelp.F | 633 ------ graphics/Qat/QatDataModeling/src/mnhes1.F | 87 - graphics/Qat/QatDataModeling/src/mnhess.F | 232 -- graphics/Qat/QatDataModeling/src/mnimpr.F | 199 -- graphics/Qat/QatDataModeling/src/mninex.F | 35 - graphics/Qat/QatDataModeling/src/mninit.F | 136 -- graphics/Qat/QatDataModeling/src/mninpu.F | 53 - graphics/Qat/QatDataModeling/src/mnintr.F | 31 - graphics/Qat/QatDataModeling/src/mnlims.F | 134 -- graphics/Qat/QatDataModeling/src/mnline.F | 232 -- graphics/Qat/QatDataModeling/src/mnmatu.F | 78 - graphics/Qat/QatDataModeling/src/mnmigr.F | 329 --- graphics/Qat/QatDataModeling/src/mnmnos.F | 89 - graphics/Qat/QatDataModeling/src/mnmnot.F | 182 -- graphics/Qat/QatDataModeling/src/mnparm.F | 229 -- graphics/Qat/QatDataModeling/src/mnpars.F | 99 - graphics/Qat/QatDataModeling/src/mnpfit.F | 79 - graphics/Qat/QatDataModeling/src/mnpint.F | 53 - graphics/Qat/QatDataModeling/src/mnplot.F | 158 -- graphics/Qat/QatDataModeling/src/mnpout.F | 71 - graphics/Qat/QatDataModeling/src/mnprin.F | 203 -- graphics/Qat/QatDataModeling/src/mnpsdf.F | 100 - graphics/Qat/QatDataModeling/src/mnrazz.F | 60 - graphics/Qat/QatDataModeling/src/mnread.F | 201 -- graphics/Qat/QatDataModeling/src/mnrn15.F | 39 - graphics/Qat/QatDataModeling/src/mnrset.F | 50 - graphics/Qat/QatDataModeling/src/mnsave.F | 100 - graphics/Qat/QatDataModeling/src/mnscan.F | 132 -- graphics/Qat/QatDataModeling/src/mnseek.F | 110 - graphics/Qat/QatDataModeling/src/mnset.F | 431 ---- graphics/Qat/QatDataModeling/src/mnseti.F | 27 - graphics/Qat/QatDataModeling/src/mnsimp.F | 212 -- graphics/Qat/QatDataModeling/src/mnstat.F | 51 - graphics/Qat/QatDataModeling/src/mnstin.F | 184 -- graphics/Qat/QatDataModeling/src/mntiny.F | 28 - graphics/Qat/QatDataModeling/src/mnunpt.F | 37 - graphics/Qat/QatDataModeling/src/mnvers.F | 27 - graphics/Qat/QatDataModeling/src/mnvert.F | 86 - graphics/Qat/QatDataModeling/src/mnwarn.F | 98 - graphics/Qat/QatDataModeling/src/mnwerr.F | 66 - graphics/Qat/QatDataModeling/src/stand.F | 25 - graphics/Qat/QatDataModeling/src/trick.cc | 16 - graphics/Qat/QatPlotSystem/CMakeLists.txt | 25 - .../QatPlotSystem/QatPlotSystem/PlotSystem.h | 68 - .../QatPlotSystem/PlotSystemMainWidget.h | 33 - .../QatPlotSystem/PlotSystemMenu.h | 53 - graphics/Qat/QatPlotSystem/src/PlotSystem.cpp | 679 ------ .../src/PlotSystemMainWidget.cpp | 30 - .../QatPlotSystem/src/PlotSystemMainWidget.ui | 69 - .../Qat/QatPlotSystem/src/PlotSystemMenu.cpp | 69 - .../Qat/QatPlotSystem/src/PlotSystemMenu.ui | 74 - .../Qat/QatPlotSystem/src/QatPlotSystem.pro | 20 - graphics/Qat/QatPlotWidgets/CMakeLists.txt | 37 - .../QatPlotWidgets/AbsRangeDivider.h | 61 - .../QatPlotWidgets/CustomRangeDivider.h | 40 - .../QatPlotWidgets/LabelEditorDialog.h | 44 - .../QatPlotWidgets/LinearRangeDivider.h | 68 - .../QatPlotWidgets/LinearSubdivider.h | 68 - .../QatPlotWidgets/LogRangeDivider.h | 68 - .../QatPlotWidgets/LogSubdivider.h | 68 - .../QatPlotWidgets/QatPlotWidgets/PVControl.h | 58 - .../QatPlotWidgets/ParameterDialog.h | 38 - .../QatPlotWidgets/PlotDirDialog.h | 49 - .../QatPlotWidgets/PlotFunction1DDialog.h | 43 - .../QatPlotWidgets/PlotHist1DDialog.h | 40 - .../QatPlotWidgets/PlotHist2DDialog.h | 39 - .../QatPlotWidgets/QatPlotWidgets/PlotView.h | 148 -- .../QatPlotWidgets/RangeDivision.h | 38 - .../QatPlotWidgets/characterwidget.h | 66 - .../QatPlotWidgets/src/AbsRangeDivider.cpp | 28 - .../QatPlotWidgets/src/CustomRangeDivider.cpp | 52 - .../src/ICONS/BrushBDiagPattern.png | Bin 761 -> 0 bytes .../src/ICONS/BrushCrossPattern.png | Bin 550 -> 0 bytes .../src/ICONS/BrushDense1Pattern.png | Bin 532 -> 0 bytes .../src/ICONS/BrushDense2Pattern.png | Bin 631 -> 0 bytes .../src/ICONS/BrushDense3Pattern.png | Bin 671 -> 0 bytes .../src/ICONS/BrushDense4Pattern.png | Bin 562 -> 0 bytes .../src/ICONS/BrushDense5Pattern.png | Bin 666 -> 0 bytes .../src/ICONS/BrushDense6Pattern.png | Bin 573 -> 0 bytes .../src/ICONS/BrushDense7Pattern.png | Bin 486 -> 0 bytes .../src/ICONS/BrushDiagCrossPattern.png | Bin 715 -> 0 bytes .../src/ICONS/BrushFDiagPattern.png | Bin 761 -> 0 bytes .../src/ICONS/BrushHorPattern.png | Bin 522 -> 0 bytes .../QatPlotWidgets/src/ICONS/BrushNoBrush.png | Bin 1654 -> 0 bytes .../src/ICONS/BrushSolidPattern.png | Bin 448 -> 0 bytes .../src/ICONS/BrushVerPattern.png | Bin 461 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/QtSolid.png | Bin 16048 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/black.png | Bin 103 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/blue.png | Bin 104 -> 0 bytes .../QatPlotWidgets/src/ICONS/brush-styles.png | Bin 16048 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/circle.png | Bin 183 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/cyan.png | Bin 104 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/gray.png | Bin 106 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/green.png | Bin 104 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/mauve.png | Bin 104 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/nosymbol.png | Bin 83 -> 0 bytes .../QatPlotWidgets/src/ICONS/qpen-dash.png | Bin 8221 -> 0 bytes .../QatPlotWidgets/src/ICONS/qpen-dashdot.png | Bin 5961 -> 0 bytes .../src/ICONS/qpen-dashdotdot.png | Bin 5999 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/qpen-dot.png | Bin 5386 -> 0 bytes .../QatPlotWidgets/src/ICONS/qpen-none.png | Bin 3537 -> 0 bytes .../QatPlotWidgets/src/ICONS/qpen-solid.png | Bin 7416 -> 0 bytes graphics/Qat/QatPlotWidgets/src/ICONS/red.png | Bin 104 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/square.png | Bin 121 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/tridown.png | Bin 192 -> 0 bytes .../Qat/QatPlotWidgets/src/ICONS/triup.png | Bin 193 -> 0 bytes .../QatPlotWidgets/src/LabelEditorDialog.cpp | 210 -- .../QatPlotWidgets/src/LabelEditorDialog.ui | 311 --- .../QatPlotWidgets/src/LinearRangeDivider.cpp | 175 -- .../QatPlotWidgets/src/LinearSubdivider.cpp | 149 -- .../QatPlotWidgets/src/LogRangeDivider.cpp | 150 -- .../Qat/QatPlotWidgets/src/LogSubdivider.cpp | 145 -- graphics/Qat/QatPlotWidgets/src/PVControl.cpp | 250 --- graphics/Qat/QatPlotWidgets/src/PVControl.ui | 1262 ----------- .../QatPlotWidgets/src/ParameterDialog.cpp | 43 - .../Qat/QatPlotWidgets/src/ParameterDialog.ui | 116 - .../Qat/QatPlotWidgets/src/PlotDirDialog.cpp | 358 --- .../Qat/QatPlotWidgets/src/PlotDirDialog.ui | 1992 ----------------- .../src/PlotFunction1DDialog.cpp | 225 -- .../QatPlotWidgets/src/PlotHist1DDialog.cpp | 290 --- .../QatPlotWidgets/src/PlotHist2DDialog.cpp | 206 -- graphics/Qat/QatPlotWidgets/src/PlotView.cpp | 1405 ------------ .../Qat/QatPlotWidgets/src/PlotWidgets.qrc | 39 - .../Qat/QatPlotWidgets/src/QatPlotWidgets.pro | 56 - .../Qat/QatPlotWidgets/src/RangeDivision.cpp | 37 - .../QatPlotWidgets/src/characterwidget.cpp | 151 -- graphics/Qat/QatPlotting/CMakeLists.txt | 28 - .../Qat/QatPlotting/QatPlotting/AbsPlotter.h | 84 - .../Qat/QatPlotting/QatPlotting/LinToLog.h | 28 - .../Qat/QatPlotting/QatPlotting/PlotBand1D.h | 94 - .../QatPlotting/PlotBand1DProperties.h | 18 - .../Qat/QatPlotting/QatPlotting/PlotBox.h | 78 - .../QatPlotting/PlotBoxProperties.h | 20 - .../QatPlotting/PlotErrorEllipse.h | 88 - .../QatPlotting/PlotErrorEllipseProperties.h | 20 - .../QatPlotting/QatPlotting/PlotFunction1D.h | 92 - .../QatPlotting/PlotFunction1D.icc | 117 - .../QatPlotting/PlotFunction1DProperties.h | 20 - .../Qat/QatPlotting/QatPlotting/PlotHist1D.h | 86 - .../QatPlotting/PlotHist1DProperties.h | 33 - .../Qat/QatPlotting/QatPlotting/PlotHist2D.h | 86 - .../QatPlotting/PlotHist2DProperties.h | 20 - .../Qat/QatPlotting/QatPlotting/PlotMeasure.h | 83 - .../QatPlotting/PlotMeasureProperties.h | 28 - .../Qat/QatPlotting/QatPlotting/PlotOrbit.h | 90 - .../Qat/QatPlotting/QatPlotting/PlotOrbit.icc | 140 -- .../QatPlotting/PlotOrbitProperties.h | 17 - .../Qat/QatPlotting/QatPlotting/PlotPoint.h | 70 - .../QatPlotting/PlotPointProperties.h | 27 - .../Qat/QatPlotting/QatPlotting/PlotProfile.h | 82 - .../QatPlotting/PlotProfileProperties.h | 32 - .../Qat/QatPlotting/QatPlotting/PlotRect.h | 70 - .../QatPlotting/PlotRectProperties.h | 19 - .../QatPlotting/QatPlotting/PlotResidual1D.h | 88 - .../QatPlotting/PlotResidual1DProperties.h | 27 - .../QatPlotting/QatPlotting/PlotShadeBox.h | 82 - .../QatPlotting/PlotShadeBoxProperties.h | 23 - .../Qat/QatPlotting/QatPlotting/PlotStream.h | 221 -- .../Qat/QatPlotting/QatPlotting/PlotText.h | 63 - .../Qat/QatPlotting/QatPlotting/PlotWave1D.h | 75 - .../QatPlotting/PlotWave1DProperties.h | 5 - .../Qat/QatPlotting/QatPlotting/Plotable.h | 59 - .../Qat/QatPlotting/QatPlotting/RealArg.h | 71 - .../Qat/QatPlotting/QatPlotting/VisFunction.h | 88 - graphics/Qat/QatPlotting/src/AbsPlotter.cpp | 29 - graphics/Qat/QatPlotting/src/PlotBand1D.cpp | 363 --- graphics/Qat/QatPlotting/src/PlotBox.cpp | 137 -- .../Qat/QatPlotting/src/PlotErrorEllipse.cpp | 212 -- .../Qat/QatPlotting/src/PlotFunction1D.cpp | 264 --- graphics/Qat/QatPlotting/src/PlotHist1D.cpp | 422 ---- graphics/Qat/QatPlotting/src/PlotHist2D.cpp | 200 -- graphics/Qat/QatPlotting/src/PlotMeasure.cpp | 290 --- graphics/Qat/QatPlotting/src/PlotOrbit.cpp | 222 -- graphics/Qat/QatPlotting/src/PlotPoint.cpp | 195 -- graphics/Qat/QatPlotting/src/PlotProfile.cpp | 301 --- graphics/Qat/QatPlotting/src/PlotRect.cpp | 153 -- .../Qat/QatPlotting/src/PlotResidual1D.cpp | 344 --- graphics/Qat/QatPlotting/src/PlotShadeBox.cpp | 181 -- graphics/Qat/QatPlotting/src/PlotText.cpp | 148 -- graphics/Qat/QatPlotting/src/PlotWave1D.cpp | 242 -- graphics/Qat/QatPlotting/src/Plotable.cpp | 29 - graphics/Qat/QatPlotting/src/QatPlotting.pro | 73 - graphics/Qat/QatPlotting/src/RealArg.cpp | 39 - graphics/Qat/QatPlotting/src/VisFunction.cpp | 97 - graphics/Qat/QatPresenter/CMakeLists.txt | 37 - .../QatPresenter/PresenterApplication.h | 89 - .../QatPresenter/PresenterTreeWidget.h | 22 - .../Qat/QatPresenter/QatPresenter/QatTabBar.h | 97 - .../QatPresenter/QatPresenter/QatTabWidget.h | 146 -- .../QatPresenter/src/PresenterApplication.cpp | 1257 ----------- .../QatPresenter/src/PresenterApplication.ui | 416 ---- .../QatPresenter/src/PresenterTreeWidget.cpp | 12 - .../Qat/QatPresenter/src/QatPresenter.pro | 31 - graphics/Qat/QatPresenter/src/QatTabBar.cpp | 284 --- .../Qat/QatPresenter/src/QatTabWidget.cpp | 517 ----- graphics/Qat/QatPresenterApp/CMakeLists.txt | 38 - .../qat-project/QatProjectForm.cpp | 113 - .../qat-project/QatProjectForm.h | 32 - .../qat-project/TEMPLATES/qt.pro | 19 - .../qat-project/TEMPLATES/templateNToOne.cpp | 33 - .../TEMPLATES/templateNToOneView.cpp | 88 - .../qat-project/TEMPLATES/templateNToZero.cpp | 33 - .../TEMPLATES/templateNToZeroView.cpp | 88 - .../TEMPLATES/templateOneToOne.cpp | 33 - .../TEMPLATES/templateOneToOneView.cpp | 88 - .../TEMPLATES/templateOneToZero.cpp | 33 - .../TEMPLATES/templateOneToZeroView.cpp | 88 - .../TEMPLATES/templateZeroToOne.cpp | 33 - .../TEMPLATES/templateZeroToOneView.cpp | 88 - .../TEMPLATES/templateZeroToZero.cpp | 18 - .../TEMPLATES/templateZeroToZeroView.cpp | 73 - .../qat-project/qat-project.cpp | 12 - .../qat-project/qat-project.ui | 155 -- .../Qat/QatPresenterApp/qat-project/qt.pro | 25 - .../QatPresenterApp/src/QatPresenterApp.pro | 21 - graphics/Qat/QatPresenterApp/src/present.cpp | 65 - .../Qat/QatSpreadsheetSystem/CMakeLists.txt | 24 - .../QatSpreadsheetSystem/SpreadsheetSystem.h | 52 - .../SpreadsheetSystemMainWidget.h | 47 - .../src/QatSpreadsheetSystem.pro | 20 - .../src/SpreadsheetSystem.cpp | 84 - .../src/SpreadsheetSystemMainWidget.cpp | 198 -- .../src/SpreadsheetSystemMainWidget.ui | 99 - .../Qat/QatSystemInterfaces/CMakeLists.txt | 36 - graphics/Qat/QatSystemInterfaces/Changelog | 6 - .../QatSystemInterfaces/HistoLocator.h | 112 - .../QatSystemInterfaces/Serializer.h | 92 - .../QatSystemInterfaces/SystemInterface.h | 151 -- .../src/QatSystemInterfaces.pro | 25 - .../QatSystemInterfaces/src/Serializer.cpp | 516 ----- .../src/SystemInterface.cpp | 114 - graphics/Qat/Qoot/CMakeLists.txt | 24 - graphics/Qat/Qoot/Changelog | 5 - graphics/Qat/Qoot/grid/Makefile | 59 - graphics/Qat/Qoot/src/Makefile | 59 - graphics/Qat/Qoot/src/Makefile.MAC | 59 - graphics/Qat/Qoot/src/RootDriver.cpp | 620 ----- 374 files changed, 40036 deletions(-) delete mode 100644 graphics/Qat/QatAnnotationSystem/CMakeLists.txt delete mode 100644 graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h delete mode 100644 graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h delete mode 100644 graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h delete mode 100644 graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h delete mode 100644 graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp delete mode 100644 graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp delete mode 100644 graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui delete mode 100644 graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp delete mode 100644 graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui delete mode 100644 graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro delete mode 100644 graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp delete mode 100644 graphics/Qat/QatAnnotationSystem/src/TextEditor.ui delete mode 100644 graphics/Qat/QatBase/CMakeLists.txt delete mode 100755 graphics/Qat/QatBase/share/generate-qat-factory-code delete mode 100755 graphics/Qat/QatBase/share/generate-qat-visfunctions delete mode 100644 graphics/Qat/QatDataAnalysis/CMakeLists.txt delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc delete mode 100755 graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc delete mode 100755 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h delete mode 100755 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc delete mode 100755 graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc delete mode 100644 graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h delete mode 100644 graphics/Qat/QatDataAnalysis/grid/Makefile delete mode 100644 graphics/Qat/QatDataAnalysis/src/Attribute.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/AttributeList.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Hist1D.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Hist2D.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/IODriver.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/IOLoader.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Makefile delete mode 100644 graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/OptParse.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Projection.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/QatUtils.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/RCSBase.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Selection.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Socket.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Table.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/Tuple.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/TupleCut.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/TupleStore.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/ValueList.cpp delete mode 100644 graphics/Qat/QatDataAnalysis/src/asymmetry.cpp delete mode 100644 graphics/Qat/QatDataModeling/CMakeLists.txt delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/minuit.h delete mode 100644 graphics/Qat/QatDataModeling/QatDataModeling/pilot.h delete mode 100644 graphics/Qat/QatDataModeling/grid/Makefile delete mode 100644 graphics/Qat/QatDataModeling/src/FitFunction.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/Makefile delete mode 100644 graphics/Qat/QatDataModeling/src/Makefile.MAC delete mode 100644 graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp delete mode 100644 graphics/Qat/QatDataModeling/src/minuit.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnamin.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnbins.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncalf.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncler.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncntr.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncomd.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncont.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncrck.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncros.F delete mode 100644 graphics/Qat/QatDataModeling/src/mncuve.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnderi.F delete mode 100644 graphics/Qat/QatDataModeling/src/mndxdi.F delete mode 100644 graphics/Qat/QatDataModeling/src/mneig.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnemat.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnerrs.F delete mode 100644 graphics/Qat/QatDataModeling/src/mneval.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnexcm.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnexin.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnfixp.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnfree.F delete mode 100644 graphics/Qat/QatDataModeling/src/mngrad.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnhelp.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnhes1.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnhess.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnimpr.F delete mode 100644 graphics/Qat/QatDataModeling/src/mninex.F delete mode 100644 graphics/Qat/QatDataModeling/src/mninit.F delete mode 100644 graphics/Qat/QatDataModeling/src/mninpu.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnintr.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnlims.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnline.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnmatu.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnmigr.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnmnos.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnmnot.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnparm.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnpars.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnpfit.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnpint.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnplot.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnpout.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnprin.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnpsdf.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnrazz.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnread.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnrn15.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnrset.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnsave.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnscan.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnseek.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnset.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnseti.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnsimp.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnstat.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnstin.F delete mode 100644 graphics/Qat/QatDataModeling/src/mntiny.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnunpt.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnvers.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnvert.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnwarn.F delete mode 100644 graphics/Qat/QatDataModeling/src/mnwerr.F delete mode 100644 graphics/Qat/QatDataModeling/src/stand.F delete mode 100644 graphics/Qat/QatDataModeling/src/trick.cc delete mode 100644 graphics/Qat/QatPlotSystem/CMakeLists.txt delete mode 100644 graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h delete mode 100644 graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h delete mode 100644 graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h delete mode 100644 graphics/Qat/QatPlotSystem/src/PlotSystem.cpp delete mode 100644 graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp delete mode 100644 graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui delete mode 100644 graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp delete mode 100644 graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui delete mode 100644 graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro delete mode 100644 graphics/Qat/QatPlotWidgets/CMakeLists.txt delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h delete mode 100644 graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h delete mode 100644 graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/black.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/blue.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/circle.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/gray.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/green.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/red.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/square.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/ICONS/triup.png delete mode 100644 graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui delete mode 100644 graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PVControl.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PVControl.ui delete mode 100644 graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotView.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc delete mode 100644 graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro delete mode 100644 graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp delete mode 100644 graphics/Qat/QatPlotWidgets/src/characterwidget.cpp delete mode 100644 graphics/Qat/QatPlotting/CMakeLists.txt delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/LinToLog.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotBox.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotRect.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotStream.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotText.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/Plotable.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/RealArg.h delete mode 100644 graphics/Qat/QatPlotting/QatPlotting/VisFunction.h delete mode 100644 graphics/Qat/QatPlotting/src/AbsPlotter.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotBand1D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotBox.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotFunction1D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotHist1D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotHist2D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotMeasure.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotOrbit.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotPoint.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotProfile.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotRect.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotResidual1D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotShadeBox.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotText.cpp delete mode 100644 graphics/Qat/QatPlotting/src/PlotWave1D.cpp delete mode 100644 graphics/Qat/QatPlotting/src/Plotable.cpp delete mode 100644 graphics/Qat/QatPlotting/src/QatPlotting.pro delete mode 100644 graphics/Qat/QatPlotting/src/RealArg.cpp delete mode 100644 graphics/Qat/QatPlotting/src/VisFunction.cpp delete mode 100644 graphics/Qat/QatPresenter/CMakeLists.txt delete mode 100644 graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h delete mode 100644 graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h delete mode 100755 graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h delete mode 100755 graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h delete mode 100644 graphics/Qat/QatPresenter/src/PresenterApplication.cpp delete mode 100644 graphics/Qat/QatPresenter/src/PresenterApplication.ui delete mode 100644 graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp delete mode 100644 graphics/Qat/QatPresenter/src/QatPresenter.pro delete mode 100755 graphics/Qat/QatPresenter/src/QatTabBar.cpp delete mode 100755 graphics/Qat/QatPresenter/src/QatTabWidget.cpp delete mode 100644 graphics/Qat/QatPresenterApp/CMakeLists.txt delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/qat-project.ui delete mode 100644 graphics/Qat/QatPresenterApp/qat-project/qt.pro delete mode 100644 graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro delete mode 100644 graphics/Qat/QatPresenterApp/src/present.cpp delete mode 100644 graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt delete mode 100644 graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h delete mode 100644 graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h delete mode 100644 graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro delete mode 100644 graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp delete mode 100644 graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp delete mode 100644 graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui delete mode 100644 graphics/Qat/QatSystemInterfaces/CMakeLists.txt delete mode 100644 graphics/Qat/QatSystemInterfaces/Changelog delete mode 100644 graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h delete mode 100644 graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h delete mode 100644 graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h delete mode 100644 graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro delete mode 100644 graphics/Qat/QatSystemInterfaces/src/Serializer.cpp delete mode 100644 graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp delete mode 100644 graphics/Qat/Qoot/CMakeLists.txt delete mode 100644 graphics/Qat/Qoot/Changelog delete mode 100644 graphics/Qat/Qoot/grid/Makefile delete mode 100644 graphics/Qat/Qoot/src/Makefile delete mode 100644 graphics/Qat/Qoot/src/Makefile.MAC delete mode 100755 graphics/Qat/Qoot/src/RootDriver.cpp diff --git a/Projects/Athena/package_filters.txt b/Projects/Athena/package_filters.txt index a0e8dcecefb..70f08068d77 100644 --- a/Projects/Athena/package_filters.txt +++ b/Projects/Athena/package_filters.txt @@ -31,9 +31,6 @@ - graphics/VP1/VP1Systems/VP1TriggerDecisionSystems + graphics/VP1/.* -# Suspend building of Qat -- graphics/Qat/.* - # Some analysis packages that are not part of Athena - Control/AthLinksSA - PhysicsAnalysis/AnalysisCommon/CPAnalysisExamples diff --git a/graphics/Qat/QatAnnotationSystem/CMakeLists.txt b/graphics/Qat/QatAnnotationSystem/CMakeLists.txt deleted file mode 100644 index bf83528313e..00000000000 --- a/graphics/Qat/QatAnnotationSystem/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: QatAnnotationSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatAnnotationSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatPlotWidgets - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatAnnotationSystem ) - diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h deleted file mode 100644 index 509755ca874..00000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ANNOTATIONSYSTEM_H_ -#define _ANNOTATIONSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class AnnotationSystem:public DASystem { - - Q_OBJECT - - -public: - - AnnotationSystem(); - - virtual ~AnnotationSystem(); - - virtual QString name() { return QString("AnnotationSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual QByteArray saveCache(); - - virtual void restoreFromCache (QByteArray ba); - - virtual AnnotationSystem *clone() const; - - virtual void update(); - - - public slots: - - - void informSelectedImage(const QString & imageFile); - - private: - - // It is illegal to copy or assign: - AnnotationSystem(const AnnotationSystem &); - AnnotationSystem & operator=(const AnnotationSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class AnnotationSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h deleted file mode 100644 index f7ed8228484..00000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _ANNOTATIONSYSTEMMAINWIDGET_H_ -#define _ANNOTATIONSYSTEMMAINWIDGET_H_ -#include "ui_AnnotationSystemMainWidget.h" -class AnnotationSystemMainWidget: public QWidget { - - Q_OBJECT - public: - - AnnotationSystemMainWidget(QWidget *parent=NULL); - - QTextEdit *textEdit(); - - TextEditor *textEditor(); - - public slots: - - void insertDate(); - void insertImage(); - void pasteImage(); - void print(); - void save(); - - - private: - - Ui::AnnotationSystemMainWidget ui; - -}; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h deleted file mode 100644 index 7f6f2fc2160..00000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _ANNOTATIONSYSTEMMENU_H_ -#define _ANNOTATIONSYSTEMMENU_H_ -#include "ui_AnnotationSystemMenu.h" - -class AnnotationSystemMenu: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - AnnotationSystemMenu(QWidget *parent=NULL); - - signals: - - void insertDate(); - void insertImage(); - void pasteImage(); - void print(); - void save(); - - private: - - Ui::AnnotationSystemMenu ui; - -}; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h deleted file mode 100644 index dfb4b20769a..00000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _TextEditor_h_ -#define _TextEditor_h_ -#include "ui_TextEditor.h" -#include "QatPlotWidgets/characterwidget.h" -#include <QScrollArea> - -class TextEditor: public QWidget - { - Q_OBJECT - - public: - - // Constructor: - TextEditor(QWidget *parent = 0); - - // Get the text editor: - const QTextEdit *textEdit() const; - QTextEdit *textEdit(); - void insertDate(); - - private slots: - - void textFamily( const QString &f ); - void textSize(int i); - void textBold(); - void textItalic(); - void textScript(); - void textHal(); // horizontal alignment. - void textColor(); - void toggleChars(); - void updateCharFormat(const QTextCharFormat &f); - void updateAlignment(); - - void selectionChanged(bool copyAvailableFlag); - void imageResize(int percent); - - signals: - - void imageSelected(const QString & imageFile); - - private: - - Ui::TextEditor ui; - QScrollArea *frame; - CharacterWidget *cw; - const QMimeData *selectedMimeData; - std::string selectedFileName; - int selHeight; - int selWidth; - }; -#endif - diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp deleted file mode 100644 index 43a8b4b16e6..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include <QObject> -#include "QatAnnotationSystem/AnnotationSystem.h" -#include "QatAnnotationSystem/AnnotationSystemMainWidget.h" -#include "QatAnnotationSystem/AnnotationSystemMenu.h" -#include "QatSystemInterfaces/Serializer.h" -#include <QtGui/QTextEdit> -#include <QScrollBar> -#include <iostream> -#include <stdexcept> -#include <sstream> -class AnnotationSystemMainWidget; -class AnnotationSystem::Clockwork { -public: - AnnotationSystemMainWidget *annotationSystemMainWidget; - AnnotationSystemMenu *annotationSystemToolWidget; -}; - - -AnnotationSystem::AnnotationSystem ():c(new Clockwork()) { - QRectF rect; - - c->annotationSystemMainWidget=new AnnotationSystemMainWidget(); - c->annotationSystemToolWidget=new AnnotationSystemMenu(); - connect (c->annotationSystemToolWidget, SIGNAL(insertDate()), c->annotationSystemMainWidget, SLOT(insertDate())); - connect (c->annotationSystemToolWidget, SIGNAL(insertImage()), c->annotationSystemMainWidget, SLOT(insertImage())); - connect (c->annotationSystemToolWidget, SIGNAL(pasteImage()), c->annotationSystemMainWidget, SLOT(pasteImage())); - - connect (c->annotationSystemToolWidget, SIGNAL(print()), c->annotationSystemMainWidget, SLOT(print())); - connect (c->annotationSystemToolWidget, SIGNAL(save()), c->annotationSystemMainWidget, SLOT(save())); - connect (c->annotationSystemMainWidget->textEditor(), SIGNAL(imageSelected(const QString &)), this, SLOT(informSelectedImage(const QString & ))); -} - -AnnotationSystem::~AnnotationSystem() { -} - -QWidget *AnnotationSystem::mainWidget() const { - return c->annotationSystemMainWidget; -} - -QWidget *AnnotationSystem::toolWidget() const { - return c->annotationSystemToolWidget; -} - -void AnnotationSystem::update() { -} - -QByteArray AnnotationSystem::saveState() { - Serializer serializer(0); - serializer.save(c->annotationSystemMainWidget->textEdit()); - return serializer.result(); -} - -void AnnotationSystem::restoreFromState (QByteArray ba){ - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in AnnotationSystem::restoreFromState"); - state.restore(c->annotationSystemMainWidget->textEdit()); - QTextCursor curse=c->annotationSystemMainWidget->textEdit()->textCursor(); - curse.setPosition(0); - c->annotationSystemMainWidget->textEdit()->setTextCursor(curse); -} - -QByteArray AnnotationSystem::saveCache() { - Serializer serializer(0); - return serializer.result(); -} - -void AnnotationSystem::restoreFromCache (QByteArray ba) { - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in AnnotationSystem::restoreFromCache"); -} - -void AnnotationSystem::informSelectedImage(const QString & imageFile) { - { - std::ostringstream message; - message << "External reference to file named " << imageFile.toStdString() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } -} - - -//=====================Boilerplate======================// -AnnotationSystem *AnnotationSystem::clone() const { - return new AnnotationSystem(); -} - -DASystem *AnnotationSystemFactory::newSystem() const { - return new AnnotationSystem(); -} - -Q_EXPORT_PLUGIN2(AnnotationSystemPlugin, AnnotationSystemFactory) diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp deleted file mode 100644 index 462984fca6d..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "QatAnnotationSystem/AnnotationSystemMainWidget.h" -#include <QtGui/QFileDialog> -#include <QClipboard> -#include <QPixmap> -#include <QPrinter> -#include <QPrintDialog> -#include <QtGui/QMessageBox> -#include <iostream> -#include <sstream> -#include <fstream> -#include <libgen.h> - -#include <unistd.h> - -AnnotationSystemMainWidget::AnnotationSystemMainWidget (QWidget *parent ):QWidget(parent) { - ui.setupUi(this); -} - -void AnnotationSystemMainWidget::insertDate() { - ui.textEdit->insertDate(); -} - -void AnnotationSystemMainWidget::insertImage() { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - static std::string workingDir=dirbuff; - static std::string attachFileName=""; - - QFileDialog dialog(0); - QStringList filters; - filters.append("Image files (*.png *.gif *.jpg)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(workingDir.c_str()); - dialog.selectFile(attachFileName.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - workingDir=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - QPixmap px(openFileName); - - int height = px.height(); - int width = px.width(); - - attachFileName = openFileName.toStdString(); - QTextEdit *tE = textEdit(); - std::ostringstream xstream; - xstream << "<img SRC=" << attachFileName << " height=" << height << " width=" << width << " >"; - std::string imageString = xstream.str(); - tE->insertHtml(imageString.c_str()); - } - } -} -void AnnotationSystemMainWidget::print() { - - QPrinter printer; - printer.setColorMode(QPrinter::Color); - printer.setResolution(600); - printer.setFullPage(TRUE); - QPrintDialog pDialog(&printer, this); - if (pDialog.exec()) { - QTextEdit *tE = textEdit(); - tE->document()->print(&printer); - - } -} -void AnnotationSystemMainWidget::save() { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - static std::string workingDir=dirbuff; - static std::string attachFileName=""; - - QFileDialog dialog(0); - QStringList filters; - filters.append("Html files (*.png *.html)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(workingDir.c_str()); - dialog.selectFile(attachFileName.c_str()); - dialog.setFileMode(QFileDialog::AnyFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - workingDir=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - attachFileName = openFileName.toStdString(); - QTextEdit *tE = textEdit(); - std::string html = tE->document()->toHtml().toStdString(); - std::ofstream o(attachFileName.c_str()); - o << html; - - } - } -} - -void AnnotationSystemMainWidget::pasteImage() { - system("mkdir -p ~/.presenter"); - QPixmap px = QApplication::clipboard()->pixmap(); - std::ostringstream genFileNameStream; - std::string homeDir=getenv("HOME"); - genFileNameStream << homeDir << "/.presenter/annotationSystemImage" - << rand() << ".png"; - if (!px.save(genFileNameStream.str().c_str())) { - QMessageBox::warning(this, tr("Warning"), - tr(("Cannot save image file "+genFileNameStream.str()).c_str()), - QMessageBox::Ok); - } - else { - int height = px.height(); - int width = px.width(); - - QTextEdit *tE = textEdit(); - - std::ostringstream xstream; - xstream << "<img SRC=" << genFileNameStream.str() << " height=" << height << " width=" << width << " >"; - - std::string imageString = xstream.str(); - tE->insertHtml(imageString.c_str()); - } -} - - -QTextEdit *AnnotationSystemMainWidget::textEdit() { - return ui.textEdit->textEdit(); -} - -TextEditor *AnnotationSystemMainWidget::textEditor() { - return ui.textEdit; -} diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui deleted file mode 100644 index 43894ae2aea..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui +++ /dev/null @@ -1,41 +0,0 @@ -<ui version="4.0" > - <class>AnnotationSystemMainWidget</class> - <widget class="QWidget" name="AnnotationSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>560</width> - <height>453</height> - </rect> - </property> - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="TextEditor" native="1" name="textEdit" /> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>TextEditor</class> - <extends>QWidget</extends> - <header>QatAnnotationSystem/TextEditor.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp deleted file mode 100644 index 43cea2b6957..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "QatAnnotationSystem/AnnotationSystemMenu.h" -AnnotationSystemMenu::AnnotationSystemMenu (QWidget *parent ):QWidget(parent) { - ui.setupUi(this); - connect (ui.insertDatePushButton, SIGNAL(pressed()), this, SIGNAL(insertDate())); - connect (ui.insertImagePushButton,SIGNAL(pressed()), this, SIGNAL(insertImage())); - connect (ui.pasteImagePushButton, SIGNAL(pressed()), this, SIGNAL(pasteImage())); - - connect (ui.printPagePushButton, SIGNAL(pressed()), this, SIGNAL(print())); - connect (ui.savePagePushButton, SIGNAL(pressed()), this, SIGNAL(save())); -} diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui deleted file mode 100644 index 14d26639a82..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui +++ /dev/null @@ -1,88 +0,0 @@ -<ui version="4.0" > - <class>AnnotationSystemMenu</class> - <widget class="QWidget" name="AnnotationSystemMenu" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>800</width> - <height>118</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>13</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="insertDatePushButton" > - <property name="maximumSize" > - <size> - <width>200</width> - <height>16777215</height> - </size> - </property> - <property name="text" > - <string>Insert Date</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="insertImagePushButton" > - <property name="text" > - <string>Insert Image</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pasteImagePushButton" > - <property name="text" > - <string>Paste Image</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="printPagePushButton" > - <property name="text" > - <string>Print Page</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="savePagePushButton" > - <property name="text" > - <string>Save Page</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>331</width> - <height>100</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro b/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro deleted file mode 100644 index 661be128e2f..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=AnnotationSystemMainWidget.ui AnnotationSystemMenu.ui TextEditor.ui - -SOURCES += AnnotationSystem.cpp AnnotationSystemMainWidget.cpp AnnotationSystemMenu.cpp TextEditor.cpp -HEADERS += ../QatAnnotationSystem/AnnotationSystem.h ../QatAnnotationSystem/AnnotationSystemMainWidget.h ../QatAnnotationSystem/AnnotationSystemMenu.h ../QatAnnotationSystem/TextEditor.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp b/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp deleted file mode 100644 index aad82e655c3..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp +++ /dev/null @@ -1,393 +0,0 @@ -#include "QatAnnotationSystem/TextEditor.h" -#include <QColorDialog> -#include <QClipboard> -#include <QPixmap> -#include <QMimeData> -#include <QImage> -#include <iostream> -#include <sstream> -#include <stdexcept> -#include <time.h> - -inline std::string getTag(const std::string & html, const std::string & tag) { - size_t begin= html.find(tag); - if (begin==html.npos) { - return ""; - } - else { - begin=begin+tag.size()+1; - } - size_t end = html.find("\"",begin); - if (end==html.npos) { - return ""; - } - return html.substr(begin,end-begin); -} -// For returning height, width. -inline int getValue (const std::string & html, const std::string & tag) { - const std::string valString=getTag(html,tag); - std::istringstream valStream(valString); - int retVal; - if (valStream >> retVal) return retVal; - return 0; - -} - -inline void setValue(std::string & html, const std::string & tag, int value) { - size_t begin= html.find(tag); - if (begin==html.npos) { - return; - } - else { - begin=begin+tag.size()+1; - } - size_t end = html.find("\"",begin); - if (end==html.npos) { - return; - } - - std::ostringstream valStream; - valStream << value; - - html.replace(begin,end-begin, valStream.str()); - -} - - -TextEditor::TextEditor(QWidget *parent): QWidget(parent),selectedMimeData(NULL),selHeight(0),selWidth(0) { - ui.setupUi(this); - connect (ui.boldButton, SIGNAL(clicked()), this, SLOT(textBold())); - connect (ui.italicButton, SIGNAL(clicked()), this, SLOT(textItalic())); - connect (ui.scriptButton, SIGNAL(clicked()), this, SLOT(textScript())); - connect (ui.halButton, SIGNAL(clicked()), this, SLOT(textHal())); - connect (ui.fontComboBox, SIGNAL(activated( const QString & ) ), this, SLOT(textFamily(const QString &))); - connect (ui.fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(textSize(int))); - connect (ui.colorButton, SIGNAL(clicked()), this, SLOT(textColor())); - connect (ui.specialCButton, SIGNAL(clicked()), this, SLOT(toggleChars())); - connect (ui.imageSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(imageResize(int))); - QColor color("black"); - - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); - - - frame = new QScrollArea(0); - frame->setObjectName(QString::fromUtf8("frame")); - QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(13), static_cast<QSizePolicy::Policy>(13)); - sizePolicy.setHorizontalStretch(0); - sizePolicy.setVerticalStretch(0); - sizePolicy.setHeightForWidth(frame->sizePolicy().hasHeightForWidth()); - frame->setSizePolicy(sizePolicy); - frame->setMinimumSize(QSize(0, 400)); - - - cw=new CharacterWidget(0); - frame->setWidget(cw); - connect (ui.fontComboBox, SIGNAL(activated( const QString &)), cw, SLOT(updateFamily(const QString & ))); - connect (cw, SIGNAL(characterSelected(const QString &)), ui.textEdit, SLOT(insertPlainText(const QString & ))); - - cw->updateSize("12"); - - connect(ui.textEdit, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), this, SLOT(updateCharFormat(const QTextCharFormat &))); - connect(ui.textEdit, SIGNAL(cursorPositionChanged()), this, SLOT(updateAlignment())); - connect(ui.textEdit, SIGNAL(copyAvailable(bool)), this, SLOT(selectionChanged(bool))); - frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - - QTextCharFormat format; - QFont font; - font.setFamily("Sans Serif"); - font.setPointSize(12); - format.setFont(font); - ui.textEdit->setCurrentCharFormat(format); - ui.textEdit->setFocus(); - ui.textEdit->setText(QString("")); - - ui.imageSizeSpinBox->hide(); - ui.imageSizeLabel->hide(); - -} - -const QTextEdit *TextEditor::textEdit() const { - return ui.textEdit; -} - - -QTextEdit *TextEditor::textEdit() { - return ui.textEdit; -} - - - - -void TextEditor::textFamily( const QString &f ) -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontFamily(f); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textSize( int i ) -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontPointSize(i); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textBold() -{ - - QFont font=ui.boldButton->font(); - bool flag=font.bold(); - flag = !flag; - font.setBold(flag); - ui.boldButton->setFont(font); - - - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontWeight(flag ? QFont::Bold : QFont::Normal ); - tE->mergeCurrentCharFormat(format); - -} - -void TextEditor::textItalic() -{ - QFont font=ui.italicButton->font(); - bool flag=font.italic(); - flag = !flag; - font.setItalic(flag); - ui.italicButton->setFont(font); - - - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontItalic(flag); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textScript() -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - - QString text = ui.scriptButton->text(); - if (text==QString("-")) { - ui.scriptButton->setText(QString("^")); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - } - if (text==QString("^")){ - ui.scriptButton->setText(QString("_")); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - } - if (text==QString("_")) { - ui.scriptButton->setText(QString("-")); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - } - - tE->mergeCurrentCharFormat(format); -} - -void TextEditor::textHal() -{ - QTextEdit * tE = ui.textEdit; - - QString text = ui.halButton->text(); - if (text==QString("<")) { - ui.halButton->setText(QString("|")); - tE->setAlignment(Qt::AlignHCenter); - } - if (text==QString("|")){ - ui.halButton->setText(QString(">")); - tE->setAlignment(Qt::AlignRight); - } - if (text==QString(">")) { - ui.halButton->setText(QString("<")); - tE->setAlignment(Qt::AlignLeft); - } - -} - - -void TextEditor::textColor() -{ - QColor textColorVal; - QColor col = QColorDialog::getColor(textColorVal, this ); - if ( !col.isValid() ) return; - - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,col); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); - QTextEdit * tE = ui.textEdit; - tE->setTextColor(col); -} - -void TextEditor::updateAlignment() { - QTextEdit * tE = ui.textEdit; - if (tE->alignment()==Qt::AlignLeft) ui.halButton->setText(QString("<")); - if (tE->alignment()==Qt::AlignHCenter) ui.halButton->setText(QString("|")); - if (tE->alignment()==Qt::AlignRight) ui.halButton->setText(QString(">")); -} - -void TextEditor::updateCharFormat(const QTextCharFormat &f) { - static QTextCharFormat df; - df.setVerticalAlignment(QTextCharFormat::AlignNormal); - df.setFontItalic(false); - df.setFontWeight(QFont::Normal); - df.setFontPointSize(12); - df.setFontFamily("Sans Serif"); - - QTextCharFormat F = f.fontPointSize()!=0.0 ? f: df; - if (F.verticalAlignment()==QTextCharFormat::AlignNormal) ui.scriptButton->setText(QString("-")); - if (F.verticalAlignment()==QTextCharFormat::AlignSubScript) ui.scriptButton->setText(QString("_")); - if (F.verticalAlignment()==QTextCharFormat::AlignSuperScript) ui.scriptButton->setText(QString("^")); - { - QFont font=ui.italicButton->font(); - font.setItalic (F.fontItalic()); - ui.italicButton->setFont(font); - } - { - QFont font=ui.boldButton->font(); - font.setBold(F.fontWeight()==QFont::Bold); - ui.boldButton->setFont(font); - } - - ui.fontSizeSpinBox->setValue(int(F.fontPointSize()+0.5)); - - QString fam=F.fontFamily(); - ui.fontComboBox->setEditText(fam); - - - QColor color=F.foreground().color(); - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); -} - - - -void TextEditor::toggleChars() { - if (frame->isHidden()) { - frame->show(); - setMinimumSize(600,600); - resize(minimumSize()); - } - else { - - frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - } - -} - -void TextEditor::insertDate() { - char buffer[1024]; - time_t now = time(NULL); - asctime_r(localtime(&now),buffer); - QTextEdit * tE = ui.textEdit; - tE->insertPlainText(buffer); -} - -void TextEditor::selectionChanged(bool flag) { - selectedFileName=""; - selectedMimeData=NULL; - // See if the box is shown: - bool hidden=ui.imageSizeSpinBox->isHidden(); - if (flag) { - QTextEdit * tE = ui.textEdit; - tE->copy(); - QClipboard *clipboard=QApplication::clipboard(); - const QMimeData *mimeData=clipboard->mimeData(); - if (mimeData) { - if (mimeData->hasHtml()) { - - // First extract the name of the file. - std::string html=mimeData->html().toStdString(); - std::string filename=getTag(html,"src="); - if (filename!="") { - - QString fnString=QString::fromStdString(filename); - emit imageSelected(fnString); - - // Read in that file and get the true size. - QPixmap px(filename.c_str()); - - selHeight = px.height(); - selWidth = px.width(); - - // Get the actual size. Then, compute the scale factor. - int tagHeight=getValue(html,"height="); - int tagWidth =getValue(html,"width="); - - - // Set the scale factor for the spin box. - double ratioH = tagHeight/double(selHeight); - double ratioW = tagWidth/double(selWidth); - int ratio = int( 50.0*(ratioH+ratioW)); - - if (hidden) { - - ui.imageSizeSpinBox->setValue(ratio); - - // Record the mime data corresponding to this (it will need to be - // replaced when the spin box changes. - - selectedFileName=filename; - selectedMimeData=mimeData; - - ui.imageSizeSpinBox->show(); - ui.imageSizeLabel->show(); - return; - } - } - } - } - } - ui.imageSizeSpinBox->hide(); - ui.imageSizeLabel->hide(); -} -void TextEditor::imageResize(int percent) { - if (!selectedMimeData) return; - - int newImageHeight=(selHeight*percent)/100; - int newImageWidth =(selWidth*percent)/100; - - std::string html = selectedMimeData->html().toStdString(); - - - // edit html - setValue(html,"height=", newImageHeight); - setValue(html,"width=", newImageWidth); - - - - // replace sel html - QObject::blockSignals(true); - ui.imageSizeSpinBox->blockSignals(true); - ui.textEdit->blockSignals(true); - QTextEdit * tE = ui.textEdit; - tE->insertHtml(html.c_str()); // Should overwrite existing! - QTextCursor tC=tE->textCursor(); - tC.movePosition(QTextCursor::Left,QTextCursor::MoveAnchor, 1); - tC.select(QTextCursor::WordUnderCursor); - tE->setTextCursor(tC); - QObject::blockSignals(false); - ui.imageSizeSpinBox->blockSignals(false); - ui.textEdit->blockSignals(false); - - ui.imageSizeSpinBox->setFocus(); - - - -} diff --git a/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui b/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui deleted file mode 100644 index 80712c2580a..00000000000 --- a/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui +++ /dev/null @@ -1,173 +0,0 @@ -<ui version="4.0" > - <class>TextEditor</class> - <widget class="QWidget" name="TextEditor" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>719</width> - <height>471</height> - </rect> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QFontComboBox" name="fontComboBox" > - <property name="toolTip" > - <string>Set the Font Family</string> - </property> - <property name="currentIndex" > - <number>40</number> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="fontSizeSpinBox" > - <property name="toolTip" > - <string>Set the font size</string> - </property> - <property name="value" > - <number>12</number> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="colorButton" > - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="boldButton" > - <property name="font" > - <font> - <weight>50</weight> - <bold>false</bold> - </font> - </property> - <property name="toolTip" > - <string>Toggle Bold Characters</string> - </property> - <property name="text" > - <string>B</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="italicButton" > - <property name="toolTip" > - <string>Toggle Italic Characters</string> - </property> - <property name="text" > - <string>I</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="scriptButton" > - <property name="toolTip" > - <string>Set Superscript</string> - </property> - <property name="text" > - <string>-</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="halButton" > - <property name="text" > - <string><</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="specialCButton" > - <property name="font" > - <font> - <family>Standard Symbols L</family> - </font> - </property> - <property name="toolTip" > - <string>Choose Special Character</string> - </property> - <property name="text" > - <string>S</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="imageSizeLabel" > - <property name="text" > - <string>Image size</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="imageSizeSpinBox" > - <property name="maximum" > - <number>200</number> - </property> - <property name="minimum" > - <number>10</number> - </property> - <property name="value" > - <number>100</number> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>31</width> - <height>36</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QTextBrowser" name="textEdit" > - <property name="readOnly" > - <bool>false</bool> - </property> - <property name="openExternalLinks" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatBase/CMakeLists.txt b/graphics/Qat/QatBase/CMakeLists.txt deleted file mode 100644 index ecc30473dab..00000000000 --- a/graphics/Qat/QatBase/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# Package: QatBase -################################################################################ - -# Declare the package name: -atlas_subdir( QatBase ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_scripts( share/generate-qat-factory-code share/generate-qat-visfunctions ) - diff --git a/graphics/Qat/QatBase/share/generate-qat-factory-code b/graphics/Qat/QatBase/share/generate-qat-factory-code deleted file mode 100755 index 5190d74780b..00000000000 --- a/graphics/Qat/QatBase/share/generate-qat-factory-code +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -# Script which generates the factory code needed for qat plugins -# -# Thomas Kittelmann, May 2007. - -echo "=====>" -echo "=====> Generating factory code for qat Plugin" -echo "=====>" - -if [ "x"`basename $PWD` != "xcmt" ]; then - echo "$APPNAME: ERROR - must be invoked from cmt dir (pwd is: $PWD)" - exit 1 -fi - -if [ "x${CMTCONFIG}" == "x" ]; then - echo "$APPNAME: ERROR - CMTCONFIG not set" - exit 1 -fi -if [ ! -d ../${CMTCONFIG}/ ]; then - echo "$APPNAME: ERROR - did not find ../$CMTCONFIG/ directory" - exit 1 -fi - -declare -a qatCLASSNAMES -declare -a qatSTRINGS -qatN=0 -for srcfile in ../src/*.cpp; do - TMP=`cat $srcfile|sed 's#//.*$##'|grep 'qatCHANNELNAMEINPLUGIN *(.*)'` - if [ "x$TMP" == "x" ]; then - continue - fi - NLINES=`echo $TMP|wc -l|awk '{print $1}'` - if [ "x$NLINES" == "x0" ]; then - continue - fi - if [ "x$NLINES" != "x1" ]; then - echo "$APPNAME: ERROR - Source file $srcfile had suspicious number of qatCHANNELNAMEINPLUGIN (or maybe the parsing simply failed)" - exit 1 - fi - TMP=`echo $TMP|sed 's#^.*qatCHANNELNAMEINPLUGIN *(##'|sed 's#).*$##'` - #We might as well look for illegal characters at compile time: - TEST=`echo $TMP|grep '\['|wc -l|awk '{print $1}'` - if [ "x$TEST" != "x0" ]; then - echo "$APPNAME: ERROR - found illegal character ([) in qatCHANNELNAMEINPLUGIN macro" - exit 1 - fi - TEST=`echo $TMP|grep '\]'|wc -l|awk '{print $1}'` - if [ "x$TEST" != "x0" ]; then - echo "$APPNAME: ERROR - found illegal character (]) in qatCHANNELNAMEINPLUGIN macro" - exit 1 - fi - #Add the found entries: - qatCLASSNAMES[$qatN]=`echo $TMP|sed 's#,.*$##'` - qatSTRINGS[$qatN]=`echo $TMP|sed 's#^.*, *"#"#'` - qatN=$((qatN+1)) -done -qatN=$((qatN-1)) - diff --git a/graphics/Qat/QatBase/share/generate-qat-visfunctions b/graphics/Qat/QatBase/share/generate-qat-visfunctions deleted file mode 100755 index 53839e781d4..00000000000 --- a/graphics/Qat/QatBase/share/generate-qat-visfunctions +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Script which generates the QAT vis functions -# -# J. Boudreau - -echo xxxxxxxxxx Generate Qat Visfunctions xxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -QATINCLUDES=`cmt show macro_value includes` -QATLIBS=`cmt show macro_value cmt_installarea_linkopts` - -cd .. -make QATINCLUDES="$QATINCLUDES" "QATLIBS=$QATLIBS" -f Makefile.cmt - - - diff --git a/graphics/Qat/QatDataAnalysis/CMakeLists.txt b/graphics/Qat/QatDataAnalysis/CMakeLists.txt deleted file mode 100644 index e2e18ac726e..00000000000 --- a/graphics/Qat/QatDataAnalysis/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# Package: QatDataAnalysis -################################################################################ - -# Declare the package name: -atlas_subdir( QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) - -# Component(s) in the package: -atlas_add_library( QatDataAnalysis - src/*.cpp - PUBLIC_HEADERS QatDataAnalysis - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} dl ) - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h deleted file mode 100644 index df7eae6a414..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h +++ /dev/null @@ -1,84 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef Attribute_h_ -#define Attribute_h_ -#include <typeinfo> -#include <string> -// Attribute: name and type----------------------------------------------// -class Attribute { // - // // - public: // - // - enum Type { // - DOUBLE, // - FLOAT, // - INT, // - UINT, // - UNKNOWN}; // - // // - // // - // Constructors: // - inline Attribute(const std::string & name, const std::type_info & type);// - inline Attribute(const std::string & name); // - // // - // Name: // - inline std::string & name(); // - inline const std::string & name() const; // - // // - // Type Name // - inline std::string typeName() const; // - // // - // Type // - inline const Type & type() const; // - // // - // Attribute Id: // - inline int & attrId(); // - inline unsigned int attrId() const; // - // // - // Relational operators (lexicographical) // - inline bool operator < (const Attribute & a) const; // - // // - // Equality operator (lexicographical) // - inline bool operator== (const Attribute & a) const; // - // // - // // - class NameEquals; // - // // - // // - inline static Type typeOf(const std::type_info & type); // - inline static std::string typenameOf(const Type type); // - // // - private: // - // // - // // - std::string m_name; // - Type m_type; // - int m_attrId; // -}; // - // -//------------------------------------------------------------------------// - -#include "QatDataAnalysis/Attribute.icc" - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc deleted file mode 100644 index 0dec4bf3b64..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc +++ /dev/null @@ -1,101 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -class Tuple; -inline Attribute::Attribute(const std::string & name, const std::type_info & type): - m_name(name), - m_type(typeOf(type)), - m_attrId(-1){} -// -inline Attribute::Attribute(const std::string & name): - m_name(name), - m_type(UNKNOWN), - m_attrId(-1){} - -inline std::string & Attribute::name() {return m_name;} - -inline const std::string & Attribute::name() const {return m_name;} - - -inline std::string Attribute::typeName() const {return typenameOf(m_type);} - -inline const Attribute::Type & Attribute::type() const { return m_type;} - -inline int & Attribute::attrId() { return m_attrId;} -inline unsigned int Attribute::attrId() const { return m_attrId;} - -// -// Relational operators -inline bool Attribute::operator < (const Attribute & a) const { - return (m_attrId != -1 && m_attrId < a.m_attrId ) || m_name < a.m_name; -} -// -// Equality operator: -inline bool Attribute::operator== (const Attribute & a) const { - return (m_attrId != -1 && m_attrId ==a.m_attrId ) || m_name == a.m_name; -} -// - -// -class Attribute::NameEquals { -public: - NameEquals(const std::string & name) : m_name(name) {} - bool operator () (const Attribute & a ) const { - return m_name==a.name(); - } -private: - std::string m_name; -}; - -inline Attribute::Type Attribute::typeOf(const std::type_info & type ) { - const std::string & tn = type.name(); - if (tn=="d") { - return DOUBLE; - } - else if (tn=="f") { - return FLOAT; - } - else if (tn=="i") { - return INT; - } - else if (tn=="j" || tn=="m") { - return UINT; - } - else return UNKNOWN; -} - -inline std::string Attribute::typenameOf(const Type type ) { - if (type==DOUBLE) { - return typeid((double) 0).name(); - } - else if (type==FLOAT) { - return typeid((float) (0)).name(); - } - else if (type==INT) { - return typeid((int) 0).name(); - } - else if (type==UINT) { - return typeid((size_t) 0).name(); - } - else return "?"; -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h deleted file mode 100644 index cb40e31f385..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef AttributeList_h_ -#define AttributeList_h_ -#include "QatDataAnalysis/Attribute.h" -#include "CLHEP/GenericFunctions/RCBase.hh" -#include <vector> - -class AttributeList: public Genfun::RCBase { - - public: - - // Type Definitions: - typedef std::vector<Attribute>::const_iterator ConstIterator; - - // Constructor: - AttributeList(); - - // Add an attribute to the list: - void add( const std::string & name, const std::type_info & type); - - // Lock the attribute list: - void lock(); - - // Iterate over the attributes; - inline ConstIterator begin () const; - inline ConstIterator end() const; - - // Random access: - inline Attribute & operator[] (size_t i) ; - inline const Attribute & operator[] (size_t i) const; - - // Size of the attribute list; - inline size_t size() const; - - - private: - - // Destructor: - ~AttributeList(); - - std::vector<Attribute> m_attrList; - bool m_locked; - -}; - -#include "QatDataAnalysis/AttributeList.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc deleted file mode 100644 index 6586bd52682..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc +++ /dev/null @@ -1,37 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -// ConstIterator over attributes: -inline AttributeList::ConstIterator AttributeList::begin() const {return m_attrList.begin();} -inline AttributeList::ConstIterator AttributeList::end() const {return m_attrList.end();} - - -inline size_t AttributeList::size() const { return m_attrList.size();} - -inline Attribute & AttributeList::operator[] (size_t i) { - return m_attrList[i]; -} - -inline const Attribute & AttributeList::operator[] (size_t i) const { - return m_attrList[i]; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h deleted file mode 100755 index 34463c11ecd..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef AttributeListConstLink_h -#define AttributeListConstLink_h 1 -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/ConstLink.h" -typedef ConstLink< AttributeList > AttributeListConstLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h deleted file mode 100644 index ed1afdb61af..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef AttributeListLink_h -#define AttributeListLink_h 1 -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/Link.h" -typedef Link< AttributeList > AttributeListLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h deleted file mode 100644 index 20ddd7555e3..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h +++ /dev/null @@ -1,25 +0,0 @@ -// Definition of the ClientSocket class - -#ifndef ClientSocket_class -#define ClientSocket_class - -#include "QatDataAnalysis/Socket.h" - -class ClientSocket : private Socket -{ - public: - - ClientSocket ( std::string host, int port ); - virtual ~ClientSocket(){}; - - const ClientSocket& operator << ( const std::string& ) const; - const ClientSocket& operator >> ( std::string& ) const; - - template<class T> const ClientSocket& operator << ( const T & ) const; - template<class T> const ClientSocket& operator >> ( T & ) const; - -}; - -#include "QatDataAnalysis/ClientSocket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc deleted file mode 100644 index 0b1569e9d7f..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc +++ /dev/null @@ -1,23 +0,0 @@ -#include "QatDataAnalysis/SocketException.h" - -template<class T> inline const ClientSocket& ClientSocket::operator << ( const T & query ) const -{ - if ( ! Socket::send ( query ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -template<class T> inline const ClientSocket& ClientSocket::operator >> ( T & response ) const -{ - if ( ! Socket::recv ( response ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h deleted file mode 100755 index a677d2dd83c..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef ConstLink_h -#define ConstLink_h 1 -#ifndef NULL -#define NULL 0 -#endif -// Smart links to reference-counted pointers. - -// Template Smart Pointer Class. This reference counted -// link allocates on demand. It audits the total pointer -// count and collects the garbage when nobody's looking. -// -template <class T> -class ConstLink -{ - public: - - - // Constructor - ConstLink(); - - // Copy Constructor - ConstLink(const ConstLink< T > &right); - - // Constructor - ConstLink (const T *target); - - // Destructor - virtual ~ConstLink(); - - // Assignment - ConstLink< T > & operator=(const ConstLink< T > &right); - - // Equality - int operator==(const ConstLink< T > &right) const; - - // Inequality - int operator!=(const ConstLink< T > &right) const; - - - // Relational operator - int operator<(const ConstLink< T > &right) const; - - // Relational operator - int operator>(const ConstLink< T > &right) const; - - // Relational operator - int operator<=(const ConstLink< T > &right) const; - - // Relational operator - int operator>=(const ConstLink< T > &right) const; - - - - // Dereference: (*t).method(); - virtual const T & operator * () const; - - // Dereference: t->method() - virtual const T * operator -> () const; - - // Check pointer validity: if (t) {...} - operator bool () const; - - - - private: - - // Raw pointer to reference counted object. - mutable T *m_ptr; -}; - - - -template <class T> -inline ConstLink<T>::ConstLink() - :m_ptr(NULL) -{ -} - -template <class T> -inline ConstLink<T>::ConstLink(const ConstLink<T> &right) - :m_ptr(right.m_ptr) -{ - if (m_ptr) m_ptr->ref(); -} - -template <class T> -inline ConstLink<T>::ConstLink (const T *target) - :m_ptr(const_cast<T *> (target)) -{ - if (target) target->ref(); -} - - -template <class T> -inline ConstLink<T>::~ConstLink() -{ - if (m_ptr) m_ptr->unref(); -} - - -template <class T> -inline ConstLink<T> & ConstLink<T>::operator=(const ConstLink<T> &right) -{ - if (this!=&right) { - if (m_ptr) m_ptr->unref(); - m_ptr = right.m_ptr; - if (m_ptr) m_ptr->ref(); - } - return *this; -} - - -template <class T> -inline int ConstLink<T>::operator==(const ConstLink<T> &right) const -{ - return m_ptr==right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator!=(const ConstLink<T> &right) const -{ - return m_ptr!=right.m_ptr; -} - - -template <class T> -inline int ConstLink<T>::operator<(const ConstLink<T> &right) const -{ - return m_ptr<right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator>(const ConstLink<T> &right) const -{ - return m_ptr>right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator<=(const ConstLink<T> &right) const -{ - return m_ptr<=right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator>=(const ConstLink<T> &right) const -{ - return m_ptr>=right.m_ptr; -} - - - -template <class T> -inline const T & ConstLink<T>::operator * () const -{ - return *m_ptr; -} - -template <class T> -inline const T * ConstLink<T>::operator -> () const -{ - return m_ptr; -} - -template <class T> -inline ConstLink<T>::operator bool () const -{ - return m_ptr; -} - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h deleted file mode 100644 index baa82b2353b..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h +++ /dev/null @@ -1,100 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST1D_H -#define QATDATAANALYSIS_HIST1D_H -#include <string> -#include <vector> -#include <cmath> -class Hist1D { - - public: - - - - // Constructor: - Hist1D(const std::string & name, size_t nBins, double min, double max); - - // Copy Constructor: - Hist1D(const Hist1D & source); - - // Destructor - ~Hist1D(); - - // Accumulate Data: - void accumulate(double x, double weight=1); - - // Properties of the container: - inline std::string & name(); - inline const std::string & name() const; - inline size_t nBins() const; - inline double min() const; - inline double max() const; - inline double binWidth() const; - - // Properties of the bins:: - inline double binUpperEdge(unsigned int i) const; - inline double binLowerEdge(unsigned int i) const; - inline double binCenter(unsigned int i) const; - - // Stored data - inline double bin(unsigned int i) const; - inline double binError(unsigned int i) const; - inline size_t overflow() const; - inline size_t underflow() const; - inline size_t entries() const; - - // Statistical properties of the data: - inline double variance() const; - inline double mean() const; - inline double minContents() const; - inline double maxContents() const; - inline double sum() const; - - // Operations: - Hist1D & operator = (const Hist1D & source); - Hist1D & operator += (const Hist1D & source); - Hist1D & operator -= (const Hist1D & source); - Hist1D & operator *= (double scale); - - // Clear: - void clear (); - - // The internals are described like this: - class Clockwork; - - // Get the internals: - const Clockwork *clockwork() const; - - // Remake this from the internals: - Hist1D(const Clockwork * c); - - private: - - Clockwork *m_c; - -}; - -#include "QatDataAnalysis/Hist1D.icc" - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc deleted file mode 100644 index 673b5804f21..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc +++ /dev/null @@ -1,116 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// -#include <algorithm> - -class Hist1D::Clockwork { - -public: - - std::string name; - size_t nBins; - double min; - double max; - double binWidth; - size_t overflow; - size_t underflow; - size_t entries; - double xW; - double xxW; - double sumWeight; - mutable double minContents; - mutable double maxContents; - std::vector<double> contents; - std::vector<double> errors; - -}; - -inline std::string & Hist1D::name() { return m_c->name;} - -inline const std::string & Hist1D::name() const { return m_c->name;} - -inline size_t Hist1D::nBins() const { return m_c->nBins;} - -inline double Hist1D::min() const {return m_c->min;} - -inline double Hist1D::max() const {return m_c->max;} - -inline double Hist1D::binWidth () const {return m_c->binWidth;} - -inline double Hist1D::binUpperEdge(unsigned int i) const {return m_c->min + (i+1)*m_c->binWidth;} - -inline double Hist1D::binLowerEdge(unsigned int i) const {return m_c->min + i*m_c->binWidth;} - -inline double Hist1D::binCenter(unsigned int i) const { return m_c->min + (i+0.5)*m_c->binWidth;} - -inline double Hist1D::bin(unsigned int i) const {return m_c->contents[i];} - -inline double Hist1D::binError(unsigned int i) const {return sqrt(m_c->errors[i]);} - -inline size_t Hist1D::overflow() const {return m_c->overflow;} - -inline size_t Hist1D::underflow() const {return m_c->underflow;} - -inline double Hist1D::variance() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xxW/m_c->sumWeight-(m_c->xW*m_c->xW/m_c->sumWeight/m_c->sumWeight); - } -} - -inline double Hist1D::mean() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xW/m_c->sumWeight; - } - -} - -inline double Hist1D::sum() const { return m_c->sumWeight;} - -inline double Hist1D::minContents () const { - if (m_c->minContents==0) { - if (m_c->entries!=0) { - std::vector<double>::const_iterator min = std::min_element(m_c->contents.begin(),m_c->contents.end()); - if (min!=m_c->contents.end()) { - m_c->minContents=*min; - } - } - } - return m_c->minContents; -} - -inline double Hist1D::maxContents() const { - if (m_c->maxContents==0) { - if (m_c->entries!=0) { - std::vector<double>::const_iterator max = std::max_element(m_c->contents.begin(),m_c->contents.end()); - if (max!=m_c->contents.end()) { - m_c->maxContents=*max; - } - } - } - return m_c->maxContents; -} - -inline size_t Hist1D::entries() const {return m_c->entries;} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h deleted file mode 100644 index 48be90ebbc3..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h +++ /dev/null @@ -1,57 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST1DMAKER_H -#define QATDATAANALYSIS_HIST1DMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class Hist1D; - -class Hist1DMaker { - - public: - - // Constructor; - Hist1DMaker(Genfun::GENFUNCTION f, size_t nbins, double min, double max, const Genfun::AbsFunction * weight=NULL); - - // Destructor: - ~Hist1DMaker(); - - // Action: - Hist1D operator * (const Table & t) const; - - - private: - - Hist1DMaker & operator = (const Hist1DMaker & ); - Hist1DMaker(const Hist1DMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h deleted file mode 100644 index dba523d2d2c..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h +++ /dev/null @@ -1,116 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _HIST2D_H_ -#define _HIST2D_H_ -#include <string> -#include <vector> -#include <cmath> -class Hist2D { - - public: - - - // Define a type describing the kind of overflow: - enum OVF { Overflow, InRange, Underflow}; - - // Constructor: - Hist2D(const std::string & name, - size_t nBinsX, double minX, double maxX, - size_t nBinsY, double minY, double maxY); - - // Copy constructor: - Hist2D (const Hist2D & source); - - // Destructor - ~Hist2D(); - - // Accumulate Data: - void accumulate(double x, double y, double weight=1); - - // Properties of the container: - inline std::string & name(); - inline const std::string & name() const; - inline size_t nBinsX() const; - inline size_t nBinsY() const; - inline double minX() const; - inline double maxX() const; - inline double minY() const; - inline double maxY() const; - inline double binWidthX() const; - inline double binWidthY() const; - - // Properties of the bins: - inline double binUpperEdgeX(unsigned int i, unsigned int j) const; - inline double binLowerEdgeX(unsigned int i, unsigned int j) const; - inline double binUpperEdgeY(unsigned int i, unsigned int j) const; - inline double binLowerEdgeY(unsigned int i, unsigned int j) const; - inline double binCenterX(unsigned int i, unsigned int j) const; - inline double binCenterY(unsigned int i, unsigned int j) const; - - // Stored data: - inline double bin(unsigned int i, unsigned int j) const; - inline double binError(unsigned int i, unsigned int j) const; - inline size_t overflow(OVF a, OVF b) const; - inline size_t overflow() const; - inline size_t entries() const; - - // Statistical properties of the data: - inline double varianceX() const; - inline double varianceY() const; - inline double varianceXY() const; - inline double meanX() const; - inline double meanY() const; - inline double minContents() const; - inline double maxContents() const; - inline double sum() const; - - // Operations - Hist2D & operator = (const Hist2D & source); - Hist2D & operator += (const Hist2D & source); - - // Clear - void clear(); - - // For accessing bins: - inline size_t ii(size_t i, size_t j) const; - - // The internals are described like this: - class Clockwork; - - // Get the internals: - const Clockwork *clockwork() const; - - // Remake this from the internals: - Hist2D(const Clockwork * c); - - private: - - Clockwork *m_c; - - -}; - -#include "QatDataAnalysis/Hist2D.icc" - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc deleted file mode 100644 index 598ebb7d716..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc +++ /dev/null @@ -1,165 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// -#include <algorithm> - - - -class Hist2D::Clockwork { - -public: - - std::string name; - size_t nBinsX; - size_t nBinsY; - double minX; - double maxX; - double minY; - double maxY; - double binWidthX; - double binWidthY; - size_t overUnderFlow[3][3]; - size_t overflow; - double xW; - double xxW; - double yW; - double yyW; - double xyW; - double sumWeight; - mutable double minContents; - mutable double maxContents; - std::vector<double> contents; - std::vector<double> errors; - - -}; - - - -inline size_t Hist2D::ii(size_t i, size_t j) const { - return m_c->nBinsX*j + i; -} - -inline std::string & Hist2D::name() { return m_c->name;} - -inline const std::string & Hist2D::name() const { return m_c->name;} - -inline size_t Hist2D::nBinsX() const { return m_c->nBinsX;} -inline size_t Hist2D::nBinsY() const { return m_c->nBinsY;} - -inline double Hist2D::minX() const {return m_c->minX;} -inline double Hist2D::minY() const {return m_c->minY;} - -inline double Hist2D::maxX() const {return m_c->maxX;} -inline double Hist2D::maxY() const {return m_c->maxY;} - -inline double Hist2D::binWidthX () const {return m_c->binWidthX;} -inline double Hist2D::binWidthY () const {return m_c->binWidthY;} - -inline double Hist2D::binUpperEdgeX(unsigned int i, unsigned int ) const {return m_c->minX + (i+1)*m_c->binWidthX;} -inline double Hist2D::binUpperEdgeY(unsigned int , unsigned int j) const {return m_c->minY + (j+1)*m_c->binWidthY;} - -inline double Hist2D::binLowerEdgeX(unsigned int i, unsigned int ) const {return m_c->minX + i*m_c->binWidthX;} -inline double Hist2D::binLowerEdgeY(unsigned int , unsigned int j) const {return m_c->minY + j*m_c->binWidthY;} - -inline double Hist2D::binCenterX(unsigned int i, unsigned int ) const { return m_c->minX + (i+0.5)*m_c->binWidthX;} -inline double Hist2D::binCenterY(unsigned int , unsigned int j) const { return m_c->minY + (j+0.5)*m_c->binWidthY;} - -inline double Hist2D::bin(unsigned int i, unsigned int j) const {return m_c->contents[ii(i,j)];} - -inline double Hist2D::binError(unsigned int i, unsigned int j) const {return sqrt(m_c->errors[ii(i,j)]);} - - -inline size_t Hist2D::overflow() const {return m_c->overflow;} - -inline size_t Hist2D::overflow(Hist2D::OVF a, Hist2D::OVF b) const { - return m_c->overUnderFlow[a][b]; -} - -inline double Hist2D::varianceX() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xxW/m_c->sumWeight-(m_c->xW*m_c->xW/m_c->sumWeight/m_c->sumWeight); - } -} -inline double Hist2D::varianceY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->yyW/m_c->sumWeight-(m_c->yW*m_c->yW/m_c->sumWeight/m_c->sumWeight); - } -} -inline double Hist2D::varianceXY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xyW/m_c->sumWeight-(m_c->xW*m_c->yW/m_c->sumWeight/m_c->sumWeight); - } -} - -inline double Hist2D::meanX() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xW/m_c->sumWeight; - } -} - -inline double Hist2D::meanY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->yW/m_c->sumWeight; - } -} - -inline double Hist2D::sum() const { return m_c->sumWeight;} - -inline double Hist2D::minContents () const { - if (m_c->minContents==0) { - if (entries()!=0) { - std::vector<double>::const_iterator min = std::min_element(m_c->contents.begin(),m_c->contents.end()); - if (min!=m_c->contents.end()) { - m_c->minContents=*min; - } - } - } - return m_c->minContents; -} - -inline double Hist2D::maxContents() const { - if (m_c->maxContents==0) { - if (entries()!=0) { - std::vector<double>::const_iterator max = std::max_element(m_c->contents.begin(),m_c->contents.end()); - if (max!=m_c->contents.end()) { - m_c->maxContents=*max; - } - } - } - return m_c->maxContents; -} - -inline size_t Hist2D::entries() const {return m_c->overUnderFlow[InRange][InRange];} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h deleted file mode 100644 index 3c56a37cfe0..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h +++ /dev/null @@ -1,59 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST2DMAKER_H -#define QATDATAANALYSIS_HIST2DMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class Hist2D; - -class Hist2DMaker { - - public: - - - // Constructor; - Hist2DMaker(Genfun::GENFUNCTION fx, size_t nbinsX, double minX, double max, - Genfun::GENFUNCTION fy, size_t nbinsY, double minY, double maxY, - const Genfun::AbsFunction *weight=NULL); - - // Destructor: - ~Hist2DMaker(); - - // Action: - Hist2D operator * (const Table & t) const; - - private: - - Hist2DMaker & operator = (const Hist2DMaker & ); - Hist2DMaker(const Hist2DMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h deleted file mode 100644 index 8cde722ea05..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h +++ /dev/null @@ -1,80 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HISTSETMAKER_H -#define QATDATAANALYSIS_HISTSETMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class HistogramManager; - -class HistSetMaker { - - public: - - // Constructor; - HistSetMaker(); - - // Destructor: - ~HistSetMaker(); - - // Action: - void exec(const Table & t, HistogramManager *manager) const; - - // Schedule 1 D Histogram - void scheduleHist1D(const std::string & name, Genfun::GENFUNCTION f, unsigned int nbins, double min, double max, - const Genfun::AbsFunction *weight=NULL); - - - // Schedule 2 D Histogram - void scheduleHist2D(const std::string & name, - Genfun::GENFUNCTION fX, unsigned int nbinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, unsigned int nbinsY, double minY, double maxY, - const Genfun::AbsFunction *weight=NULL); - - // Access stored info: - - // Number of Histograms: - unsigned int numH1D() const; - unsigned int numH2D() const; - - // Name of Histograms - const std::string & nameH1D(unsigned int i) const; - const std::string & nameH2D(unsigned int i) const; - - // ...name may then be used to retrieve histogram from manager and thus find - // additional information on the histograms that are created. - - private: - - HistSetMaker & operator = (const HistSetMaker & ); - HistSetMaker(const HistSetMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h deleted file mode 100644 index 29eb80d81c6..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h +++ /dev/null @@ -1,192 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HISTOGRAM_MANAGER_H -#define QATDATAANALYSIS_HISTOGRAM_MANAGER_H -// ---------------------------------------------------// -// // -// HistogramManager // -// // -// This class collects and accesses Histograms, // -// ScatterPlots, and Tables. // -// // -// // -//----------------------------------------------------// - -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/TupleStore.h" -#include <list> -#include <string> - -class HistogramManager { - -public: - - //------------------------Constructor and Destructor-----------------------------------// - // Constructor: // - HistogramManager(const std::string & name="ANONYMOUS"); // - // // - // Destructor: // - ~HistogramManager(); // - // // - // Get name: // - std::string & name(); // - const std::string & name() const; // - // // - //-------------------------------------------------------------------------------------// - - //------------------------Definitions:-------------------------------------------------// - // // - typedef std::list<Hist1D *>::iterator H1Iterator; // - typedef std::list<Hist1D *>::const_iterator H1ConstIterator; // - // // - typedef std::list<Hist2D *>::iterator H2Iterator; // - typedef std::list<Hist2D *>::const_iterator H2ConstIterator; // - // // - typedef std::list<Table *>::iterator TIterator; // - typedef std::list<Table *>::const_iterator TConstIterator; // - // // - typedef std::list<HistogramManager *>::iterator DIterator; // - typedef std::list<HistogramManager *>::const_iterator DConstIterator; // - // // - //-------------------------------------------------------------------------------------// - - //-----------------------Predicates, Unary and Binary----------------------------------// - class NameEq { // - // // - public: // - // // - // Constructor: // - NameEq(const std::string & name):m_name(name){}; // - // // - // Truth operators: // - inline bool operator () ( Hist1D * hist ) {return hist->name() ==m_name;} // - inline bool operator () ( Hist2D * hist ) {return hist->name() ==m_name;} // - inline bool operator () ( Table * table) {return table->name() ==m_name;} // - inline bool operator () ( HistogramManager *m) {return m->name()==m_name;} // - private: // - const std::string m_name; // - }; // - // // - class SortByName { // - // // - public: // - // // - bool operator () (Hist1D *a, Hist1D *b) const {return a->name() > b->name(); } // - bool operator () (Hist2D *a, Hist2D *b) const {return a->name() > b->name(); } // - bool operator () (Table *a, Table *b) const {return a->name() > b->name(); } // - bool operator () (HistogramManager *a, HistogramManager *b) const { // - return a->name() > b->name(); // - } // - // // - }; // - //-------------------------------------------------------------------------------------// - - - //-----------------------Iteration:----------------------------------------------------// - // // - TIterator beginTable(); // - TConstIterator beginTable() const; // - // // - TIterator endTable(); // - TConstIterator endTable() const; // - // // - H1Iterator beginH1(); // - H1ConstIterator beginH1() const; // - // // - H1Iterator endH1(); // - H1ConstIterator endH1() const; // - // // - H2Iterator beginH2(); // - H2ConstIterator beginH2() const; // - // // - H2Iterator endH2(); // - H2ConstIterator endH2() const; // - // // - DIterator beginDir(); // - DConstIterator beginDir() const; // - // // - DIterator endDir(); // - DConstIterator endDir() const; // - // // - //-------------------------------------------------------------------------------------// - - //----------------------Find existing objects.-----------------------------------------// - // // - const Hist1D *findHist1D(const std::string &) const; // - const Hist2D *findHist2D(const std::string &) const; // - const Table *findTable (const std::string &) const; // - const HistogramManager *findDir (const std::string &) const; // - // // - //-------------------------------------------------------------------------------------// - - //-----------------------Create new objects. Overwrite any existing:------------------// - // // - Hist1D *newHist1D(const std::string &, unsigned int nBins, double min, double max); // - Hist1D *newHist1D(const Hist1D & source); // - // // - Hist2D *newHist2D(const std::string &, // - unsigned int nBinsX, double minX, double maxX, // - unsigned int nBinsY, double minY, double maxY); // - Hist2D *newHist2D(const Hist2D & source); // - // // - Table *newTable (const std::string &, // - TupleStoreLink store = NULL); // - Table *newTable (const Table & source); // - // // - HistogramManager *newDir(const std::string & name); // - //-------------------------------------------------------------------------------------// - - //---------------------Remove objects--------------------------------------------------// - // // - void purge (const std::string & name); // - void rm (Hist1D *o) { purge (o->name());} // - void rm (Hist2D *o) { purge (o->name());} // - void rm (Table *o) { purge (o->name());} // - void rm (HistogramManager *o) { purge (o->name());} // - // // - //-------------------------------------------------------------------------------------// - - //---------------------Sorting operations----------------------------------------------// - // // - void nameOrder(); // - // // - //-------------------------------------------------------------------------------------// -private: - - std::string m_name; - std::list<Hist1D *> m_histograms; - std::list<Hist2D *> m_scatterPlots; - std::list<Table *> m_tables; - std::list<HistogramManager *> m_managers; - - // Do not you dare copy or assign a HistogramManager: - - HistogramManager(const HistogramManager &); - HistogramManager & operator = (const HistogramManager &); - -}; - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h deleted file mode 100644 index 3d1ba1b8416..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h +++ /dev/null @@ -1,52 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _IODriver_h_ -#define _IODriver_h_ -class HistogramManager; -#include <string> -class IODriver { - - public: - - // Constructor: - IODriver(); - - // Destructor: - virtual ~IODriver (); - - // Creates a NEW Histogram manager. - virtual HistogramManager *newManager(const std::string & filename) const = 0; - - // OpenManager: - virtual const HistogramManager *openManager(const std::string & filename) const = 0; - - // Writes the Histograms out. - virtual void close (const HistogramManager *mgr) const = 0; - - // Closes the file: - virtual void write (HistogramManager *mgr) const = 0; - - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h deleted file mode 100644 index 6a506c74942..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h +++ /dev/null @@ -1,54 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_IOLOADER_H -#define QATDATAANALYSIS_IOLOADER_H - -#include <string> -class IODriver; - -class IOLoader { - - public: - - // Create: - IOLoader(); - - // Destroy: - ~IOLoader(); - - // Get a pointer to the IO driver: - const IODriver *ioDriver(const std::string & name) const; - - private: - - // Illegal operations: - IOLoader(const IOLoader & ); - IOLoader & operator = (const IOLoader &); - - // Private member data: - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h deleted file mode 100755 index eaaa1c01011..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef Link_h_ -#define Link_h_ 1 - -#include "QatDataAnalysis/ConstLink.h" -template<class T> -class Link : public ConstLink<T> -{ - - - public: - - // Constructor: - Link(); - - // Copy Constructor: - Link(const Link<T> &right); - - // Promotion: - explicit Link(const ConstLink<T> &right); - - // Construct from a pointer: - Link (const T *addr); - - // Destructor: - virtual ~Link(); - - // Assignment: - Link<T> & operator = (const Link<T> & right); - - // - virtual T & operator * (); - - virtual T * operator -> (); - - virtual const T & operator * () const; - - virtual const T * operator -> () const; - - -}; - - - -template <class T> -inline Link<T>::Link() - :ConstLink<T>(NULL) -{ -} - - - -template <class T> -inline Link<T>::Link(const Link<T> &right) - :ConstLink<T>(right) -{ -} - -template <class T> -inline Link<T>::Link(const ConstLink<T> &right) - :ConstLink<T>(right) -{ -} - -template <class T> -inline Link<T>::Link (const T *target) - :ConstLink<T>(target) -{ -} - - -template <class T> -inline Link<T>::~Link() -{ -} - - -template <class T> -inline Link<T> & Link<T>::operator=(const Link<T> &right) -{ - ConstLink<T>::operator=(right); - return *this; -} - - -template <class T> -inline T & Link<T>::operator * () -{ - return const_cast<T &> (ConstLink<T>::operator*()); -} - -template <class T> -inline T * Link<T>::operator -> () -{ - return const_cast<T *> (ConstLink<T>::operator -> ()); -} - - -template <class T> -inline const T & Link<T>::operator * () const -{ - return ConstLink<T>::operator*(); -} - -template <class T> -inline const T * Link<T>::operator -> () const -{ - return ConstLink<T>::operator -> (); -} - -#endif - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h deleted file mode 100644 index 03ce1b2b723..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h +++ /dev/null @@ -1,80 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------------------// -// // -// MultiHistFileManager...This beast autodectects several formats of HistogramManager files // -// and connects them to multiple Histogram Managers. // -// // -//----------------------------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_MULTIHISTFILEMANAGER_H -#define QATDATAANALYSIS_MULTIHISTFILEMANAGER_H -#include "QatDataAnalysis/IOLoader.h" -#include <vector> -#include <string> -class HistogramManager; -class IODriver; -class MultiHistFileManager { - - public: - - enum FileFormat {HBOOK, ROOT, NATIVE}; - enum Status {NORMAL, ERROR}; - - MultiHistFileManager(); - virtual ~MultiHistFileManager(); - - int getNumInputManagers(); - int getNumOutputManagers(); - - const HistogramManager *getInputFileManager(int i) const; - std::string getInputFileName(int i) const; - FileFormat getInputFileFormat(int i) const; - - HistogramManager *getOutputFileManager(int i) const; - std::string getOutputFileName(int i) const; - FileFormat getOutputFileFormat(int i) const; - - Status addInputFileManager (std::string name); - Status addOutputFileManager (std::string name); - - private: - - // Illegal operations: - MultiHistFileManager & operator=(const MultiHistFileManager &); - MultiHistFileManager(const MultiHistFileManager &); - - // Member data: - std::vector<const HistogramManager *> m_inputFileManager; - std::vector<HistogramManager *> m_outputFileManager; - std::vector<std::string> m_inputFileName, m_outputFileName; - std::vector<FileFormat> m_inputFileFormat, m_outputFileFormat; - std::vector<const IODriver *> m_inputDrivers, m_outputDrivers; - - IOLoader m_loader; - - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h deleted file mode 100644 index 4612496f884..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef QATDATAANALYSIS_OPTPARSE_H -#define QATDATAANALYSIS_OPTPARSE_H -class HistogramManager; -#include <string> -#include <vector> - - -// -struct HIOZeroToOne { - - //---------------Simple Struct, few public variables--------------// - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOZeroToOne(const std::string & driver=""); - ~HIOZeroToOne(); - - - private: - - HIOZeroToOne & operator =( const HIOZeroToOne &); - HIOZeroToOne(const HIOZeroToOne &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIOOneToOne { - - //---------------Simple Struct, few public variables--------------// - const HistogramManager *input; // - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOOneToOne(const std::string & driver=""); - ~HIOOneToOne(); - - - private: - - HIOOneToOne & operator =( const HIOOneToOne &); - HIOOneToOne(const HIOOneToOne &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIOOneToZero { - - //---------------Simple Struct, few public variables--------------// - const HistogramManager *input; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOOneToZero(const std::string & driver=""); - ~HIOOneToZero(); - - - private: - - HIOOneToZero & operator =( const HIOOneToZero &); - HIOOneToZero(const HIOOneToZero &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIONToOne { - - //---------------Simple Struct, few public variables--------------// - std::vector<const HistogramManager *> input; // - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIONToOne(const std::string & driver=""); - ~HIONToOne(); - - - private: - - HIONToOne & operator =( const HIONToOne &); - HIONToOne(const HIONToOne &); - - class Clockwork; - Clockwork *m_c; - -}; -// -struct HIONToZero { - - //---------------Simple Struct, few public variables--------------// - std::vector<const HistogramManager *> input; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIONToZero(const std::string & driver=""); - ~HIONToZero(); - - - private: - - HIONToZero & operator =( const HIONToZero &); - HIONToZero(const HIONToZero &); - class Clockwork; - Clockwork *m_c; - -}; - - -class NumericInput { - - public: - - NumericInput(); - ~NumericInput(); - - // Declare a parameter (name, doc, value) - void declare(const std::string & name, const std::string & doc, double val); - - // Then override with user input: - void optParse(int & argc, char ** & argv); - - // Print the list of parameters: - std::string usage() const; - - // Get the value of a parameter, by name: - double getByName (const std::string & name) const; - - private: - - NumericInput & operator =( const NumericInput &); - NumericInput(const NumericInput &); - - class Clockwork; - Clockwork *m_c; - -}; - - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h deleted file mode 100644 index 8023eb7722a..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h +++ /dev/null @@ -1,61 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_PROJECTION_H -#define QATDATAANALYSIS_PROJECTION_H -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -// -----------------------------------------------------// -// This class defines projection operations on tables: // -// -----------------------------------------------------// - -class Projection { - - public: - - // Constructor: - Projection(); - - // Copy Constructor: - Projection (const Projection & P); - - // Destructor: - ~Projection(); - - // Assignment - Projection & operator = (const Projection & sel); - - // Operation on Table - Table operator * (const Table & table) const; - - // Add a datum - void add(const std::string & name); - - - private: - - std::set<std::string> m_nameList; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h deleted file mode 100644 index 81202d77141..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef QATDATAANALYSIS_QATUTILS_H -#define QATDATAANALYSIS_QATUTILS_H - -class HistogramManager; - -// Do a deep copy of a directory: -void deepCopy(const HistogramManager *input, HistogramManager *output); - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h deleted file mode 100644 index 734c8a3a7ef..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h +++ /dev/null @@ -1,63 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// -------------------------------------------------------------------------// -// // -// Query class. This class can be used to return the result of a query // -// that can fail. Objects of this class can convert themselves to the // -// result type T. Client code can check for a valid result; if it doesn't, // -// and the result is valid, no problem. But if the result is invalid you // -// will print an error message and terminate. // -// // -// Joe Boudreau // -// based on Barton & Nackman's "Scientific and Engineering C++" // -// // -// -------------------------------------------------------------------------// -#ifndef QATDATAANALYSIS_QUERY_H -#define QATDATAANALYSIS_QUERY_H - -template <class T> -class Query { - -public: - - // Constructor: - inline Query(const T &); - - // Default constructor: - inline Query(); - - // Convert to "T" - inline operator T() const; - - // Test Validity - inline bool isValid() const; - -private: - - bool m_failed; - T m_instance; - -}; -#include "QatDataAnalysis/Query.icc" -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc deleted file mode 100644 index 703f603276d..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc +++ /dev/null @@ -1,50 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include <assert.h> - -template <class T> -inline Query<T>::Query(const T & t) - : - m_failed(false), - m_instance(t) -{ -} - -template <class T> -inline Query<T>::Query() - : - m_failed(true) -{ -} - -template <class T> -inline Query<T>::operator T() const { - assert (!m_failed); - return m_instance; -} - -template <class T> -inline bool Query<T>::isValid() const { - return !m_failed; -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h deleted file mode 100644 index 1b73eaf3f27..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h +++ /dev/null @@ -1,73 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Base Class for Reference Counted Squeezable objects. The object -// uncaches all data when the reference count returns to one. The -// object is deleted when the reference count goes to zero. -// -// The idea is that squeezing takes place when no one is looking except -// the manager... - - - -#ifndef RCSBase_h -#define RCSBase_h 1 -class RCSBase -{ - - public: - - RCSBase(); - - - void ref() const; - - void unref() const; - - unsigned int refCount() const; - - virtual void uncache() const; - - protected: - - virtual ~RCSBase(); - - private: - - RCSBase(const RCSBase &right); - - const RCSBase & operator=(const RCSBase &right); - - mutable unsigned short int m_count; - - - -}; - - - - - - -#endif - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h deleted file mode 100644 index f175cd829c2..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h +++ /dev/null @@ -1,58 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_SELECTION_H -#define QATDATAANALYSIS_SELECTION_H -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -// -----------------------------------------------------// -// This class defines selection operations on tables: // -// -----------------------------------------------------// - -class Selection { - - public: - - // Constructor: - Selection( const Cut<Tuple> & cut); - - // Copy Constructor: - Selection (const Selection & sel); - - // Destructor: - ~Selection(); - - // Assignment - Selection & operator = (const Selection & sel); - - // Operation on Table - Table operator * (const Table & table) const; - - - private: - - const Cut<Tuple> * m_cut; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h deleted file mode 100644 index 6ce908cec6d..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h +++ /dev/null @@ -1,29 +0,0 @@ -// Definition of the ServerSocket class - -#ifndef ServerSocket_class -#define ServerSocket_class - -#include "QatDataAnalysis/Socket.h" - -class ServerSocket : private Socket -{ - public: - - ServerSocket ( int port ); - ServerSocket (){}; - virtual ~ServerSocket(); - - const ServerSocket& operator << ( const std::string& ) const; - const ServerSocket& operator >> ( std::string& ) const; - - - template <class T> const ServerSocket& operator << ( const T & query) const; - template <class T> const ServerSocket& operator >> ( T & query) const; - - void accept ( ServerSocket& ); - -}; - -#include "QatDataAnalysis/ServerSocket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc deleted file mode 100644 index 16b52d28a69..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc +++ /dev/null @@ -1,24 +0,0 @@ -#include "QatDataAnalysis/SocketException.h" -template<class T> inline const ServerSocket& ServerSocket::operator << ( const T & query ) const -{ - if ( ! Socket::send ( query ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -template<class T> inline const ServerSocket& ServerSocket::operator >> ( T & query ) const -{ - if ( ! Socket::recv ( query ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h deleted file mode 100644 index d86efcc0abc..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h +++ /dev/null @@ -1,60 +0,0 @@ -// Definition of the Socket class - -#ifndef Socket_class -#define Socket_class - - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <unistd.h> -#include <string> -#include <arpa/inet.h> - -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - -const int MAXHOSTNAME = 200; -const int MAXCONNECTIONS = 5; -const int MAXRECV = 500; - -class Socket -{ - public: - Socket(); - virtual ~Socket(); - - // Server initialization - bool create(); - bool bind ( const int port ); - bool listen() const; - bool accept ( Socket& ) const; - - // Client initialization - bool connect ( const std::string host, const int port ); - - // Data Transimission - bool send ( const std::string ) const; - int recv ( std::string& ) const; - - template<class T> bool send ( const T & query ) const; - template<class T> int recv ( T & query) const; - - - void set_non_blocking ( const bool ); - - bool is_valid() const { return m_sock != -1; } - - private: - - int m_sock; - sockaddr_in m_addr; - - -}; - -#include "QatDataAnalysis/Socket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc deleted file mode 100644 index 32313563c22..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc +++ /dev/null @@ -1,35 +0,0 @@ -#include <errno.h> -#include <iostream> -template <class T> inline bool Socket::send ( const T & query ) const -{ - int status = ::send ( m_sock, &query, sizeof(query), MSG_NOSIGNAL ); - if ( status == -1 ) - { - return false; - } - else - { - return true; - } -} - - -template <class T> inline int Socket::recv ( T & query ) const -{ - int status = ::recv ( m_sock, &query, sizeof(query), 0 ); - - if ( status == -1 ) - { - std::cout << "status == -1 errno == " << errno << " in Socket::recv\n"; - return 0; - } - else if ( status == 0 ) - { - return 0; - } - else - { - return status; - } -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h deleted file mode 100644 index 009622cb0d9..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h +++ /dev/null @@ -1,23 +0,0 @@ -// SocketException class - - -#ifndef SocketException_class -#define SocketException_class - -#include <string> - -class SocketException -{ - public: - SocketException ( std::string s ) : m_s ( s ) {}; - ~SocketException (){}; - - std::string description() { return m_s; } - - private: - - std::string m_s; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h deleted file mode 100644 index 53d1542cfd7..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h +++ /dev/null @@ -1,110 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_TABLE_H -#define QATDATAANALYSIS_TABLE_H -#include "CLHEP/GenericFunctions/Variable.hh" -#include "QatDataAnalysis/TupleStore.h" -#include <vector> -#include <list> -#include <set> -#include <iostream> -class Tuple; -class Attribute; -class AttributeList; -class Table { - - public: - - - // Constructor: - Table(const std::string & name); - - // Copy Constructor: - Table(const Table & t); - - // Construct from a store (not for casual users) - Table(const std::string & name, const TupleStoreLink s); - - // Destructor: - virtual ~Table(); - - // Get the title: - std::string & name(); - const std::string & name() const; - - // Getting the data into the Table. Sets values and builds header at same time. - template <typename T> void add (const std::string & name, const T & t); - template <typename T> void add (const Attribute & a, const T & t); - - // Capture: - virtual TupleConstLink capture(); - - // Get the size of the table (number of tuples): - virtual size_t numTuples() const; - - // Getting the data out of the Table: - virtual TupleConstLink operator [] (size_t index) const; - - // Alternate. Convenient but slow. - template <typename T> void read (size_t index, const std::string & aname, T & t) const; - - // Print: - std::ostream & print (std::ostream & o= std::cout) const; - - // Get the size of the table (number of attributes): - size_t numAttributes() const; - - // Get Attributes: - const Attribute & attribute(unsigned int i) const; - const Attribute & attribute(const std::string & name) const; - AttributeListConstLink attributeList() const; - - // Get the attribute symbol. For symbolic expressions: - Genfun::Variable symbol (const std::string & name) const; - - // Operations: - void operator += (const Table &); - - // Obtain the store (not for casual users). - TupleStoreConstLink store() const; - - // Copy the Table (which may be disk-resident) to a simple memory - // resident version: - - Table *memorize() const; - - private: - - // These operations are illegal: - Table & operator=(const Table & t); - - // Keep these details out of the interface: - class Clockwork; - Clockwork *m_c; - -}; - - - -#include "QatDataAnalysis/Table.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc deleted file mode 100644 index 42f00125e1d..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc +++ /dev/null @@ -1,118 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/ValueList.h" -#include "QatDataAnalysis/Value.h" -#include "QatDataAnalysis/Tuple.h" -#include <algorithm> -#include <list> -#include <set> - - -class Table::Clockwork { - -public: - - - std::string name; - - TupleLink tuple; - TupleStoreLink store; - std::vector<std::string> nameList; // Cached again for speed. - - -}; - -inline std::string & Table::name() { - return m_c->name; -} - -inline const std::string & Table::name() const { - return m_c->name; -} - -inline size_t Table::numTuples() const { - return m_c->store->size(); -} - -template <typename T> inline void Table::read (size_t index, const std::string & aname, T & t) const { - if (!(*this)[index]->read(t, this->attribute(aname).attrId())) { - std::string message ("Error retreiving attribute "); - message += aname; - message += " from table "; - message += name(); - throw std::runtime_error(message.c_str()); - }; -} - -template <typename T> inline void Table::add (const std::string & name, const T & t) { - - - if (numTuples()==0) { - Value v(&t, sizeof(t)); - AttributeListLink a = AttributeListLink(m_c->tuple->attributeList()); - a->add(name,typeid(t)); - m_c->tuple->valueList().add(v); - } - else { - std::vector<std::string>::const_iterator a = std::lower_bound(m_c->nameList.begin(), - m_c->nameList.end(), - name); - int n = a-m_c->nameList.begin(); - m_c->tuple->valueList()[n].setValue(t); - } - -} - - -template <typename T> inline void Table::add (const Attribute & a, const T & t) { - if (m_c->store->size()==0) { - throw std::runtime_error ("Table::add: you are using an attribute for an undefined table"); - } - else { - size_t n = a.attrId(); - m_c->tuple->valueList()[n].setValue(t); - } -} - -inline const Attribute & Table::attribute (unsigned int i) const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::attribute. Attribute list not formed"); - if (i<m_c->tuple->attributeList()->size()) - return (*m_c->tuple->attributeList())[i]; - else - throw std::range_error ("Table::attribute range error"); -} - - -inline const Attribute & Table::attribute (const std::string & name) const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::attribute. Attribute list not formed"); - AttributeList::ConstIterator a = - std::find_if(m_c->tuple->attributeList()->begin(), m_c->tuple->attributeList()->end(),Attribute::NameEquals(name)); - if (a!=m_c->tuple->attributeList()->end()) - return *a; - else - throw std::range_error ("Table::attribute range error"); -} - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h deleted file mode 100644 index c440c762d3f..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h +++ /dev/null @@ -1,142 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// -------------------------Tuple-------------------------------// -// // -// This class represents a single row of a table. It can hold // -// a variety of different data types and provides access to // -// them. Tables build tuples and monger tables. The // -// way in which you get data out of a data is to call one of // -// the overloaded read methods. You can then check the status // -// to see whether the read succeeded: // -// // -// int value; // -// if (tuple->read(value,i)) { // -// .. // -// } // -// // -// If the data type of datum i is wrong, the read will fail. // -// This provides a way of detecting data type, which is not // -// really recommended for repeated accesses if speed is an // -// If speed is an issue, the datatype should be determined // -// (say, from the table) and the fastread method should be // -// used. // -// // -// int value // -// switch (attribute(i).type()) { // -// case Attribute::DOUBLE: // -// { // -// tuple->fastread(value,i); // -// break; // -// } // -// // -// And then there is a third way to access the information for // -// very fast operations on double precision representations of // -// data (when they exist): // -// // -// const Genfun::Argument & a = tuple->asDoublePrec(); // -// double x = a[i]; // -// // -//--------------------------------------------------------------// - -#ifndef QATDATAANALYSIS_TUPLE_H -#define QATDATAANALYSIS_TUPLE_H -#include "QatDataAnalysis/RCSBase.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatDataAnalysis/AttributeListConstLink.h" -#include "QatDataAnalysis/ValueList.h" -#include <iostream> -#include <vector> -#include <set> - - -class Tuple:public RCSBase { - - public: - - - // Constructors - Tuple(AttributeListConstLink); - - // Constructors - Tuple(AttributeListConstLink, const ValueList &); - - // Access to the attributeList (where header info lives).: - AttributeListConstLink attributeList() const {return m_attributeList;} - - // Print method: - std::ostream & print (std::ostream & o= std::cout) const; - - // Check status of last operation: - operator bool () const { return m_status;} - - // Read in an integer: - inline const Tuple & read (int & i, unsigned int pos) const; - inline void fastread (int & i, unsigned int pos) const; - - // Read an unsigned int: - inline const Tuple & read (unsigned int & i, unsigned int pos) const; - inline void fastread (unsigned int & i, unsigned int pos) const; - - // Read a double: - inline const Tuple & read (double & d, unsigned int pos) const; - inline void fastread (double & d, unsigned int pos) const; - - // Read a float: - inline const Tuple & read (float & f, unsigned int pos) const; - inline void fastread (float & f, unsigned int pos) const; - - // Access to values: - inline ValueList & valueList(); - inline const ValueList & valueList() const; - - // Access to a double precision rep of all quantities: - const Genfun::Argument & asDoublePrec() const; - - // Uncache. - virtual void uncache() const; - - private: - - // Destructor - virtual ~Tuple(); - - // Copy Constructor: - Tuple (const Tuple & tuple); - - // Assignment Operator: - Tuple & operator=(const Tuple & tuple); - - - AttributeListConstLink m_attributeList; - mutable ValueList m_valList; - //Maybe: - //IOAddress *_io; - - mutable bool m_status; - mutable Genfun::Argument *m_doubleRep; - mutable bool m_doubleRepStale; - -}; - -#include "QatDataAnalysis/Tuple.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc deleted file mode 100644 index e3b1ecd1cca..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc +++ /dev/null @@ -1,142 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeListConstLink.h" -//#include "QatDataAnalysis/TupleLink.h" - -inline Tuple::Tuple(AttributeListConstLink attributeList): - m_attributeList(attributeList),m_status(true),m_doubleRep(NULL), - m_doubleRepStale(true){ -} - -inline Tuple::Tuple(AttributeListConstLink attributeList, const ValueList & valList): - m_attributeList(attributeList), - m_valList(valList), - m_status(true), - m_doubleRep(NULL), - m_doubleRepStale(true){ -} - - -inline Tuple::~Tuple() { - delete m_doubleRep; - -} - -inline ValueList & Tuple::valueList() { - // If a nonconst version is ever accessed, we must assume that - // the data values are going to change!! - m_doubleRepStale=true; - return m_valList; -} - -inline const ValueList & Tuple::valueList() const { - return m_valList; -} - -inline const Tuple & Tuple::read (int & i, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="i") { - i = * (int *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - - -inline const Tuple & Tuple::read (double & d, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="d") { - d = * (double *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - -inline const Tuple & Tuple::read (float & d, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="f") { - d = * (float *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - -inline const Tuple & Tuple::read (unsigned int & i, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="j"|| typeName=="m") { - i = * (unsigned int *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - - - - - - - - - - - - - - - - -inline void Tuple::fastread (int & i, unsigned int pos) const { - i = * (int *) m_valList[pos].asCharStar(); -} - - -inline void Tuple::fastread (double & d, unsigned int pos) const { - d = * (double *) m_valList[pos].asCharStar(); -} - -inline void Tuple::fastread (float & d, unsigned int pos) const { - d = * (float *) m_valList[pos].asCharStar(); -} - -inline void Tuple::fastread (unsigned int & i, unsigned int pos) const { - i = * (unsigned int *) m_valList[pos].asCharStar(); -} - - -inline void Tuple::uncache() const { - delete m_doubleRep; - m_doubleRep=NULL; - m_doubleRepStale=true; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h deleted file mode 100755 index a8e42932a84..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef TupleConstLink_h -#define TupleConstLink_h 1 -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/ConstLink.h" -typedef ConstLink< Tuple > TupleConstLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h deleted file mode 100644 index f5d39cfd5a3..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h +++ /dev/null @@ -1,72 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_TUPLECUT_H -#define QATDATAANALYSIS_TUPLECUT_H -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -//-----------------TupleCut-----------------------------// -// A lower limit, upper limit or window around some // -// function of a tuple. These can be anded, or'd or // -// notted. // -//------------------------------------------------------// - -class TupleCut : public Cut<Tuple> { - - public: - - enum Type {GT,LT,GE,LE,NA}; - - // Copy Constructor: - TupleCut (const TupleCut & right); - - // Can say: TupleCut cut(f,-1, 1); - TupleCut (Genfun::GENFUNCTION f, double min, double max); - - // Can also say TupleCut cut (f, TupleCut::GT, 0), - // Can also say TupleCut cut (f, TupleCut::LT, 0); - TupleCut (Genfun::GENFUNCTION f, Type t, double val); - //no assignment - TupleCut & operator=(const TupleCut & other)=delete; - - // Don't forget you can and and or these, too. - - // Destructor: - virtual ~TupleCut(); - - // Clone - virtual TupleCut * clone (void) const; - - // Truth operator: - virtual bool operator () (const Tuple & t) const; - - private: - - const Genfun::AbsFunction *m_f; - Type m_t; - double m_v1; - double m_v2; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h deleted file mode 100644 index 39281a4d0c0..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef TupleLink_h -#define TupleLink_h 1 -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/Link.h" -typedef Link< Tuple > TupleLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h deleted file mode 100644 index 4d974258758..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef QATDATAANALYSIS_TUPLESTORE_H -#define QATDATAANALYSIS_TUPLESTORE_H -#include "CLHEP/GenericFunctions/RCBase.hh" -#include "QatDataAnalysis/TupleConstLink.h" -#include "QatDataAnalysis/TupleLink.h" - -class TupleStore : public Genfun::RCBase { - - -public: - - // Constructor: - TupleStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const = 0; - - // Write (if implemented) - virtual void push_back(TupleConstLink) { - throw std::runtime_error ("Write only tuple store"); - } - - // Get the size: - virtual size_t size() const = 0; - - // lock - void lock() const; - - // check lock: - bool isLocked() const; - -protected: - - // Destructor: - virtual ~TupleStore(); - - // Data: - mutable bool m_lock; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - - -}; - -typedef Link< TupleStore > TupleStoreLink; -typedef ConstLink< TupleStore > TupleStoreConstLink; - -class SimpleStore: public TupleStore { - - public: - - // Constructor - SimpleStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const; - - // Write - virtual void push_back(TupleConstLink); - - // Get the size: - virtual size_t size() const; - - private: - - // Destructor: - ~SimpleStore(); - - // Illegal Operations: - SimpleStore(const SimpleStore &); - SimpleStore & operator = (const SimpleStore & ); - - // Data: - std::vector<TupleConstLink> m_tVector; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - -}; - - -class CompoundStore: public TupleStore { - public: - - // Constructor - CompoundStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const; - - // Extend - virtual void push_back(TupleStoreLink); - - // Write - virtual void push_back(TupleConstLink); - - // Get the size: - virtual size_t size() const; - - private: - - // Destructor: - ~CompoundStore(); - - // Illegal Operations: - CompoundStore(const CompoundStore &); - CompoundStore & operator = (const CompoundStore & ); - - - // Data: - std::vector<TupleStoreLink> m_sVector; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - -}; - - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h deleted file mode 100644 index 31b5feabcdb..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h +++ /dev/null @@ -1,55 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _Value_h_ -#define _Value_h_ -#include <vector> -#include <algorithm> -#include <iostream> - -class Value { - - public: - - Value(const void * value, size_t sizeInBytes): - m_rep(std::vector<char>(sizeInBytes)){ - std::copy ((char *) value, (char *) value + sizeInBytes, m_rep.begin()); - } - - const char * asCharStar() const { return & m_rep[0];} - - void clear() { - std::fill(m_rep.begin(),m_rep.end(),0); - } - - template <typename T> void setValue (const T & t) { - * ((T *) & m_rep[0]) = t; - } - - private: - - std::vector<char> m_rep; -}; - - -#include "QatDataAnalysis/Value.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc deleted file mode 100644 index c1a969ec641..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc +++ /dev/null @@ -1,22 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h deleted file mode 100644 index 0de9c73d292..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h +++ /dev/null @@ -1,64 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef ValueList_h_ -#define ValueList_h_ -#include "QatDataAnalysis/Value.h" -#include <vector> - -class ValueList { - - public: - - // Type Definitions: - typedef std::vector<Value>::const_iterator ConstIterator; - - // Constructor: - inline ValueList(); - - // Destructor: - inline ~ValueList(); - - // Add an attribute to the list: - inline void add(const Value & value); - - // Iterate over the attributes; - inline ConstIterator begin () const; - inline ConstIterator end() const; - - // Random access: - inline Value & operator[] (size_t i) ; - inline const Value & operator[] (size_t i) const; - - // Size of the attribute list; - inline size_t size() const; - - inline void clear(); - - private: - - std::vector<Value> m_valueList; - -}; - -#include "QatDataAnalysis/ValueList.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc deleted file mode 100644 index 1f80f975bed..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc +++ /dev/null @@ -1,53 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include <algorithm> -#include <stdexcept> -inline ValueList::ValueList() {} - -inline ValueList::~ValueList() {} - -// Add an attribute: -inline void ValueList::add (const Value & value) { - m_valueList.push_back(value); -} - -// ConstIterator over attributes: -inline ValueList::ConstIterator ValueList::begin() const {return m_valueList.begin();} -inline ValueList::ConstIterator ValueList::end() const {return m_valueList.end();} - - -inline size_t ValueList::size() const { return m_valueList.size();} - -inline Value & ValueList::operator[] (size_t i) { - return m_valueList[i]; -} - -inline const Value & ValueList::operator[] (size_t i) const { - return m_valueList[i]; -} - -inline void ValueList::clear() { - for (unsigned int i=0;i<m_valueList.size(); i++) { - m_valueList[i].clear(); - } -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h deleted file mode 100644 index bbc2968a6e3..00000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _ASYMMETRY_H_ -#define _ASYMMETRY_H_ -// Calculates error bars in an efficiency measurement where N successes were -// recorded out of M trials. -#define ASYMM_NORMAL 0 -#define ASYMM_ERROR 1 -int asymmetry (int M, int N, double & xmean, double & xplus, double & xminus); - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/grid/Makefile b/graphics/Qat/QatDataAnalysis/grid/Makefile deleted file mode 100644 index 80eb02e417b..00000000000 --- a/graphics/Qat/QatDataAnalysis/grid/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -THISDIR = QatDataAnalysis - -include ../../../sw/grid/Makefile.common -LOADLIBES+= -L../../../local/lib -lCLHEP-GenericFunctions-2.1.3.1 - diff --git a/graphics/Qat/QatDataAnalysis/src/Attribute.cpp b/graphics/Qat/QatDataAnalysis/src/Attribute.cpp deleted file mode 100644 index 8398ace10bf..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Attribute.cpp +++ /dev/null @@ -1,24 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Attribute.h" - diff --git a/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp b/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp deleted file mode 100644 index e98cadade43..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeList.h" -#include <algorithm> -#include <stdexcept> -AttributeList::AttributeList():m_locked(false) { -} - -AttributeList::~AttributeList() { -} - -// Add an attribute: -void AttributeList::add (const std::string & name, const std::type_info & type) { - - if (m_locked) throw std::runtime_error ("Error: adding attribute to a locked attribute list"); - - Attribute a(name,type); - if (std::find(m_attrList.begin(),m_attrList.end(),a)==m_attrList.end()) { - m_attrList.push_back(a); - } - else { - throw std::runtime_error ("Error: duplicate attribute name"); - } -} - -// Lock the list against additional adding of attributes. Also, now fill some cache -// relating to data sizes and positions: -void AttributeList::lock() { - if (!m_locked) { - std::sort(m_attrList.begin(),m_attrList.end()); - for (size_t a=0;a<m_attrList.size();a++) { - m_attrList[a].attrId()=a; - } - m_locked=true; - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp b/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp deleted file mode 100644 index 6450e2f0d2c..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Implementation of the ClientSocket class - -#include "QatDataAnalysis/ClientSocket.h" -#include "QatDataAnalysis/SocketException.h" - - -ClientSocket::ClientSocket ( std::string host, int port ) -{ - if ( ! Socket::create() ) - { - throw SocketException ( "Could not create client socket." ); - } - - if ( ! Socket::connect ( host, port ) ) - { - throw SocketException ( "Could not bind to port." ); - } - -} - - -const ClientSocket& ClientSocket::operator << ( const std::string& s ) const -{ - if ( ! Socket::send ( s ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -const ClientSocket& ClientSocket::operator >> ( std::string& s ) const -{ - if ( ! Socket::recv ( s ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - - - - diff --git a/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp b/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp deleted file mode 100644 index 5a8783fe12a..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp +++ /dev/null @@ -1,164 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include <stdexcept> -Hist1D::Hist1D(const std::string & name, size_t nBins, double min, double max): - m_c(new Clockwork()) -{ - m_c->name=name; - m_c->nBins=nBins; - m_c->min=min; - m_c->max=max; - m_c->binWidth=(max-min)/nBins; - m_c->overflow=0; - m_c->underflow=0; - m_c->entries=0; - m_c->xW=0; - m_c->xxW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - m_c->contents.resize(nBins); - m_c->errors.resize(nBins); -} - -Hist1D::~Hist1D() { - delete m_c; -} - -void Hist1D::accumulate(double x, double weight) { - int bin = int((x-m_c->min)/m_c->binWidth); - if (x<m_c->min) { - m_c->underflow++; - } - else if (bin>=int(m_c->nBins)) { - m_c->overflow++; - } - else { - m_c->entries++; - m_c->xW += x*weight; - m_c->xxW += (x*x*weight); - m_c->sumWeight += weight; - m_c->minContents = 0; - m_c->maxContents = 0; - m_c->contents[bin]+= weight; - m_c->errors[bin] += weight*weight; - } -} - -Hist1D & Hist1D::operator += (const Hist1D & source) { - if ((m_c->nBins!=source.m_c->nBins) || - (m_c->min !=source.m_c->min) || - (m_c->max !=source.m_c->max) ) { - throw (std::runtime_error("Incompatible histograms are added")); - } - else { - m_c->overflow += source.m_c->overflow; - m_c->underflow += source.m_c->underflow; - m_c->entries += source.m_c->entries; - m_c->xW += source.m_c->xW; - m_c->xxW += source.m_c->xxW; - m_c->sumWeight += source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] += source.m_c->contents[i]; - m_c->errors[i] += source.m_c->errors[i]; - } - } - - return *this; -} - -Hist1D & Hist1D::operator -= (const Hist1D & source) { - if ((m_c->nBins!=source.m_c->nBins) || - (m_c->min !=source.m_c->min) || - (m_c->max !=source.m_c->max) ) { - throw (std::runtime_error("Incompatible histograms are added")); - } - else { - m_c->overflow += source.m_c->overflow; - m_c->underflow += source.m_c->underflow; - m_c->entries += source.m_c->entries; - m_c->xW -= source.m_c->xW; - m_c->xxW -= source.m_c->xxW; - m_c->sumWeight -= source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] -= source.m_c->contents[i]; - m_c->errors[i] += source.m_c->errors[i]; - } - } - return *this; -} - -Hist1D & Hist1D::operator *= (double scale) { - m_c->xW *= scale; - m_c->xxW *= scale; - m_c->sumWeight *= scale; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] *= scale; - m_c->errors[i] *= (scale*scale); - } - return *this; -} - -void Hist1D::clear() { - - m_c->overflow = 0; - m_c->underflow = 0; - m_c->entries = 0; - m_c->xW = 0; - m_c->xxW = 0; - m_c->sumWeight = 0; - m_c->minContents = 0; - m_c->maxContents = 0; - std::fill(m_c->contents.begin(),m_c->contents.end(), 0); - std::fill(m_c->errors.begin(), m_c->errors.end(), 0); - -} - -// Get the internals: -const Hist1D::Clockwork *Hist1D::clockwork() const { - return m_c; -} - -// Remake this from the interals: -Hist1D::Hist1D(const Clockwork * cw) { - m_c = new Clockwork(*cw); -} - -Hist1D::Hist1D( const Hist1D & source) { - m_c = new Clockwork(*source.m_c); -} - -Hist1D & Hist1D::operator = (const Hist1D & source ) { - if (this!=&source) { - delete m_c; - m_c = new Clockwork(*source.m_c); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp b/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp deleted file mode 100644 index fc8290251a7..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp +++ /dev/null @@ -1,78 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1DMaker.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Attribute.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/Argument.hh" -class Hist1DMaker::Clockwork { - -public: - - Genfun::AbsFunction *f; - size_t nBins; - double min; - double max; - Genfun::AbsFunction *w; - -}; - - -Hist1DMaker::Hist1DMaker (Genfun::GENFUNCTION f, size_t nbinsx, double min, double max, - const Genfun::AbsFunction *weight) : m_c(new Clockwork()) { - m_c->f = f.clone(); - m_c->nBins = nbinsx; - m_c->min = min; - m_c->max = max; - m_c->w = weight ? weight->clone() : NULL; -} - -Hist1DMaker::~Hist1DMaker() { - delete m_c->f; - delete m_c->w; - delete m_c; -} - - -Hist1D Hist1DMaker::operator * (const Table & table) const { - - Hist1D h(table.name(),m_c->nBins, m_c->min, m_c->max); - - - for (size_t t=0; ; t++) { - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - if (m_c->w) { - Genfun::GENFUNCTION W=*m_c->w; - h.accumulate((*(m_c->f))(a), W(a)); - } - else { - h.accumulate((*(m_c->f))(a)); - } - } - return h; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp b/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp deleted file mode 100644 index 8f0e5fe66c0..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp +++ /dev/null @@ -1,176 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2D.h" -#include <stdexcept> -Hist2D::Hist2D(const std::string & name, size_t nBinsX, double minX, double maxX, - size_t nBinsY, double minY, double maxY): - m_c(new Clockwork) -{ - m_c->name=name; - m_c->nBinsX=nBinsX; - m_c->nBinsY=nBinsY; - m_c->minX=minX; - m_c->maxX=maxX; - m_c->minY=minY; - m_c->maxY=maxY; - m_c->binWidthX=(maxX-minX)/nBinsX; - m_c->binWidthY=(maxY-minY)/nBinsY; - m_c->overUnderFlow[0][0]=m_c->overUnderFlow[0][1]=m_c->overUnderFlow[0][2]=0; - m_c->overUnderFlow[1][0]=m_c->overUnderFlow[1][1]=m_c->overUnderFlow[1][2]=0; - m_c->overUnderFlow[2][0]=m_c->overUnderFlow[2][1]=m_c->overUnderFlow[2][2]=0; - m_c->overflow=0; - m_c->xW=0; - m_c->xxW=0; - m_c->yW=0; - m_c->yyW=0; - m_c->xyW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - m_c->contents.resize(nBinsX*nBinsY); - m_c->errors.resize(nBinsX*nBinsY); -} - -void Hist2D::clear() { - m_c->overUnderFlow[0][0]=m_c->overUnderFlow[0][1]=m_c->overUnderFlow[0][2]=0; - m_c->overUnderFlow[1][0]=m_c->overUnderFlow[1][1]=m_c->overUnderFlow[1][2]=0; - m_c->overUnderFlow[2][0]=m_c->overUnderFlow[2][1]=m_c->overUnderFlow[2][2]=0; - m_c->overflow=0; - m_c->xW=0; - m_c->xxW=0; - m_c->yW=0; - m_c->yyW=0; - m_c->xyW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - std::fill(m_c->contents.begin(),m_c->contents.end(), 0); - std::fill(m_c->errors.begin(), m_c->errors.end(), 0);} - - -Hist2D::~Hist2D() { - delete m_c; -} - -void Hist2D::accumulate(double x, double y, double weight) { - - int nx = m_c->nBinsX, ny=m_c->nBinsY; - - OVF a,b; - int binX = int((x-m_c->minX)/m_c->binWidthX); - int binY = int((y-m_c->minY)/m_c->binWidthY); - if (x<m_c->minX) { - a=Underflow; - } - else if (binX<nx) { - a=InRange; - } - else { - a=Overflow; - } - if (y<m_c->minY) { - b=Underflow; - } - else if (binY<ny) { - b=InRange; - } - else { - b=Overflow; - } - m_c->overUnderFlow[a][b]++; - - if (a==InRange && b==InRange) { - - m_c->xW += x*weight; - m_c->xxW += (x*x*weight); - m_c->yW += (y*weight); - m_c->yyW += (y*y*weight); - m_c->xyW += (x*y*weight); - m_c->sumWeight += weight; - m_c->minContents = 0; - m_c->maxContents = 0; - m_c->contents[ii(binX,binY)]+= weight; - m_c->errors[ii(binX,binY)] += weight*weight; - } -} - -Hist2D & Hist2D::operator += (const Hist2D & source) { - if ((m_c->nBinsX!=source.m_c->nBinsX) || - (m_c->minX !=source.m_c->minX) || - (m_c->maxX !=source.m_c->maxX) || - (m_c->nBinsY!=source.m_c->nBinsY) || - (m_c->minY !=source.m_c->minY) || - (m_c->maxY !=source.m_c->maxY)) - { - throw (std::runtime_error("Incompatible histograms are added")); - } - else - { - m_c->overflow += source.m_c->overflow; - for (int i=0;i<3;i++) { - for (int j=0;j<3;j++) { - m_c->overUnderFlow[i][j]+=source.m_c->overUnderFlow[i][j]; - } - } - - m_c->xW += source.m_c->xW; - m_c->yW += source.m_c->yW; - m_c->xxW += source.m_c->xxW; - m_c->yyW += source.m_c->yyW; - m_c->xyW += source.m_c->xyW; - m_c->sumWeight += source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (size_t i=0;i<m_c->nBinsX;i++) { - for (size_t j=0; j<m_c->nBinsY;j++) { - size_t k = ii(i,j); - m_c->contents[k] += source.m_c->contents[k]; - m_c->errors[k] += source.m_c->errors[k]; - } - } - } - return *this; -} - - -// Get the internals: -const Hist2D::Clockwork *Hist2D::clockwork() const { - return m_c; -} - -// Remake this from the interals: -Hist2D::Hist2D(const Clockwork * cw) { - m_c = new Clockwork(*cw); -} - -Hist2D::Hist2D( const Hist2D & source) { - m_c = new Clockwork(*source.m_c); -} - -Hist2D & Hist2D::operator = (const Hist2D & source ) { - if (this!=&source) { - delete m_c; - m_c = new Clockwork(*source.m_c); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp b/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp deleted file mode 100644 index c126875c49b..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2DMaker.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" - - - -class Hist2DMaker::Clockwork { - -public: - - Genfun::AbsFunction *fX; - size_t nBinsX; - double minX; - double maxX; - Genfun::AbsFunction *fY; - size_t nBinsY; - double minY; - double maxY; - const Genfun::AbsFunction *w; - -}; - - -Hist2DMaker::Hist2DMaker (Genfun::GENFUNCTION fX, size_t nBinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, size_t nBinsY, double minY, double maxY, - const Genfun::AbsFunction *weight) : - m_c(new Clockwork()) { - m_c->fX = fX.clone(); - m_c->nBinsX = nBinsX; - m_c->minX = minX; - m_c->maxX = maxX; - m_c->fY = fY.clone(); - m_c->nBinsY = nBinsY; - m_c->minY = minY; - m_c->maxY = maxY; - m_c->w = weight ? weight->clone() : NULL; -} - -Hist2DMaker::~Hist2DMaker() { - delete m_c->fX; - delete m_c->fY; - delete m_c->w; - delete m_c; -} - - -Hist2D Hist2DMaker::operator * (const Table & table) const { - - - Hist2D h(table.name(), - m_c->nBinsX, m_c->minX, m_c->maxX, - m_c->nBinsY, m_c->minY, m_c->maxY); - - - - - for (size_t t=0; ; t++) { - - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - if (m_c->w) { - Genfun::GENFUNCTION W = *m_c->w; - h.accumulate((*(m_c->fX))(a), (*(m_c->fY))(a), W(a)); - } - else { - h.accumulate((*(m_c->fX))(a), (*(m_c->fY))(a)); - } - } - return h; -} - - diff --git a/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp b/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp deleted file mode 100644 index bc0a7110c60..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp +++ /dev/null @@ -1,181 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/HistSetMaker.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Attribute.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/Argument.hh" -class HistSetMaker::Clockwork { - -public: - - struct Hist1DDescriptor { - Hist1DDescriptor() :name{},f(NULL),nBins(0),min(0.0),max(0.0),hist(NULL),weight(NULL) {} - std::string name; - Genfun::AbsFunction *f; - unsigned int nBins; - double min; - double max; - Hist1D *hist; - const Genfun::AbsFunction *weight; - }; - - - struct Hist2DDescriptor { - Hist2DDescriptor() :name{},fX(NULL),nBinsX(0),minX(0.0),maxX(0.0), - fY(NULL),nBinsY(0),minY(0.0),maxY(0.0),hist(NULL),weight(NULL) {} - std::string name; - Genfun::AbsFunction *fX; - unsigned int nBinsX; - double minX; - double maxX; - Genfun::AbsFunction *fY; - unsigned int nBinsY; - double minY; - double maxY; - Hist2D *hist; - const Genfun::AbsFunction *weight; - }; - - std::vector<Hist1DDescriptor> hist1DList; - std::vector<Hist2DDescriptor> hist2DList; -}; - -HistSetMaker::HistSetMaker():m_c(new Clockwork()){ -} - -void HistSetMaker::scheduleHist1D(const std::string & name, Genfun::GENFUNCTION f, unsigned int nbins, double min, double max, const Genfun::AbsFunction *w) { - Clockwork::Hist1DDescriptor descriptor; - m_c->hist1DList.push_back(descriptor); - m_c->hist1DList.back().name=name; - m_c->hist1DList.back().f= f.clone(); - m_c->hist1DList.back().nBins= nbins; - m_c->hist1DList.back().min = min; - m_c->hist1DList.back().max = max; - m_c->hist1DList.back().weight = w ? w->clone(): NULL; -} - -void HistSetMaker::scheduleHist2D(const std::string & name, - Genfun::GENFUNCTION fX, unsigned int nbinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, unsigned int nbinsY, double minY, double maxY, - const Genfun::AbsFunction *w) { - Clockwork::Hist2DDescriptor descriptor; - m_c->hist2DList.push_back(descriptor); - m_c->hist2DList.back().name=name; - m_c->hist2DList.back().fX= fX.clone(); - m_c->hist2DList.back().nBinsX= nbinsX; - m_c->hist2DList.back().minX = minX; - m_c->hist2DList.back().maxX = maxX; - m_c->hist2DList.back().fY= fY.clone(); - m_c->hist2DList.back().nBinsY= nbinsY; - m_c->hist2DList.back().minY = minY; - m_c->hist2DList.back().maxY = maxY; - m_c->hist2DList.back().weight = w ? w->clone(): NULL; -} - -HistSetMaker::~HistSetMaker() { - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - delete m_c->hist1DList[i].f; - delete m_c->hist1DList[i].weight; - } - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - delete m_c->hist2DList[i].fX; - delete m_c->hist2DList[i].fY; - delete m_c->hist2DList[i].weight; - } - delete m_c; -} - - -void HistSetMaker::exec (const Table & table, HistogramManager *m) const { - - // Make some histograms; - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - m_c->hist1DList[i].hist = m->newHist1D(m_c->hist1DList[i].name, - m_c->hist1DList[i].nBins, - m_c->hist1DList[i].min, - m_c->hist1DList[i].max); - } - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - m_c->hist2DList[i].hist = m->newHist2D(m_c->hist2DList[i].name, - m_c->hist2DList[i].nBinsX, - m_c->hist2DList[i].minX, - m_c->hist2DList[i].maxX, - m_c->hist2DList[i].nBinsY, - m_c->hist2DList[i].minY, - m_c->hist2DList[i].maxY); - } - - // Do not worry about cleaning up that memory. Histograms are - // owned by the manager! - for (unsigned int t=0; ; t++) { - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - if (m_c->hist1DList[i].weight) { - Genfun::GENFUNCTION W=*m_c->hist1DList[i].weight; - m_c->hist1DList[i].hist->accumulate((*(m_c->hist1DList[i].f))(a),W(a)); - } - else { - m_c->hist1DList[i].hist->accumulate((*(m_c->hist1DList[i].f))(a)); - } - } - - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - if (m_c->hist2DList[i].weight) { - Genfun::GENFUNCTION W=*m_c->hist2DList[i].weight; - m_c->hist2DList[i].hist->accumulate((*(m_c->hist2DList[i].fX))(a), (*(m_c->hist2DList[i].fY))(a) ,W(a) ); - } - else { - m_c->hist2DList[i].hist->accumulate((*(m_c->hist2DList[i].fX))(a), (*(m_c->hist2DList[i].fY))(a) ); - } - - } - - } - - -} - - -// Number of Histograms: -unsigned int HistSetMaker::numH1D() const { - return m_c->hist1DList.size(); -} -unsigned int HistSetMaker::numH2D() const{ - return m_c->hist2DList.size(); -} - -// Name of Histograms -const std::string & HistSetMaker::nameH1D(unsigned int i) const { - return m_c->hist1DList[i].name; -} -const std::string & HistSetMaker::nameH2D(unsigned int i) const { - return m_c->hist2DList[i].name; -} diff --git a/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp b/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp deleted file mode 100644 index f5409ce9ead..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp +++ /dev/null @@ -1,235 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/HistogramManager.h" -#include <algorithm> - -HistogramManager::HistogramManager(const std::string & name): m_name(name) { -} - - -const std::string & HistogramManager::name() const { - return m_name; -} - - -std::string & HistogramManager::name() { - return m_name; -} - - -HistogramManager::H1Iterator HistogramManager::beginH1() { - return m_histograms.begin(); -} - -HistogramManager::H1Iterator HistogramManager::endH1() { - return m_histograms.end(); -} - -HistogramManager::H1ConstIterator HistogramManager::beginH1() const{ - return m_histograms.begin(); -} - -HistogramManager::H1ConstIterator HistogramManager::endH1() const { - return m_histograms.end(); -} - -HistogramManager::H2Iterator HistogramManager::beginH2() { - return m_scatterPlots.begin(); -} - -HistogramManager::H2Iterator HistogramManager::endH2() { - return m_scatterPlots.end(); -} - -HistogramManager::H2ConstIterator HistogramManager::beginH2() const{ - return m_scatterPlots.begin(); -} - -HistogramManager::H2ConstIterator HistogramManager::endH2() const { - return m_scatterPlots.end(); -} - -HistogramManager::DIterator HistogramManager::beginDir() { - return m_managers.begin(); -} - -HistogramManager::DIterator HistogramManager::endDir() { - return m_managers.end(); -} - -HistogramManager::DConstIterator HistogramManager::beginDir() const{ - return m_managers.begin(); -} - -HistogramManager::DConstIterator HistogramManager::endDir() const { - return m_managers.end(); -} - -HistogramManager::TIterator HistogramManager::beginTable() { - return m_tables.begin(); -} - -HistogramManager::TIterator HistogramManager::endTable() { - return m_tables.end(); -} - -HistogramManager::TConstIterator HistogramManager::beginTable() const{ - return m_tables.begin(); -} - -HistogramManager::TConstIterator HistogramManager::endTable() const { - return m_tables.end(); -} - -const Hist1D *HistogramManager::findHist1D(const std::string & name) const{ - H1ConstIterator i = std::find_if(m_histograms.begin(),m_histograms.end(), NameEq(name)); - if (i!=m_histograms.end()) return *i; - else return NULL; -} - -const Hist2D *HistogramManager::findHist2D(const std::string & name) const{ - H2ConstIterator i = std::find_if(m_scatterPlots.begin(),m_scatterPlots.end(), NameEq(name)); - if (i!=m_scatterPlots.end()) return *i; - else return NULL; -} - -const HistogramManager *HistogramManager::findDir(const std::string & name) const { - DConstIterator i = std::find_if(m_managers.begin(),m_managers.end(), NameEq(name)); - if (i!=m_managers.end()) return *i; - else return NULL; -} - -const Table *HistogramManager::findTable(const std::string & name) const { - TConstIterator i = std::find_if(m_tables.begin(),m_tables.end(), NameEq(name)); - if (i!=m_tables.end()) return *i; - else return NULL; -} - - - - -Hist1D *HistogramManager::newHist1D(const std::string & name, unsigned int nBins, double min, double max) { - purge(name); - Hist1D * newHist = new Hist1D(name,nBins,min, max); - m_histograms.push_back(newHist); - m_histograms.sort(SortByName()); - return newHist; -} - -Hist1D *HistogramManager::newHist1D(const Hist1D & source) { - purge(source.name()); - Hist1D * newHist = new Hist1D(source); - m_histograms.push_back(newHist); - m_histograms.sort(SortByName()); - return newHist; -} - -Table *HistogramManager::newTable(const Table & source) { - - - purge(source.name()); - Table * newTable = new Table(source); - m_tables.push_back(newTable); - m_tables.sort(SortByName()); - return newTable; -} - -Hist2D *HistogramManager::newHist2D(const std::string & name, unsigned int nBinsX, double minX, double maxX, - unsigned int nBinsY, double minY, double maxY) { - - purge(name); - Hist2D *newHist = new Hist2D(name,nBinsX,minX, maxX, nBinsY, minY, maxY); - m_scatterPlots.push_back(newHist); - m_scatterPlots.sort(SortByName()); - return newHist; -} - -Hist2D *HistogramManager::newHist2D(const Hist2D & source) { - purge(source.name()); - Hist2D * newHist = new Hist2D(source); - m_scatterPlots.push_back(newHist); - m_scatterPlots.sort(SortByName()); - return newHist; -} - - - - -Table *HistogramManager::newTable(const std::string & name, TupleStoreLink store) { - purge (name); - Table *t = store ? new Table(name,store): new Table(name); - m_tables.push_back(t); - m_tables.sort(SortByName()); - return t; -} - - -HistogramManager *HistogramManager::newDir(const std::string & name) { - purge (name); - HistogramManager *t = new HistogramManager(name); - m_managers.push_back(t); - m_managers.sort(SortByName()); - return t; -} - - -void HistogramManager::nameOrder() { - // Sort tables: Other objects already ordered. - m_tables.sort(SortByName()); -} - -void HistogramManager::purge(const std::string & name) { - - H1Iterator doomedHistogram = std::find_if(m_histograms.begin(),m_histograms.end(), NameEq(name)); - if (doomedHistogram!=m_histograms.end()) { - delete *doomedHistogram; - m_histograms.erase(doomedHistogram); - } - - H2Iterator doomedScatterPlot = std::find_if(m_scatterPlots.begin(),m_scatterPlots.end(), NameEq(name)); - if (doomedScatterPlot!=m_scatterPlots.end()) { - delete *doomedScatterPlot; - m_scatterPlots.erase(doomedScatterPlot); - } - - TIterator doomedTable = std::find_if(m_tables.begin(),m_tables.end(), NameEq(name)); - if (doomedTable!=m_tables.end()) { - delete *doomedTable; - m_tables.erase(doomedTable); - } - - DIterator doomedDir = std::find_if(m_managers.begin(),m_managers.end(), NameEq(name)); - if (doomedDir!=m_managers.end()) { - delete *doomedDir; - m_managers.erase(doomedDir); - } -} - - - -HistogramManager::~HistogramManager() { - for (H1Iterator i=m_histograms.begin(); i!=m_histograms.end(); i++) delete *i; - for (DIterator i=m_managers.begin(); i!=m_managers.end(); i++) delete *i; - for (H2Iterator i=m_scatterPlots.begin(); i!=m_scatterPlots.end();i++) delete *i; - for (TIterator i=m_tables.begin(); i!=m_tables.end(); i++) delete *i; -} diff --git a/graphics/Qat/QatDataAnalysis/src/IODriver.cpp b/graphics/Qat/QatDataAnalysis/src/IODriver.cpp deleted file mode 100644 index 877e8a57863..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/IODriver.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IODriver.h" - -IODriver::IODriver () {} - -IODriver::~IODriver() {} - diff --git a/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp b/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp deleted file mode 100644 index be86c7c9001..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp +++ /dev/null @@ -1,158 +0,0 @@ -// ---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IOLoader.h" -#include <iostream> -#include <map> -#include <sstream> -#include <unistd.h> -#include <dirent.h> -#include <dlfcn.h> -#include <cstdlib> -#include <cstring> -#include <cerrno> -#include <cstdio> -class IOLoader::Clockwork { -public: - //Creation method is a function pointer taking no parameters and returning void * - typedef void * (*CreationMethod) (); - //could use: 'using CreationMethod = void* (*)();', or just use std::function<> instead of pointer - std::string _loadFileName; - - std::map<std::string, CreationMethod> _create; - std::map<std::string, const IODriver *> _driver; - - void - loadDrivers() { - // - // This is only for atlas: - // - char *ldlibpath_env = getenv("LD_LIBRARY_PATH"); - char *ldlibpath = ldlibpath_env ? strdup(ldlibpath_env) : NULL; - - if (ldlibpath) { - char *thisDir = strtok(ldlibpath, (char *) ":"); - int nLoaded = 0; - while (thisDir) { - DIR *directory = opendir(thisDir); - if (directory) { - dirent *entry = readdir(directory); - while (entry) { - std::string name = entry->d_name; - std::string path = thisDir + std::string("/") + name; - std::string basename, extension; - size_t dotpos = name.find_last_of('.'); - if (dotpos != name.npos) { - extension = name.substr(dotpos); - basename = name.substr(0, dotpos); - } - - std::string shortName; - - // Here is a list of known drivers. This is not nice but neither - // is CMT... - - if (name == "libQoot.so") { - shortName = "RootDriver"; - } - if (name == "libQHDF5.so") { - shortName = "HDF5Driver"; - } - - // .. and their is only one driver on the list.. - if (shortName != "") { - if (_create.find(shortName) == _create.end()) { - std::string createFunctionName; - createFunctionName = shortName + "Create"; - - void *handle = dlopen(path.c_str(), RTLD_LAZY); - if (!handle) { - std::cerr << dlerror() << std::endl; - free(ldlibpath);ldlibpath=nullptr; - int retVal = closedir(directory); - if (retVal !=0){ - std::cerr<<"Failed to close directory in "<<__FILE__<<std::endl; - } - return; - } - - CreationMethod createMethod; - union { - CreationMethod func; - void *data; - } sym; - - sym.data = dlsym(handle, createFunctionName.c_str()); - createMethod = sym.func; - _create[shortName] = createMethod; - if (!createMethod) { - std::cout << basename << " load failed" << std::endl; - }else { - nLoaded++; - if (nLoaded == 2) { - break; - } - } - } - } - entry = readdir(directory); - } - closedir(directory); - if (nLoaded == 2) { - break; - } - }else { - // perror(NULL); - } - thisDir = strtok(NULL, (char *) ":"); - } - free(ldlibpath);ldlibpath=nullptr; - } - } -}; - -IOLoader::IOLoader() : m_c(new Clockwork()) { - m_c->loadDrivers(); -} - -IOLoader::~IOLoader() { - delete m_c; -} - -const IODriver * -IOLoader::ioDriver(const std::string &name) const { - std::map<std::string, const IODriver *>::iterator d = m_c->_driver.find(name); - - if (d == m_c->_driver.end()) { - std::map<std::string, Clockwork::CreationMethod>::iterator m = m_c->_create.find(name); - if (m != m_c->_create.end()) { - Clockwork::CreationMethod createMethod = (*m).second; - IODriver *driver = (IODriver *) (*createMethod)(); - m_c->_driver[name] = driver; - return driver; - }else { - return NULL; - } - }else { - return (*d).second; - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/Makefile b/graphics/Qat/QatDataAnalysis/src/Makefile deleted file mode 100644 index 4ac7b226052..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -THISDIR = QatDataAnalysis -MFILES = - -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.common -LOADLIBES+=-lCLHEP - diff --git a/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp b/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp deleted file mode 100644 index 27ccf143ad9..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp +++ /dev/null @@ -1,139 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/MultiHistFileManager.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/IODriver.h" -#include <fstream> -#include <iomanip> -#include <algorithm> -#include <cstdlib> -#include <climits> - -MultiHistFileManager::MultiHistFileManager() -{ -} - -MultiHistFileManager::~MultiHistFileManager(){ - for (unsigned int i=0; i<m_outputFileManager.size(); i++) { - m_outputDrivers[i]->write(m_outputFileManager[i]); - m_outputDrivers[i]->close(m_outputFileManager[i]); - delete m_outputFileManager[i]; - } - for (unsigned int i=0; i<m_inputFileManager.size(); i++) { - m_inputDrivers[i]->close(m_inputFileManager[i]); - delete m_inputFileManager[i]; - } -} - -int MultiHistFileManager::getNumInputManagers() { - return m_inputFileManager.size(); -} - -const HistogramManager *MultiHistFileManager::getInputFileManager(int i) const { - return m_inputFileManager[i]; -} - -std::string MultiHistFileManager::getInputFileName(int i) const { - return m_inputFileName[i]; -} - -MultiHistFileManager::FileFormat MultiHistFileManager::getInputFileFormat(int i) const { - return m_inputFileFormat[i]; -} - -int MultiHistFileManager::getNumOutputManagers() { - return m_outputFileManager.size(); -} - -HistogramManager *MultiHistFileManager::getOutputFileManager(int i) const { - return m_outputFileManager[i]; -} - -std::string MultiHistFileManager::getOutputFileName(int i) const { - return m_outputFileName[i]; -} - -MultiHistFileManager::FileFormat MultiHistFileManager::getOutputFileFormat(int i) const { - return m_outputFileFormat[i]; -} - -MultiHistFileManager::Status MultiHistFileManager::addInputFileManager (std::string name) { - - const IODriver *pvsdriver = m_loader.ioDriver("PVSDriver"); - if (pvsdriver) { - const HistogramManager *manager = pvsdriver->openManager(name); - if (manager) { - m_inputFileManager.push_back(manager); - m_inputFileFormat.push_back(NATIVE); - m_inputFileName.push_back(name); - m_inputDrivers.push_back(pvsdriver); - return NORMAL; - } - } - const IODriver *rootdriver = m_loader.ioDriver("RootDriver"); - if (rootdriver) { - const HistogramManager *manager = rootdriver->openManager(name); - if (manager) { - m_inputFileManager.push_back(manager); - m_inputFileFormat.push_back(ROOT); - m_inputFileName.push_back(name); - m_inputDrivers.push_back(rootdriver); - return NORMAL; - } - } - return ERROR; -} - - - -MultiHistFileManager::Status MultiHistFileManager::addOutputFileManager (std::string name) { - - if (name.find(".pvs")!= name.npos) { - const IODriver *pvsdriver = m_loader.ioDriver("PVSDriver"); - if (pvsdriver) { - HistogramManager *manager = pvsdriver->newManager(name); - if (manager) { - m_outputFileManager.push_back(manager); - m_outputFileFormat.push_back(NATIVE); - m_outputFileName.push_back(name); - m_outputDrivers.push_back(pvsdriver); - return NORMAL; - } - } - } - else { - const IODriver *rootdriver = m_loader.ioDriver("RootDriver"); - if (rootdriver) { - HistogramManager *manager = rootdriver->newManager(name); - if (manager) { - m_outputFileManager.push_back(manager); - m_outputFileFormat.push_back(ROOT); - m_outputFileName.push_back(name); - m_outputDrivers.push_back(rootdriver); - return NORMAL; - } - } - } - return ERROR; -} - diff --git a/graphics/Qat/QatDataAnalysis/src/OptParse.cpp b/graphics/Qat/QatDataAnalysis/src/OptParse.cpp deleted file mode 100644 index 06987815beb..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/OptParse.cpp +++ /dev/null @@ -1,385 +0,0 @@ -#include <string> -#include <stdexcept> -#include <iostream> -#include <sstream> -#include "QatDataAnalysis/OptParse.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/IOLoader.h" -#include "QatDataAnalysis/IODriver.h" - - -inline std::string getDriver(std::string driverName) { - // Rules: - if (driverName!="") { - return driverName; - } - else { - char *dn=getenv("QAT_IO_DRIVER"); - if (dn) { - return std::string(dn); - } - else { - char *cmt=getenv("CMTPATH"); - if (cmt) { - return "RootDriver"; - } - else { - return "HDF5Driver"; - } - } - } -} - - - -class HIOZeroToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOZeroToOne::HIOZeroToOne(const std::string & driver):output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a driver. Possible installation problem"); -} - -HIOZeroToOne::~HIOZeroToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - delete m_c; -} - -void HIOZeroToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIOZeroToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!output) throw std::runtime_error("HIOZeroToOne options parse error" ); -} - - -class HIOOneToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOOneToOne::HIOOneToOne(const std::string & driver):input(NULL),output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a driver. Possible installation problem"); -} - -HIOOneToOne::~HIOOneToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - if (input) m_c->driver->close(input); - delete m_c; -} - -void HIOOneToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIOOneToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-i") { - i++; - if (i<argc) { - if (input) { - throw std::runtime_error("HIOOneToOne two input files specified" ); - } - else { - input = m_c->driver->openManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse input file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!output) throw std::runtime_error("HIOOneToOne options parse error" ); - if (!input) throw std::runtime_error("HIOOneToOne no input file" ); -} - -class HIOOneToZero::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOOneToZero::HIOOneToZero(const std::string & driver):input(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIOOneToZero::~HIOOneToZero() { - if (input) m_c->driver->close(input); - delete m_c; -} - -void HIOOneToZero::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-i") { - i++; - if (i<argc) { - if (input) { - throw std::runtime_error("HIOOneToZero two input files specified" ); - } - else { - input = m_c->driver->openManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse input file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!input) throw std::runtime_error("HIOOneToZero no input file" ); -} - - -class HIONToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIONToOne::HIONToOne(const std::string & driver):output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIONToOne::~HIONToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - for (unsigned int i=0;i<input.size();i++) m_c->driver->close(input[i]); - delete m_c; -} - -void HIONToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIONToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - else { - if (std::string(argv[i]).find('=')==std::string(argv[i]).npos) { - const HistogramManager *manager=m_c->driver->openManager(argv[i]); - if (manager) input.push_back(manager); - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } - if (!input.size()) throw std::runtime_error("HIONToOne no input file" ); - if (!output) throw std::runtime_error("HIONToOne options parse error" ); -} - -class HIONToZero::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIONToZero::HIONToZero(const std::string & driver):verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIONToZero::~HIONToZero() { - for (unsigned int i=0;i<input.size();i++) m_c->driver->close(input[i]); - delete m_c; -} - -void HIONToZero::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - else { - if (std::string(argv[i]).find('=')==std::string(argv[i]).npos) { - const HistogramManager *manager=m_c->driver->openManager(argv[i]); - if (manager) input.push_back(manager); - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } - if (!input.size()) throw std::runtime_error("HIONToZero no input file" ); -} - - -class NumericInput::Clockwork { -public: - - - - struct InputData { - std::string name; - std::string doc; - double value; - }; - - - std::vector<InputData> inputData; - bool modParameter (const std::string & modifier); - -}; - -bool NumericInput::Clockwork::modParameter (const std::string & modifier) { - // Parse modifier - size_t pos = modifier.find('='); - if (pos==modifier.npos) { - return false; - } - else { - std::string variable = modifier.substr(0,pos); - std::string value = modifier.substr(pos+1,modifier.npos); - std::istringstream valueStream(value); - double val; - valueStream >> val; - if (!valueStream) return false; - for (unsigned int i=0;i<inputData.size();i++) { - std::string trimmedVar= (inputData[i].name.substr(0,inputData[i].name.find(' '))); - if (trimmedVar==variable) { - inputData[i].value=val; - return true; - } - } - - return false; - } -} - - -NumericInput::NumericInput() :m_c(new Clockwork()) { -} - -NumericInput::~NumericInput() { - delete m_c; -} - - -std::string NumericInput::usage() const { - std::ostringstream stream; - stream << "Parameter usage" << std::endl; - for (unsigned int i = 0; i< m_c->inputData.size();i++) { - stream << m_c->inputData[i].name << " " << m_c->inputData[i].doc << '\t' << m_c->inputData[i].value << std::endl; - } - return stream.str(); - -} -void NumericInput::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - std::string thisArg(argv[i]); - if (thisArg.find("=")!=thisArg.npos) { - if (!m_c->modParameter(thisArg)) { - throw std::runtime_error("Cannot modify parameter "+ thisArg); - } else { - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } -} - - -void NumericInput::declare(const std::string & name, const std::string & doc, double val){ - Clockwork::InputData data; - data.name=name; - data.doc =doc; - data.value=val; - m_c->inputData.push_back(data); -} - -double NumericInput::getByName (const std::string & name) const { - for (unsigned int i=0;i<m_c->inputData.size();i++) { - std::string trimmedVar= (m_c->inputData[i].name.substr(0,m_c->inputData[i].name.find(' '))); - if (trimmedVar==name) { - return m_c->inputData[i].value; - } - } - //something wrong if you reached here - throw std::runtime_error("Cannot parse parameter " + name); -} - diff --git a/graphics/Qat/QatDataAnalysis/src/Projection.cpp b/graphics/Qat/QatDataAnalysis/src/Projection.cpp deleted file mode 100644 index 6a5bceae10b..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Projection.cpp +++ /dev/null @@ -1,145 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Projection.h" -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/Table.h" -#include <sstream> -#include <typeinfo> - - -class ProjectionStore: public TupleStore { - -public: - - // Constructor: - ProjectionStore(TupleStoreConstLink StoreA, AttributeListConstLink BList, const std::vector<int> & Dist): - m_opA(StoreA),m_bList(BList),m_ssize(-1),m_dist(Dist){ - - } - - // For input: - virtual TupleConstLink operator [](size_t i) const { - - TupleConstLink t = ((*m_opA)[i]); - if (!t) return NULL; - - TupleLink xt = new Tuple(m_bList); - for (unsigned int i=0;i<m_dist.size();i++) { - xt->valueList().add(t->valueList()[m_dist[i]]); - } - return xt; - } - - // Get the size: - virtual size_t size() const { - - if (m_ssize<0) { - m_ssize=m_opA->size(); - } - return m_ssize; - } - -private: - - // Destructor: - virtual ~ProjectionStore() { - } - - TupleStoreConstLink m_opA; - AttributeListConstLink m_bList; - mutable int m_ssize; - std::vector<int> m_dist; - - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; -}; - - -Table Projection::operator * (const Table & table) const -{ - - AttributeListLink bList = new AttributeList(); - - // Add an entry - - std::vector<int> dist; - - for (AttributeList::ConstIterator a = table.attributeList()->begin();a!= table.attributeList()->end();a++) { - std::string name = (*a).name(); - if (std::find(m_nameList.begin(),m_nameList.end(),name)!=m_nameList.end()) { - - //int distance = a-table.attributeList()->begin(); - dist.push_back((*a).attrId()); - - if ((*a).type()==Attribute::DOUBLE) { - bList->add(name,typeid(double(0))); - } - else if ((*a).type()==Attribute::FLOAT) { - bList->add(name,typeid(float(0))); - } - else if ((*a).type()==Attribute::INT) { - bList->add(name,typeid(int(0))); - } - else if ((*a).type()==Attribute::UINT) { - bList->add(name,typeid(size_t(0))); - } - else { - throw std::runtime_error("Error unknown type in projection operation"); - } - } - } - - const ProjectionStore *newStore = new ProjectionStore(table.store(),bList,dist); - - Table t(table.name(),newStore); - return t; -} - - - -Projection::Projection () -{ - m_nameList.insert(std::string("Entry")); -} - -Projection::~Projection () { - -} - -Projection::Projection(const Projection & projection): - m_nameList(projection.m_nameList) -{ -} - -Projection & Projection::operator = (const Projection & projection) { - if (&projection != this) { - m_nameList=projection.m_nameList; - } - return *this; -} - -void Projection::add (const std::string & name) { - m_nameList.insert (name); -} diff --git a/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp b/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp deleted file mode 100644 index 36ba9757805..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "QatDataAnalysis/QatUtils.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" -void deepCopy(const HistogramManager *input, HistogramManager *output) { - for (HistogramManager::DConstIterator d=input->beginDir();d!=input->endDir();d++) { - HistogramManager *newDir=output->newDir((*d)->name()); - deepCopy(*d,newDir); - } - - for (HistogramManager::H1ConstIterator d=input->beginH1();d!=input->endH1();d++) { - output->newHist1D(**d); - } - - for (HistogramManager::H2ConstIterator d=input->beginH2();d!=input->endH2();d++) { - output->newHist2D(**d); - } - - for (HistogramManager::TConstIterator d=input->beginTable();d!=input->endTable();d++) { - output->newTable(**d); - } - -} diff --git a/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp b/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp deleted file mode 100644 index debc270c06f..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp +++ /dev/null @@ -1,65 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/RCSBase.h" - -RCSBase::RCSBase() - : m_count(0) -{ -} - - -RCSBase::~RCSBase() -{ -} - - - -void RCSBase::ref() const -{ - m_count++; -} - -void RCSBase::unref() const -{ - if (!m_count) - { - - } - else - { - m_count--; - if (m_count==1) uncache(); - if (!m_count) delete this; - } - -} - -unsigned int RCSBase::refCount() const -{ - return m_count; -} - -void RCSBase::uncache() const { -} - - diff --git a/graphics/Qat/QatDataAnalysis/src/Selection.cpp b/graphics/Qat/QatDataAnalysis/src/Selection.cpp deleted file mode 100644 index fd0e44bfe50..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Selection.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Selection.h" -#include "QatDataAnalysis/TupleConstLink.h" -class SelectionStore: public TupleStore { - -public: - - // Constructor: - SelectionStore(TupleStoreConstLink StoreA, const Cut<Tuple> & Cut): - m_opA(StoreA),m_cut(Cut.clone()),m_ssize(-1),m_lastAccess(-1),m_lastAddress(-1) { - } - - // For input: - virtual TupleConstLink operator [](size_t i) const { - - unsigned int asize = (*m_opA).size(); - unsigned int address = (int(i)>m_lastAccess) ? m_lastAddress+1: 0; - - while (address<asize) { - TupleConstLink t = ((*m_opA)[address]); - if ((*m_cut)(*t)) { - m_lastAddress=address; - m_lastAccess=i; - return t; - } - address++; - } - return NULL; - } - - // Get the size: - virtual size_t size() const { - - if (m_ssize<0) { - m_ssize=0; - for (unsigned int i=0;i<m_opA->size();i++) { - if ((*m_cut)(*(*m_opA)[i])) m_ssize++; - } - } - return m_ssize; - } - -private: - - // Destructor: - virtual ~SelectionStore() { - delete m_cut; - } - - TupleStoreConstLink m_opA; - Cut<Tuple> *m_cut; - mutable int m_ssize; - mutable int m_lastAccess; - mutable int m_lastAddress; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; -}; - - - - -Selection::Selection (const Cut<Tuple> & cut): -m_cut(cut.clone()) -{ -} - -Selection::~Selection () { - delete m_cut; -} - -Selection::Selection(const Selection & selection): - m_cut(selection.m_cut->clone()) -{ -} - -Table Selection::operator * (const Table & table) const -{ - TupleStoreLink newStore = new SelectionStore(table.store(),*m_cut); - Table t(table.name(), newStore); - return t; -} - -Selection & Selection::operator = (const Selection & selection) { - if (&selection != this) { - delete m_cut; - m_cut=selection.m_cut->clone(); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp b/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp deleted file mode 100644 index a0148309454..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// Implementation of the ServerSocket class - -#include "QatDataAnalysis/ServerSocket.h" -#include "QatDataAnalysis/SocketException.h" - - -ServerSocket::ServerSocket ( int port ) -{ - if ( ! Socket::create() ) - { - throw SocketException ( "Could not create server socket." ); - } - - if ( ! Socket::bind ( port ) ) - { - throw SocketException ( "Could not bind to port." ); - } - - if ( ! Socket::listen() ) - { - throw SocketException ( "Could not listen to socket." ); - } - -} - -ServerSocket::~ServerSocket() -{ -} - - -const ServerSocket& ServerSocket::operator << ( const std::string& s ) const -{ - if ( ! Socket::send ( s ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -const ServerSocket& ServerSocket::operator >> ( std::string& s ) const -{ - if ( ! Socket::recv ( s ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - -void ServerSocket::accept ( ServerSocket& sock ) -{ - if ( ! Socket::accept ( sock ) ) - { - throw SocketException ( "Could not accept socket." ); - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/Socket.cpp b/graphics/Qat/QatDataAnalysis/src/Socket.cpp deleted file mode 100644 index 74ced40f4f6..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Socket.cpp +++ /dev/null @@ -1,194 +0,0 @@ -// Implementation of the Socket class. - - -#include "QatDataAnalysis/Socket.h" -#include "string.h" -#include <string.h> -#include <errno.h> -#include <fcntl.h> -#include <iostream> - - -Socket::Socket() : - m_sock ( -1 ) -{ - - memset ( &m_addr, - 0, - sizeof ( m_addr ) ); - -} - -Socket::~Socket() -{ - if ( is_valid() ) - ::close ( m_sock ); -} - -bool Socket::create() -{ - m_sock = socket ( AF_INET, - SOCK_STREAM, - 0 ); - - if ( ! is_valid() ) - return false; - - - // TIME_WAIT - argh - int on = 1; - if ( setsockopt ( m_sock, SOL_SOCKET, SO_REUSEADDR, ( const char* ) &on, sizeof ( on ) ) == -1 ) - return false; - - - return true; - -} - - - -bool Socket::bind ( const int port ) -{ - - if ( ! is_valid() ) - { - return false; - } - - - - m_addr.sin_family = AF_INET; - m_addr.sin_addr.s_addr = INADDR_ANY; - m_addr.sin_port = htons ( port ); - - int bind_return = ::bind ( m_sock, - ( struct sockaddr * ) &m_addr, - sizeof ( m_addr ) ); - - - if ( bind_return == -1 ) - { - return false; - } - - return true; -} - - -bool Socket::listen() const -{ - if ( ! is_valid() ) - { - return false; - } - - int listen_return = ::listen ( m_sock, MAXCONNECTIONS ); - - - if ( listen_return == -1 ) - { - return false; - } - - return true; -} - - -bool Socket::accept ( Socket& new_socket ) const -{ - int addr_length = sizeof ( m_addr ); - new_socket.m_sock = ::accept ( m_sock, ( sockaddr * ) &m_addr, ( socklen_t * ) &addr_length ); - - if ( new_socket.m_sock <= 0 ) - return false; - else - return true; -} - - -bool Socket::send ( const std::string s ) const -{ - int status = ::send ( m_sock, s.c_str(), s.size(), MSG_NOSIGNAL ); - if ( status == -1 ) - { - return false; - } - else - { - return true; - } -} - - -int Socket::recv ( std::string& s ) const -{ - char buf [ MAXRECV + 1 ]; - - s = ""; - - memset ( buf, 0, MAXRECV + 1 ); - - int status = ::recv ( m_sock, buf, MAXRECV, 0 ); - - if ( status == -1 ) - { - std::cout << "status == -1 errno == " << errno << " in Socket::recv\n"; - return 0; - } - else if ( status == 0 ) - { - return 0; - } - else - { - s = buf; - return status; - } -} - - - - - -bool Socket::connect ( const std::string host, const int port ) -{ - if ( ! is_valid() ) return false; - - m_addr.sin_family = AF_INET; - m_addr.sin_port = htons ( port ); - - int status = inet_pton ( AF_INET, host.c_str(), &m_addr.sin_addr ); - - if ( errno == EAFNOSUPPORT ) return false; - - status = ::connect ( m_sock, ( sockaddr * ) &m_addr, sizeof ( m_addr ) ); - - return ( status == 0 ); -} - -void Socket::set_non_blocking ( const bool b ) -{ - - int opts; - - opts = fcntl ( m_sock, - F_GETFL ); - - if ( opts < 0 ) - { - return; - } - - if ( b ) - opts = ( opts | O_NONBLOCK ); - else - opts = ( opts & ~O_NONBLOCK ); - - const int retval=fcntl ( m_sock,F_SETFL,opts ); - if (retval==-1){ - std::cout << "status == -1 in Socket::set_non_blocking of QatDataAnalysis\n"; - } -} - - - diff --git a/graphics/Qat/QatDataAnalysis/src/Table.cpp b/graphics/Qat/QatDataAnalysis/src/Table.cpp deleted file mode 100644 index e7701f88103..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Table.cpp +++ /dev/null @@ -1,198 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/Variable.hh" -#include <iomanip> -#include <stdexcept> - - - -AttributeListConstLink Table::attributeList() const { - if (!m_c->tuple) return AttributeListConstLink(); - return m_c->tuple->attributeList(); -} - -Table::Table(const std::string & name, const TupleStoreLink s): - m_c(new Clockwork) -{ - m_c->name = name; - - // Make a compound table (it is the most general!) - m_c->store=s; - - - if (s->size()==0) { - AttributeListConstLink attributeList=new AttributeList(); - m_c->tuple=new Tuple(attributeList); - } - else { - m_c->tuple = (TupleLink) (*s)[s->size()-1]; - } - -} - -Table::Table(const std::string & name): - m_c(new Clockwork) -{ - m_c->name = name; - - // Assign to Link, will delete automatically. - AttributeListConstLink attributeList=new AttributeList(); - - // Assign to Link, will delete automatically. - m_c->tuple=new Tuple(attributeList); - - // Make a compound table (it is the most general!) - m_c->store=new CompoundStore(); -} - -Table::~Table() { - delete m_c; -} - -TupleConstLink Table::capture() { - - if (!m_c->store->size()) { - - AttributeListLink attListPtr = AttributeListLink(m_c->tuple->attributeList()); - ValueList * valListPtr = & m_c->tuple->valueList(); - AttributeList & attList = *attListPtr; - ValueList & valList = *valListPtr; - - size_t maxNameLength=0; - - // - // Bubble sort both the list of atrributes and their values:--// - // These operations will re-organize the tuple (requiring const_cast). - // - for (unsigned int i = 0; i< attList.size(); i++) { - maxNameLength = std::max(maxNameLength,attList[i].name().size()); - for (unsigned int j = 0; j< attList.size(); j++) { - if (attList[i] < attList[j]) { - std::swap(attList[i], attList[j]); - std::swap(valList[i], valList[j]); - } - } - } - for (unsigned int i=0;i<attList.size();i++) { - m_c->nameList.push_back(attList[i].name()); - attList[i].attrId()=i; - } - } - m_c->store->push_back(m_c->tuple); - m_c->tuple=new Tuple(m_c->tuple->attributeList(),m_c->tuple->valueList()); - - return (*(m_c->store))[m_c->store->size()-1]; -} - -std::ostream & Table::print (std::ostream & o) const { - if (m_c->store->size()==0) return o; - - for (AttributeList::ConstIterator t=m_c->tuple->attributeList()->begin();t!=m_c->tuple->attributeList()->end();t++) { - o << std::setw(10); - o << (*t).name() << " "; - } - o << std::endl; - for (size_t t = 0; t< numTuples();t++) { - (*this)[t]->print(o); - } - return o; -} - - -size_t Table::numAttributes() const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::size. Attribute list not formed"); - return m_c->tuple->attributeList()->size(); -} - - -TupleConstLink Table::operator [] (size_t index) const { - return (*(m_c->store))[index]; - -} - - - -void Table::operator += (const Table & a) { - - CompoundStore *cStore = dynamic_cast<CompoundStore *> (m_c->store.operator->()); - if (!cStore) throw std::runtime_error("Error summing tables: table type?"); - - if (cStore->isLocked()) throw std::runtime_error("Error summing tables: first operand is locked"); - - // Check that both tables are compatible with the union: - - if (!attributeList()||attributeList()->size()==0) { - m_c->tuple=new Tuple(a.attributeList(),a.m_c->tuple->valueList()); - } - - if (a.attributeList()->size()!=attributeList()->size()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - for (unsigned int i=0;i<a.attributeList()->size(); i++) { - if ((*attributeList())[i].name()!=(*a.attributeList())[i].name()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - if ((*attributeList())[i].typeName()!=(*a.attributeList())[i].typeName()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - } - cStore->push_back(a.m_c->store); - - // Once this table has been used in an "operation" it is locked to further modification! - - a.m_c->store->lock(); -} - -Table::Table(const Table & table) : - m_c(new Clockwork(*table.m_c)) -{ -} - -TupleStoreConstLink Table::store() const { - return m_c->store; -} - -Genfun::Variable Table::symbol (const std::string & name) const { - const Attribute & a = attribute(name); - return Genfun::Variable(a.attrId(),numAttributes()); -} - - - -Table *Table::memorize() const{ - - Table *t = new Table(m_c->name); - t->m_c->store=new CompoundStore(); - t->m_c->tuple = m_c->tuple; - - for (unsigned int n=0;n<numTuples();n++) { - TupleConstLink tp=(*m_c->store)[n]; - TupleConstLink nt=new Tuple(tp->attributeList(),tp->valueList()); - t->m_c->store->push_back(nt); - } - return t; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Tuple.cpp b/graphics/Qat/QatDataAnalysis/src/Tuple.cpp deleted file mode 100644 index 803bb9f93a1..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/Tuple.cpp +++ /dev/null @@ -1,122 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Tuple.h" -#include <iomanip> -#include <stdexcept> - -std::ostream & Tuple::print (std::ostream & o) const { - - - for (unsigned int i=0; i<m_attributeList->size();i++) { - o << std::setw(10); - - { - int value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - - { - double value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - { - float value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - { - unsigned int value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - - o << (*m_attributeList)[i].typeName() << "(?)" ; - } - o << std::endl; - return o; -} - - - -const Genfun::Argument & Tuple::asDoublePrec() const { - - // No space has ever been allocated. Allocate it! - if (!m_doubleRep) { - m_doubleRep = new Genfun::Argument(m_attributeList->size()); - // just to be sure: - m_doubleRepStale=true; - } - - if (m_doubleRepStale) { - Genfun::Argument &a = *m_doubleRep; - - unsigned int nAttr=m_attributeList->size(); - for (unsigned int i=0;i<nAttr;i++) { - switch ((*m_attributeList)[i].type()) { - case Attribute::DOUBLE: - { - fastread(a[i],i); - break; - } - case Attribute::FLOAT: - { - float value; - fastread(value,i); - a[i]=value; - break; - } - case Attribute::INT: - { - int value; - fastread(value,i); - a[i]=value; - break; - } - case Attribute::UINT: - { - unsigned int value; - fastread(value,i); - a[i]=value; - break; - } - default: - { - a[i]=0; - } - } - } - m_doubleRepStale=false; - } - return *m_doubleRep; -} - diff --git a/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp b/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp deleted file mode 100644 index df9abb7cebf..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp +++ /dev/null @@ -1,71 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/TupleCut.h" -#include <set> -TupleCut::TupleCut (const TupleCut & right): - Cut<Tuple>(), - m_f(right.m_f->clone()), - m_t(right.m_t), - m_v1(right.m_v1), - m_v2(right.m_v2) -{} - -TupleCut::TupleCut(Genfun::GENFUNCTION f, double min, double max): - m_f(f.clone()), - m_t(NA), - m_v1(min), - m_v2(max) {} - -TupleCut::TupleCut(Genfun::GENFUNCTION f, Type t, double val): -m_f(f.clone()), -m_t(t), -m_v1(val), -m_v2(0) -{ -} - -TupleCut::~TupleCut() { - delete m_f; -} - -TupleCut *TupleCut::clone(void) const { - return new TupleCut(*this); -} - -bool TupleCut::operator () (const Tuple & t) const { - - double fx = (*m_f)(t.asDoublePrec()); - switch (m_t) { - case NA: - return fx >= m_v1 && fx <= m_v2; - case GT: - return fx > m_v1; - case LT: - return fx < m_v1; - case GE: - return fx >= m_v1; - case LE: - return fx <= m_v1; - } - return false; -} diff --git a/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp b/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp deleted file mode 100644 index dbe69225567..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "QatDataAnalysis/TupleStore.h" -#include <stdexcept> -TupleStore::TupleStore(): m_lock(false) { -} -TupleStore::~TupleStore() { -} -void TupleStore::lock() const { - m_lock=true; -} -bool TupleStore::isLocked() const { - return m_lock; -} - -SimpleStore::SimpleStore(){ -} - -SimpleStore::~SimpleStore() { -} - - -TupleConstLink SimpleStore::operator [](size_t i) const { - return m_tVector[i]; -} - -void SimpleStore::push_back(TupleConstLink t) { - - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else { - m_tVector.push_back(t); - } -} - -size_t SimpleStore::size() const { - return m_tVector.size(); -} - - -CompoundStore::CompoundStore(){ -} - -CompoundStore::~CompoundStore() { -} - - -TupleConstLink CompoundStore::operator [](size_t i) const { - unsigned int V=0; - for (unsigned int v=0;v<m_sVector.size();v++) { - if ((i-V)<(*m_sVector[v]).size()) { - return (*m_sVector[v])[i-V]; - } - else { - V+=(*m_sVector[v]).size(); - } - } - return TupleConstLink(); -} - -void CompoundStore::push_back(TupleConstLink t) { - - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else { - SimpleStore *s = m_sVector.empty() ? 0 : dynamic_cast<SimpleStore *> (m_sVector.back().operator ->()) ; - if (!s) { - if (!m_sVector.empty()) (*m_sVector.back()).lock(); - s = new SimpleStore(); - TupleStoreLink sLink(s); - m_sVector.push_back(sLink); - } - s->push_back(t); - } -} -void CompoundStore::push_back(TupleStoreLink t) { - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else if (t.operator->()==this) { - throw std::runtime_error("Attempt to add a compound store to itself"); - } - else { - // Lock the store being added. No more modification possible. - t->lock(); - - // Lock also the last tupleStore, if it exists. - if (!m_sVector.empty()) (*m_sVector.back()).lock(); - - m_sVector.push_back(t); - } -} - -size_t CompoundStore::size() const { - unsigned int total(0); - - for (unsigned int i=0;i<m_sVector.size();i++) { - total+=(*m_sVector[i]).size(); - } - return total; -} diff --git a/graphics/Qat/QatDataAnalysis/src/ValueList.cpp b/graphics/Qat/QatDataAnalysis/src/ValueList.cpp deleted file mode 100644 index 735869be6d1..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/ValueList.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/ValueList.h" diff --git a/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp b/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp deleted file mode 100644 index a40c7c74417..00000000000 --- a/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/*------------------------------------------------------------------------*/ -/* */ -/* Routine to calculate error bars for efficiency plots */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ -#include "QatDataAnalysis/asymmetry.h" -#include <cmath> -double ConfidenceLevel(int M, int N, double x); -double ConfidenceLevel(int M, int N, double x); -double Binomial(int M, int N); -double xsearch(int M, int N, double cl); - -int asymmetry (int M, int N, double & xmean, double & xplus, double & xminus) { - - // No statistics, no information - - if (M==0) return ASYMM_ERROR; - - // Decide which whether to "flip" the problem for efficiency - - int invert=0; - if (N>(M+1)/2) { - N = M-N; - invert = true; - } - - // Find the confidence level of the mean - - double cmean,cplus,cminus; - xmean = double(N)/double (M); - if (M-N>25) { - double p = double(N)/double(M), q= 1.0-p; - xplus = xmean+sqrt(p*q/M); - xminus= xmean-sqrt(p*q/M); - } - else { - if (N==M) cmean=1.0; - else if (N==0) cmean=0.0; - else cmean=ConfidenceLevel(M,N,xmean); - - // Search of upper and lower confidence intervals - - const double OneStd=0.6827; - if (cmean>(1.0-OneStd/2.0)) { - xplus = 1.0; - cminus = 1-OneStd; - xminus = xsearch(M,N,cminus); - } - else if ((cmean<OneStd/2.0)) { - xminus = 0.0; - cplus = OneStd; - xplus = xsearch(M,N,cplus); - } - else { - cplus = cmean + OneStd/2.0; - cminus = cmean - OneStd/2.0; - xplus = xsearch (M,N,cplus); - xminus = xsearch (M,N,cminus); - } - } - // Now if we "flipped" the problem, then flip it back - - if (invert) { - double xp = xplus, xm=xminus; - xmean = 1.0 - xmean; - xplus = 1.0 - xm; - xminus = 1.0 - xp; - } - - return ASYMM_NORMAL; -} - - -/*------------------------------------------------------------------------*/ -/* */ -/* Search for x when the confidence level of x is given */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ -double xsearch(int M, int N, double cl) { - - double X,interval[2]={0.0,1.0},precision=1.0; - while (precision>0.00001) { - X = (interval[0]+interval[1])/2.0; - precision = (interval[1]-interval[0]); - if (ConfidenceLevel(M,N,X)<cl){ - interval[0]=X; - } - else if (ConfidenceLevel(M,N,X)>cl){ - interval[1]=X; - } - else { - return X; - } - } - return X; -} - -/*------------------------------------------------------------------------*/ -/* */ -/* Search for x when the confidence level of x is given */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ - -double ConfidenceLevel(int M, int N, double x) { - double CL=0.0; - if (x<=0.0) { - return 0.0; - } - else if (CL>=1.0) { - return 1.0; - } - else if (N<(M+1)/2) { - CL = 1.0; - for (int i=0;i<=N;i++) CL -= (Binomial(M+1,i)*pow(x,i)*pow(1.0-x,M+1-i)); - return CL; - } - else { - for (int i=N+1;i<=M+1;i++) CL += (Binomial(M+1,i)*pow(x,i)*pow(1.0-x,M+1-i)); - return CL; - } -} - -/*------------------------------------------------------------------------*/ -/* */ -/* Binomial coefficients from the C math library */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ - -double Binomial(int M, int N){ - return floor(0.5 + exp(lgamma(double(M+1)) -lgamma(double(N+1)) - lgamma(double(M-N+1)))); -} - diff --git a/graphics/Qat/QatDataModeling/CMakeLists.txt b/graphics/Qat/QatDataModeling/CMakeLists.txt deleted file mode 100644 index 0e70d66009a..00000000000 --- a/graphics/Qat/QatDataModeling/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Package: QatDataModeling -################################################################################ - -# Declare the package name: -atlas_subdir( QatDataModeling ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) - -# Component(s) in the package: -atlas_add_library( QatDataModeling - src/*.cpp - src/*.cc - src/*.F - PUBLIC_HEADERS QatDataModeling - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} - PRIVATE_LINK_LIBRARIES QatDataAnalysis ) - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h b/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h deleted file mode 100644 index 41606b0f10c..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _CHISQ_H_ -#define _CHISQ_H_ -#include "QatDataModeling/ObjectiveFunction.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include <vector> -class ChiSq:public Genfun::AbsFunctional { -public: - - // Constructor - ChiSq(){} - - // Destructor: - ~ChiSq(){} - - // Function Call Operator - virtual double operator [] (const Genfun::AbsFunction & f) const { - double c2=0.0; - for (unsigned int i=0;i<_points.size();i++) { - point p = _points[i]; - double y = f(p.x); - c2 += (p.y-y)*(p.y-y)/p.dy/p.dy; - } - return c2; - } - - // Add a data point: - void addPoint (double x, double y, double dy) { - point p; - p.x=x; - p.y=y; - p.dy=dy; - _points.push_back(p); - } - -private: - struct point { - double x; - double y; - double dy; - }; - - std::vector<point> _points; - -}; -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h b/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h deleted file mode 100644 index 239441476d3..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h +++ /dev/null @@ -1,75 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------*FitFunction*-----------------------// -// // -// Joe Boudreau December 2K // -// Abstract base class for fit functions. These "functions" // -// are actually multiple functions, controlled by the same // -// parameters, or at least having some of the same parameters. // -// This allows us to handle "constrained fits" // -// // -//----------------------------------------------------------------// -#ifndef FitFunction_h_ -#define FitFunction_h_ - -class Hist1D; -namespace Genfun { - class AbsFunction; - class Parameter; -} - - -class FitFunction { - -public: - - // Constructor: - FitFunction(); - - // Destructor: - virtual ~FitFunction(); - - // Get number of parameters: - virtual int getNumParameters() const = 0; - - // Get number of functions: - virtual int getNumFunctions() const = 0; - - // Get i^th parameter - Genfun::Parameter & getParameter(int i); - virtual const Genfun::Parameter & getParameter(int i) const = 0; - - // Get i^th function: - virtual const Genfun::AbsFunction & getFunction(int i) const = 0; - - // Is the i^th function normalized? - virtual bool isIntegrable(int i=0) = 0; - - // Give a hint to the i^th function, where it should start from: - // Do nothing (by default); - virtual void hint (const Hist1D & /*histogram*/, int /*i*/) {;} - - - -}; -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h b/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h deleted file mode 100644 index 2dd71d84f5f..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h +++ /dev/null @@ -1,79 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -//-------------------------------------------------------------// -// // -// This functional returns the ChiSquared of a function // -// with respect to some histogram. // -// // -//-------------------------------------------------------------// - -#ifndef _HistChi2Functional_h_ -#define _HistChi2Functional_h_ -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -class Hist1D; -class HistChi2Functional:public Genfun::AbsFunctional { - -public: - - // Constructor: - HistChi2Functional(const Hist1D * histogram, - double lower=-1E100, - double upper= 1E100, - bool integrate=false); - - // Destructor: - ~HistChi2Functional(); - - // Copy constructor - HistChi2Functional(const HistChi2Functional &); - - // Evaluate ChiSquared of a function w.r.t the histogram - virtual double operator [] (const Genfun::AbsFunction & function) const; - -private: - - const Hist1D *m_histogram; // does not own this histogram. - double m_minValue; // min bin value for fit. - double m_maxValue; // max bin value for fit. - bool m_integrate; // integration flag. - - // These are caches for Histogram-like quantities. They are - // held here because they are expensive to extract from the - // histogram: - - int m_nBins; - float m_min; - float m_max; - float m_delta; - float m_width; - - - // Assignment is illegal: - const HistChi2Functional & operator= (const HistChi2Functional &); - - -}; -#endif - - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h b/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h deleted file mode 100644 index 706a5db991b..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h +++ /dev/null @@ -1,77 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//-------------------------------------------------------------// -// // -// This functional returns the -2.0*log(L) of a function // -// with respect to some histogram. // -// // -//-------------------------------------------------------------// -#ifndef QATDATAMODELING_HISTLIKELIHOODFUNCTIONAL_H -#define QATDATAMODELING_HISTLIKELIHOODFUNCTIONAL_H -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -class Hist1D; -class HistLikelihoodFunctional:public Genfun::AbsFunctional { - -public: - - // Constructor: - HistLikelihoodFunctional(const Hist1D * histogram, - double lower=-1E100, - double upper= 1E100, - bool integrate=false); - - // Destructor: - ~HistLikelihoodFunctional(); - - // Copy constructor - HistLikelihoodFunctional(const HistLikelihoodFunctional &); - - // Evaluate ChiSquared of a function w.r.t the histogram - virtual double operator [] (const Genfun::AbsFunction & function) const; - -private: - - const Hist1D *m_histogram; // does not own this histogram. - double m_minValue; // min bin value for fit. - double m_maxValue; // max bin value for fit. - bool m_integrate; // integration flag. - - // These are caches for Histogram-like quantities. They are - // held here because they are expensive to extract from the - // histogram: - - int m_nBins; - float m_min; - float m_max; - float m_delta; - float m_width; - - - // Assignment is illegal: - const HistLikelihoodFunctional & operator= (const HistLikelihoodFunctional &); - - -}; -#endif - - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h b/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h deleted file mode 100644 index c66ed88e173..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h +++ /dev/null @@ -1,125 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Write this class now. Abstract it later. -#ifndef QATDATAMODELING_MINUITMINIMIZER_H -#define QATDATAMODELING_MINUITMINIMIZER_H -#include <vector> -#include "CLHEP/Matrix/Vector.h" -#include "CLHEP/Matrix/SymMatrix.h" - -namespace Genfun { - class AbsFunctional; - class Parameter; - class AbsFunction; -} - -class ObjectiveFunction; - -class MinuitMinimizer { - -public: - - // Constructor: - MinuitMinimizer (bool verbose=false); - - // Destructor: - virtual ~MinuitMinimizer (); - - // Add a parameter. Minuit minimizes the statistic w.r.t the parameters. - virtual void addParameter (Genfun::Parameter * par); - - // Add a statistic: a function, and a functional (e.g. Chisqaured, Likelihood) - void addStatistic (const Genfun::AbsFunctional * functional, const Genfun::AbsFunction * function); - - // Add a statistic: a (Gaussian) constraint or similar function of parameters. - void addStatistic (const ObjectiveFunction *); - - // Tell minuit to minimize this: - virtual void minimize (); - - // Get the parameter value: - double getValue(const Genfun::Parameter *) const; - - // Get the parameter error: - double getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar=NULL) const; - - // Get the functionValue - double getFunctionValue() const; - - // Get the status - int getStatus() const; - - // Get all of the values, as a vector: - CLHEP::HepVector getValues() const; - - // Get all of the errors, as a matrix: - CLHEP::HepSymMatrix getErrorMatrix() const; - - // Get information on parameters: - unsigned int getNumParameters() const; - - // Get Parameter: - const Genfun::Parameter *getParameter( unsigned int i) const; - - // Get Parameter - Genfun::Parameter * getParameter(unsigned int i); - - // Set the minimizer command (nominally "MINIMIZE"). - void setMinimizeCommand(const std::string & command); - -private: - - std::vector<const Genfun::AbsFunctional *> m_functionalList; - std::vector<const Genfun::AbsFunction *> m_functionList; - std::vector<const ObjectiveFunction *> m_objectiveList; - std::vector<Genfun::Parameter *> m_parList; - CLHEP::HepVector m_valList; - CLHEP::HepSymMatrix m_errorList; - double m_fcnMin; - int m_status; - bool m_verbose; - std::string m_minimizeCommand; - - static void s_worldWideCallback(int &, double *, double &, double *, int &, void *); - static std::vector<const Genfun::AbsFunctional *> *s_worldWideFunctionalList; - static std::vector<const Genfun::AbsFunction *> *s_worldWideFunctionList; - static std::vector<const ObjectiveFunction *> *s_worldWideObjectiveList; - static std::vector<Genfun::Parameter *> *s_worldWideParameterList; - - -}; - -class HistogramManager; - -struct MinuitMeasurement { - double value; - double error; -}; - -// This records the state of the minimizer in an output directory: -void record(HistogramManager *output, const MinuitMinimizer & minimizer); - -// This retrieves a single measurement: -MinuitMeasurement getMeasurement(const HistogramManager *manager, const std::string & name); - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h b/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h deleted file mode 100644 index cc4f47e7828..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef ObjectiveFunction_h_ -#define ObjectiveFunction_h_ -class ObjectiveFunction { - - // An objective (ie function to be minimized): - - public: - - - // Its constructor - ObjectiveFunction(); - - // Its destructor - virtual ~ObjectiveFunction(); - - // Its function call operator: - virtual double operator() () const=0; - -}; -#endif - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h b/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h deleted file mode 100644 index 804f0bae95b..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h +++ /dev/null @@ -1,119 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Write this class now. Abstract it later. -#ifndef _RemoteMinimizer_h_ -#define _RemoteMinimizer_h_ -#include <vector> -#include "CLHEP/Matrix/Vector.h" -#include "CLHEP/Matrix/SymMatrix.h" - -namespace Genfun { - class AbsFunctional; - class Parameter; - class AbsFunction; -} - -class ObjectiveFunction; - -template <class Q> class RemoteMinimizer { - -public: - - // Constructor: - RemoteMinimizer (Q *query, bool verbose=false); - - // Destructor: - ~RemoteMinimizer (); - - // Add a parameter. Minuit minimizes the statistic w.r.t the parameters. - void addParameter (Genfun::Parameter * par, double * parLoc); - - // Add a socket, listening for Q - void addSocket(ClientSocket *client); - - // Add a statistic: a (Gaussian) constraint or similar function of parameters. - void addStatistic (const ObjectiveFunction *); - - // Tell minuit to minimize this: - virtual void minimize (); - - // Get the parameter value: - double getValue(const Genfun::Parameter *) const; - - // Get the parameter error: - double getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar=NULL) const; - - // Get the functionValue - double getFunctionValue() const; - - // Get the status - int getStatus() const; - - // Get all of the values, as a vector: - CLHEP::HepVector getValues() const; - - // Get all of the errors, as a matrix: - CLHEP::HepSymMatrix getErrorMatrix() const; - - // Get information on parameters: - unsigned int getNumParameters() const; - - // Get Parameter: - const Genfun::Parameter *getParameter( unsigned int i) const; - - // Get Parameter - Genfun::Parameter * getParameter(unsigned int i); - - - -private: - - class Response { - public: - int Status; - double FCN; - }; - - - - Q *query; - Response response; - - std::vector<const ObjectiveFunction *> _objectiveList; - std::vector<Genfun::Parameter *> _parList; - std::vector<double *> _parLocList; - std::vector<ClientSocket *> _socketList; - CLHEP::HepVector _valList; - CLHEP::HepSymMatrix _errorList; - double _fcnMin; - int _status; - bool _verbose; - - static void _worldWideCallback(int &, double *, double &, double *, int &, void *); - static RemoteMinimizer *This; - -}; - -#include "QatDataModeling/RemoteMinimizer.icc" - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc b/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc deleted file mode 100644 index 6e3ec0be7b9..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc +++ /dev/null @@ -1,270 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "QatDataModeling/ObjectiveFunction.h" -typedef void (*minuitCallback) (int & npar, // which par is changing? - double * gradient, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * ); // unused pointer - - -extern "C" void mninit_ (int &, int &, int &); -extern "C" void mnseti_ (char * string, int size); -extern "C" void mnparm_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mncomd_ (minuitCallback, char *, int &, void *, int); -extern "C" void mnpout_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mnstat_ (double &, double &, double &, int &, int &, int &); -extern "C" void mnemat_ (double *, int &); - -template <class Q> RemoteMinimizer<Q> * RemoteMinimizer<Q>::This = NULL; - -template <class Q> inline RemoteMinimizer<Q>::RemoteMinimizer(Q * query, bool verbose) - :query(query), - _fcnMin(0.0), - _status(0), - _verbose(verbose) -{ -} - -template <class Q> inline void RemoteMinimizer<Q>::addParameter(Genfun::Parameter * par, double * parLoc) { - - // add the parameter to the list: - _parList.push_back(par); - - // add a new parameter location - _parLocList.push_back(parLoc); - - // resize the error matrix: - _errorList = CLHEP::HepSymMatrix(_parList.size(),0); - - // create a new Vector, longer. - CLHEP::HepVector tmp(_parList.size()); - - // Copy data there, adding one more datum: - for (int i=0;i<_valList.num_row();i++) tmp[i]=_valList[i]; - tmp[_valList.num_row()]=par->getValue(); - - // And set the value list equal to that. - _valList=tmp; - -} - - -template <class Q> inline RemoteMinimizer<Q>::~RemoteMinimizer() { -} - - -template <class Q> inline void RemoteMinimizer<Q>::minimize() { - - This=this; - - if ( ((_socketList.size()==0) ) && _objectiveList.size()==0 )return; - unsigned int DIM=_parList.size(); - // - // Initialize: - // - int status; - int fInputUnit=0,fOutputUnit=0,fSaveUnit=0; - const char * title = "Embedded minimizer"; - mninit_(fInputUnit,fOutputUnit, fSaveUnit); - mnseti_((char *) title, sizeof(title)); - if (!_verbose) { - const char *printLevelCommand="SET PRINT -1"; - mncomd_(_worldWideCallback,(char *) printLevelCommand, status, 0,12 ); - } - // - // Declare all of the parameters: - // - for (unsigned int i=0; i<DIM;i++) { - int number = i+1; - double startingValue =_parList[i]->getValue(); - double step = (_parList[i]->getUpperLimit()-_parList[i]->getLowerLimit())/100.0; - double bnd1 =_parList[i]->getLowerLimit(); - double bnd2 =_parList[i]->getUpperLimit(); - int error; - mnparm_ ( number, - _parList[i]->getName().c_str(), - startingValue, - step, - bnd1, - bnd2, - error, - _parList[i]->getName().size()); - } - // - // Flush the world-wide-buffer and minimize this functional w.r.t its parameters. - // - const char *minimizeCommand="MINIMIZE"; - mncomd_(_worldWideCallback,(char *) minimizeCommand, status, 0, sizeof(minimizeCommand)); - - for (unsigned int i=0;i<DIM;i++) { - char name[11]; - int I=i+1, iinternal=0; - double value=0, error=0, bnd1=0, bnd2=0; - mnpout_(I,name,value, error, bnd1, bnd2, iinternal, 10); - name[10]=0; - _valList[i]=value; - } - - // Get function minimum: - double estDistance, errdef; - int npari, nparx; - mnstat_(_fcnMin, estDistance, errdef, npari, nparx, _status); - - double *emat = new double [DIM*DIM]; - int IDIM=DIM; - mnemat_(emat,IDIM); - for (unsigned int i=0;i<DIM;i++) { - for (unsigned int j=0;j<DIM;j++) { - _errorList[i][j]=emat[i*DIM+j]; - } - } - delete [] emat; - - // Do this so that nobody else can screw it up: - -} - - -template <class Q> inline void RemoteMinimizer<Q>::addStatistic (const ObjectiveFunction *objective) { - _objectiveList.push_back(objective); -} - - -template <class Q> inline void RemoteMinimizer<Q>::_worldWideCallback(int & npar, // which par is changing? - double * /*gradient*/, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * /*vp*/) -{ - switch (iFlag) { - - case 4: // value of 4: - for (int i=0;i<npar;i++) { - This->_parList[i]->setValue(xValue[i]); - *This->_parLocList[i]=xValue[i]; - } - - functionValue=0; - - // Get FCN from the remote server - for (unsigned int i=0;i<This->_socketList.size(); i++) { - double f; - (*This->_socketList[i]) << 1; // Ask for an FCN calculation - (*This->_socketList[i]) << *This->query; // Send along the parameters - (*This->_socketList[i]) >> f; // Read back the response. - functionValue += f; - } - // Add Gaussian constraints, if any - for (unsigned int j=0;j<This->_objectiveList.size();j++) { - functionValue += (*(This->_objectiveList)[j])(); - } - // for debug: - break; - default: - std::cerr << "Warning. _worldWideCallback called back with flag of " << iFlag << std::endl; - break; - } -} - - -// Get the parameter value: -template <class Q> inline double RemoteMinimizer<Q>::getValue(const Genfun::Parameter *par) const { - for (unsigned int i=0;i<_parList.size();i++) { - if (_parList[i]==par) { - return _valList[i]; - } - } - std::cerr << "Error in RemoteMinimizer<Q>::getValue. Parameter not found" << std::endl; - return 0; -} - -// Get the parameter error: -template <class Q> inline double RemoteMinimizer<Q>::getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar) const { - - int iIndex=-1, jIndex=-1; - - for (unsigned int i=0;i<_parList.size();i++) { - if (_parList[i]==ipar) { - iIndex=i; - } - } - - if (iIndex!=-1) { - if (jpar) { - for (unsigned int j=0;j<_parList.size();j++) { - if (_parList[j]==jpar) { - jIndex=j; - } - } - } - else { - jIndex=iIndex; - } - } - - if (iIndex !=-1 && jIndex!=-1) return _errorList[iIndex][jIndex]; - std::cerr << "Error in RemoteMinimizer<Q>::getError. Parameter not found" << std::endl; - return 0; -} - - -template <class Q> inline double RemoteMinimizer<Q>::getFunctionValue() const { - return _fcnMin; -} - -template <class Q> inline int RemoteMinimizer<Q>::getStatus() const { - return _status; -} - -template <class Q> inline CLHEP::HepVector RemoteMinimizer<Q>::getValues() const { - return _valList; -} - -template <class Q> inline CLHEP::HepSymMatrix RemoteMinimizer<Q>::getErrorMatrix() const { - return _errorList; -} - - -template <class Q> inline unsigned int RemoteMinimizer<Q>::getNumParameters() const { - return _parList.size(); -} - -template <class Q> inline Genfun::Parameter * RemoteMinimizer<Q>::getParameter(unsigned int i) { - return _parList[i]; -} - - - -template <class Q> inline const Genfun::Parameter * RemoteMinimizer<Q>::getParameter(unsigned int i) const { - return _parList[i]; -} - -template <class Q> inline void RemoteMinimizer<Q>::addSocket(ClientSocket * socket) -{ - _socketList.push_back(socket); -} diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h b/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h deleted file mode 100644 index da8e2d828af..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h +++ /dev/null @@ -1,54 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//-------------------------------------------------------------// -// // -// This functional returns the Likelihood of a functoin // -// given some data // -// // -//-------------------------------------------------------------// -#ifndef QATDATAMODELING_TABLELIKELIHOODFUNCTIONAL_H -#define QATDATAMODELING_TABLELIKELIHOODFUNCTIONAL_H -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/ArgumentList.hh" -class Table; -class TableLikelihoodFunctional:public Genfun::AbsFunctional { - - public: - - // Constructor: - TableLikelihoodFunctional(const Table & table); - - // Destructor: - ~TableLikelihoodFunctional(); - - // Evaluate ChiSquared of a function w.r.t the data. - virtual double operator [] (const Genfun::AbsFunction & function) const; - - private: - - - const Table &m_table; - -}; - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc b/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc deleted file mode 100644 index 953a49b85b9..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: d506cm.inc,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: d506cm.inc,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.2 2001/01/02 08:35:54 andras -* *** empty log message *** -* -* Revision 1.1.1.1 2000/06/08 11:19:21 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#ifndef CERNLIB_MINUIT_D506CM_INC -#define CERNLIB_MINUIT_D506CM_INC -* -* -* d506cm.inc -* - PARAMETER (MNE=1600 , MNI=1600) - PARAMETER (MNIHL=MNI*(MNI+1)/2) - CHARACTER*10 CPNAM - COMMON - 1/MN7NAM/ CPNAM(MNE) - 2/MN7EXT/ U(MNE) ,ALIM(MNE) ,BLIM(MNE) - 3/MN7ERR/ ERP(MNI) ,ERN(MNI) ,WERR(MNI) ,GLOBCC(MNI) - 4/MN7INX/ NVARL(MNE) ,NIOFEX(MNE),NEXOFI(MNI) - 5/MN7INT/ X(MNI) ,XT(MNI) ,DIRIN(MNI) - 6/MN7FX2/ XS(MNI) ,XTS(MNI) ,DIRINS(MNI) - 7/MN7DER/ GRD(MNI) ,G2(MNI) ,GSTEP(MNI) ,GIN(MNE) ,DGRD(MNI) - 8/MN7FX3/ GRDS(MNI) ,G2S(MNI) ,GSTEPS(MNI) - 9/MN7FX1/ IPFIX(MNI) ,NPFIX - A/MN7VAR/ VHMAT(MNIHL) - B/MN7VAT/ VTHMAT(MNIHL) - C/MN7SIM/ P(MNI,MNI+1),PSTAR(MNI),PSTST(MNI) ,PBAR(MNI),PRHO(MNI) -C - PARAMETER (MAXDBG=10, MAXSTK=10, MAXCWD=20, MAXP=30, MAXCPT=101) - PARAMETER (ZERO=0.0, ONE=1.0, HALF=0.5) - COMMON - D/MN7NPR/ MAXINT ,NPAR ,MAXEXT ,NU - E/MN7IOU/ ISYSRD ,ISYSWR ,ISYSSA ,NPAGWD ,NPAGLN ,NEWPAG - E/MN7IO2/ ISTKRD(MAXSTK) ,NSTKRD ,ISTKWR(MAXSTK) ,NSTKWR - F/MN7TIT/ CFROM ,CSTATU ,CTITL ,CWORD ,CUNDEF ,CVRSN ,COVMES - G/MN7FLG/ ISW(7) ,IDBG(0:MAXDBG) ,NBLOCK ,ICOMND - H/MN7MIN/ AMIN ,UP ,EDM ,FVAL3 ,EPSI ,APSI ,DCOVAR - I/MN7CNV/ NFCN ,NFCNMX ,NFCNLC ,NFCNFR ,ITAUR,ISTRAT,NWRMES(2) - J/MN7ARG/ WORD7(MAXP) - K/MN7LOG/ LWARN ,LREPOR ,LIMSET ,LNOLIM ,LNEWMN ,LPHEAD - L/MN7CNS/ EPSMAC ,EPSMA2 ,VLIMLO ,VLIMHI ,UNDEFI ,BIGEDM,UPDFLT - M/MN7RPT/ XPT(MAXCPT) ,YPT(MAXCPT) - N/MN7CPT/ CHPT(MAXCPT) - o/MN7XCR/ XMIDCR ,YMIDCR ,XDIRCR ,YDIRCR ,KE1CR ,KE2CR - CHARACTER CTITL*50, CWORD*(MAXCWD), CUNDEF*10, CFROM*8, - + CVRSN*6, COVMES(0:3)*22, CSTATU*10, CHPT*1 - LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc b/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc deleted file mode 100644 index b1e45df4bb4..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc +++ /dev/null @@ -1,32 +0,0 @@ -* -* $Id: d506dp.inc,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: d506dp.inc,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:21 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#ifndef CERNLIB_MINUIT_D506DP_INC -#define CERNLIB_MINUIT_D506DP_INC -* -* -* d506dp.inc -* -#if defined(CERNLIB_DOUBLE) -C ************ DOUBLE PRECISION VERSION ************* - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -#if !defined(CERNLIB_DOUBLE) -C ************ SINGLE PRECISION VERSION ************* -#endif - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h b/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h deleted file mode 100644 index f70532e0b68..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h +++ /dev/null @@ -1,16 +0,0 @@ -/*************************************************************************** - minuit.h - description - ------------------- - begin : Tue Dec 28 2004 - copyright : (C) 2004 by Joseph F. Boudreau - email : boudreau@pitt.edu - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h b/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h deleted file mode 100644 index 238733af335..00000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h +++ /dev/null @@ -1,7 +0,0 @@ -#if 0 -#endif -#if !defined(CERNLIB_SINGLE) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif diff --git a/graphics/Qat/QatDataModeling/grid/Makefile b/graphics/Qat/QatDataModeling/grid/Makefile deleted file mode 100644 index acf8415948e..00000000000 --- a/graphics/Qat/QatDataModeling/grid/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -THISDIR = QatDataModeling -XTRA_INCLUDES = -I../../../local/include -include ../../../sw/grid/Makefile.common - -LDFLAGS += -L../../../local/lib -UNAME_S := $(shell uname -s) -LOADLIBES+=-lgfortran -ifeq ($(UNAME_S),Darwin) - LOADLIBES+=-lQatDataAnalysis - LOADLIBES+=-lCLHEP-GenericFunctions-2.1.3.1 - LOADLIBES+=-lCLHEP-Matrix-2.1.3.1 - LOADLIBES+=-lCLHEP-Vector-2.1.3.1 -endif - - diff --git a/graphics/Qat/QatDataModeling/src/FitFunction.cpp b/graphics/Qat/QatDataModeling/src/FitFunction.cpp deleted file mode 100644 index 351cff23fde..00000000000 --- a/graphics/Qat/QatDataModeling/src/FitFunction.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/FitFunction.h" - -FitFunction::FitFunction() {;} - -FitFunction::~FitFunction() {;} - -Genfun::Parameter & FitFunction::getParameter(int i) { - const FitFunction *cnThis = this; - return const_cast<Genfun::Parameter &> (cnThis->getParameter(i)); -} diff --git a/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp b/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp deleted file mode 100644 index 5bc7297ca82..00000000000 --- a/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp +++ /dev/null @@ -1,103 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataModeling/HistChi2Functional.h" -#include "CLHEP/GenericFunctions/DefiniteIntegral.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <algorithm> -#include <sstream> -#include <stdexcept> -HistChi2Functional::HistChi2Functional(const Hist1D * histogram, - double minValue, - double maxValue, - bool integrate): - m_histogram(histogram), - m_minValue(minValue), - m_maxValue(maxValue), - m_integrate(integrate), - m_nBins(m_histogram->nBins()), - m_min(m_histogram->min()), - m_max(m_histogram->max()), - m_width(m_histogram->binWidth()) -{ - m_delta=(m_max-m_min)/m_nBins; -} - -HistChi2Functional::~HistChi2Functional() { -} - -HistChi2Functional::HistChi2Functional (const HistChi2Functional & right): - Genfun::AbsFunctional(), - m_histogram(right.m_histogram), - m_minValue(right.m_minValue), - m_maxValue(right.m_maxValue), - m_integrate(right.m_integrate), - m_nBins(right.m_nBins), - m_min(right.m_min), - m_max(right.m_max), - m_delta(right.m_delta), - m_width(right.m_width) -{ -} - - -double HistChi2Functional::operator[] (const Genfun::AbsFunction & function) const{ - double c2=0; - for (int i = 0; i<m_nBins;i++) { - double a = m_min +i*m_delta; - double b = a+m_delta; - double y = m_histogram->bin(i); - double e = m_histogram->binError(i); - if (e!=0) { - if (b>m_minValue && a < m_maxValue) { - double y0; - if (m_integrate) { - Genfun::DefiniteIntegral integral(a,b); - y0=integral[function]; - } - else { - y0 = function ((a+b)/2.0) * m_width; - if (!finite(y0)) { - std::ostringstream message; - message << "HistChi2Functional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - double inc = (y-y0)*(y-y0)/e/e; - if (!finite(inc)) { - std::ostringstream message; - message << "HistChi2Functional, Chi^2 contribution is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - c2 += inc; - if (!finite(c2)) { - std::ostringstream message; - std::cout << "HistChi2Functional, Chi2 is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - } - } - return c2; -} - diff --git a/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp b/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp deleted file mode 100644 index 9313ac4fbf0..00000000000 --- a/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp +++ /dev/null @@ -1,106 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/HistLikelihoodFunctional.h" -#include "QatDataAnalysis/Hist1D.h" -#include "CLHEP/GenericFunctions/DefiniteIntegral.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <algorithm> -#include <stdexcept> -#include <sstream> -#include <math.h> - -HistLikelihoodFunctional::HistLikelihoodFunctional(const Hist1D * histogram, - double minValue, - double maxValue, - bool integrate): - m_histogram(histogram), - m_minValue(minValue), - m_maxValue(maxValue), - m_integrate(integrate), - m_nBins(m_histogram->nBins()), - m_min(m_histogram->min()), - m_max(m_histogram->max()), - m_width(m_histogram->binWidth()) -{ - m_delta=(m_max-m_min)/m_nBins; -} - -HistLikelihoodFunctional::~HistLikelihoodFunctional() { -} - -HistLikelihoodFunctional::HistLikelihoodFunctional (const HistLikelihoodFunctional & right): - Genfun::AbsFunctional(), - m_histogram(right.m_histogram), - m_minValue(right.m_minValue), - m_maxValue(right.m_maxValue), - m_integrate(right.m_integrate), - m_nBins(right.m_nBins), - m_min(right.m_min), - m_max(right.m_max), - m_delta(right.m_delta), - m_width(right.m_width) -{ -} - - -double HistLikelihoodFunctional::operator[] (const Genfun::AbsFunction & function) const{ - double logLik=0; - for (int i = 0; i<m_nBins;i++) { - double a = m_min +i*m_delta; - double b = a+m_delta; - double y = m_histogram->bin(i); - double e = m_histogram->binError(i); - if (e!=0) { - if (b>m_minValue && a < m_maxValue) { - double y0; - if (m_integrate) { - Genfun::DefiniteIntegral integral(a,b); - y0=integral[function]; - if (!finite(y0)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - - } - else { - y0 = function ((a+b)/2.0)*m_histogram->binWidth(); - if (!finite(y0)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - logLik += -2.0*(-y0 + y*log(y0)); - if (!finite(logLik)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Likelihood is infinite at " << (a+b)/2.0 << std::endl; - message << "Value of point is " << y0 << std::endl; - throw std::runtime_error(message.str()); - } - } - } - } - return logLik; -} - diff --git a/graphics/Qat/QatDataModeling/src/Makefile b/graphics/Qat/QatDataModeling/src/Makefile deleted file mode 100644 index a042c6a7573..00000000000 --- a/graphics/Qat/QatDataModeling/src/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -THISDIR = QatDataModeling -MFILES = -XTRA_INCLUDES = -I../../QatDataAnalysis -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.common -LOADLIBES+=-lgfortran - diff --git a/graphics/Qat/QatDataModeling/src/Makefile.MAC b/graphics/Qat/QatDataModeling/src/Makefile.MAC deleted file mode 100644 index 226223b4be2..00000000000 --- a/graphics/Qat/QatDataModeling/src/Makefile.MAC +++ /dev/null @@ -1,6 +0,0 @@ -THISDIR = QatDataModeling -MFILES = -XTRA_INCLUDES = -I../../QatDataAnalysis -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.MAC - diff --git a/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp b/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp deleted file mode 100644 index 0e9f469b156..00000000000 --- a/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp +++ /dev/null @@ -1,290 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "QatDataModeling/MinuitMinimizer.h" -#include "QatDataModeling/ObjectiveFunction.h" -#include "QatDataModeling/minuit.h" -#include <stdexcept> -#include <cstring> -typedef void (*minuitCallback) (int & npar, // which par is changing? - double * gradient, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * ); // unused pointer - - -extern "C" void mninit_ (int &, int &, int &); -extern "C" void mnseti_ (char * string, int size); -extern "C" void mnparm_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mncomd_ (minuitCallback, char *, int &, void *, int); -extern "C" void mnpout_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mnstat_ (double &, double &, double &, int &, int &, int &); -extern "C" void mnemat_ (double *, int &); -std::vector<const Genfun::AbsFunctional *> *MinuitMinimizer::s_worldWideFunctionalList =0; -std::vector<const Genfun::AbsFunction *> *MinuitMinimizer::s_worldWideFunctionList =0; -std::vector<const ObjectiveFunction *> *MinuitMinimizer::s_worldWideObjectiveList =0; -std::vector<Genfun::Parameter *> *MinuitMinimizer::s_worldWideParameterList =0; -bool MINUITERROR=false; -MinuitMinimizer::MinuitMinimizer(bool verbose) - :m_fcnMin(0.0), - m_status(0), - m_verbose(verbose), - m_minimizeCommand("MINIMIZE") -{ -} - -void MinuitMinimizer::addParameter(Genfun::Parameter * par) { - - // add the parameter to the list: - m_parList.push_back(par); - - // resize the error matrix: - m_errorList = CLHEP::HepSymMatrix(m_parList.size(),0); - - // create a new Vector, longer. - CLHEP::HepVector tmp(m_parList.size()); - - // Copy data there, adding one more datum: - for (int i=0;i<m_valList.num_row();i++) tmp[i]=m_valList[i]; - tmp[m_valList.num_row()]=par->getValue(); - - // And set the value list equal to that. - m_valList=tmp; - -} - - -MinuitMinimizer::~MinuitMinimizer() { -} -void MinuitMinimizer::minimize() { - if ( ((m_functionList.size()==0) || (m_functionalList.size()==0) ) && m_objectiveList.size()==0 )return; - unsigned int DIM=m_parList.size(); - // - // Initialize: - // - int status; - int fInputUnit=0,fOutputUnit=0,fSaveUnit=0; - const char * title = "Embedded minimizer"; - mninit_(fInputUnit,fOutputUnit, fSaveUnit); - mnseti_((char *) title, std::strlen(title)); - if (!m_verbose) { - const char *printLevelCommand="SET PRINT -1"; - mncomd_(s_worldWideCallback,(char *) printLevelCommand, status, 0,12 ); - } - // - // Declare all of the parameters: - // - for (unsigned int i=0; i<DIM;i++) { - int number = i+1; - double startingValue =m_parList[i]->getValue(); - double step = (m_parList[i]->getUpperLimit()-m_parList[i]->getLowerLimit())/100.0; - double bnd1 =m_parList[i]->getLowerLimit(); - double bnd2 =m_parList[i]->getUpperLimit(); - int error; - mnparm_ ( number, - m_parList[i]->getName().c_str(), - startingValue, - step, - bnd1, - bnd2, - error, - m_parList[i]->getName().size()); - } - // - // Flush the world-wide-buffer and minimize this functional w.r.t its parameters. - // - s_worldWideFunctionalList = &m_functionalList; - s_worldWideFunctionList = &m_functionList; - s_worldWideObjectiveList = &m_objectiveList; - s_worldWideParameterList = &m_parList; - - // Special case. If there are no parameters make one FCN call and return; - if (m_parList.size()==0) { - int zeroLength=0; - int iPar=4; - (*s_worldWideCallback)(zeroLength,(double *) NULL,m_fcnMin, (double *) NULL, iPar, (void *) NULL); - if (MINUITERROR) { - MINUITERROR=false; - throw std::runtime_error("MINUIT ERROR (INFINITE LIKELIHOOD?) "); - } - return; - } - const char *minimizeCommand=m_minimizeCommand.c_str(); - - mncomd_(s_worldWideCallback,(char *) minimizeCommand, status, 0, std::strlen(minimizeCommand)); - if (MINUITERROR) { - MINUITERROR=false; - throw std::runtime_error("MINUIT ERROR (INFINITE LIKELIHOOD?) "); - } - for (unsigned int i=0;i<DIM;i++) { - char name[11]; - int I=i+1, iinternal=0; - double value=0, error=0, bnd1=0, bnd2=0; - mnpout_(I,name,value, error, bnd1, bnd2, iinternal, 10); - name[10]=0; - m_valList[i]=value; - } - - // Get function minimum: - double estDistance, errdef; - int npari, nparx; - mnstat_(m_fcnMin, estDistance, errdef, npari, nparx, m_status); - - double *emat = new double [DIM*DIM]; - int IDIM=DIM; - mnemat_(emat,IDIM); - for (unsigned int i=0;i<DIM;i++) { - for (unsigned int j=0;j<DIM;j++) { - m_errorList[i][j]=emat[i*DIM+j]; - } - } - delete [] emat; - - // Do this so that nobody else can screw it up: - s_worldWideFunctionalList = 0; - s_worldWideFunctionList = 0; - s_worldWideObjectiveList = 0; - s_worldWideParameterList = 0; -} - -void MinuitMinimizer::addStatistic(const Genfun::AbsFunctional * functional, const Genfun::AbsFunction * function) { - m_functionalList.push_back(functional); - m_functionList.push_back(function); -} - -void MinuitMinimizer::addStatistic (const ObjectiveFunction *objective) { - m_objectiveList.push_back(objective); -} - - -void MinuitMinimizer::s_worldWideCallback(int & npar, // which par is changing? - double * /*gradient*/, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * /*vp*/) -{ - switch (iFlag) { - - case 4: // value of 4: - for (int i=0;i<npar;i++) { - (*s_worldWideParameterList)[i]->setValue(xValue[i]); - } - functionValue=0; - for (unsigned int j=0;j<s_worldWideFunctionalList->size();j++) { - try { - functionValue += (*(*s_worldWideFunctionalList)[j])[(*(*s_worldWideFunctionList)[j])]; - } - catch (const std::exception & e) { - std::cout << e.what() <<std::endl; - for (unsigned int p=0;p<(*s_worldWideParameterList).size();p++) std::cerr << *(*s_worldWideParameterList)[p] << std::endl; - MINUITERROR=true; //THROW EXCEPTION. - } - } - for (unsigned int j=0;j<s_worldWideObjectiveList->size();j++) { - functionValue += (*(*s_worldWideObjectiveList)[j])(); - } - // for debug: - break; - default: - std::cerr << "Warning. _worldWideCallback called back with flag of " << iFlag << std::endl; - break; - } -} - - -// Get the parameter value: -double MinuitMinimizer::getValue(const Genfun::Parameter *par) const { - for (unsigned int i=0;i<m_parList.size();i++) { - if (m_parList[i]==par) { - return m_valList[i]; - } - } - std::cerr << "Error in MinuitMinimizer::getValue. Parameter not found" << std::endl; - return 0; -} - -// Get the parameter error: -double MinuitMinimizer::getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar) const { - - int iIndex=-1, jIndex=-1; - - for (unsigned int i=0;i<m_parList.size();i++) { - if (m_parList[i]==ipar) { - iIndex=i; - } - } - - if (iIndex!=-1) { - if (jpar) { - for (unsigned int j=0;j<m_parList.size();j++) { - if (m_parList[j]==jpar) { - jIndex=j; - } - } - } - else { - jIndex=iIndex; - } - } - - if (iIndex !=-1 && jIndex!=-1) return m_errorList[iIndex][jIndex]; - std::cerr << "Error in MinuitMinimizer::getError. Parameter not found" << std::endl; - return 0; -} - - -double MinuitMinimizer::getFunctionValue() const { - return m_fcnMin; -} - -int MinuitMinimizer::getStatus() const { - return m_status; -} - -CLHEP::HepVector MinuitMinimizer::getValues() const { - return m_valList; -} - -CLHEP::HepSymMatrix MinuitMinimizer::getErrorMatrix() const { - return m_errorList; -} - - -unsigned int MinuitMinimizer::getNumParameters() const { - return m_parList.size(); -} - -Genfun::Parameter * MinuitMinimizer::getParameter(unsigned int i) { - return m_parList[i]; -} - -const Genfun::Parameter * MinuitMinimizer::getParameter(unsigned int i) const { - return m_parList[i]; -} -void MinuitMinimizer::setMinimizeCommand(const std::string & command) { - m_minimizeCommand=command; -} - diff --git a/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp b/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp deleted file mode 100644 index 77c0d7a0e73..00000000000 --- a/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "QatDataModeling/ObjectiveFunction.h" -ObjectiveFunction::ObjectiveFunction () {} - -ObjectiveFunction::~ObjectiveFunction () {} - diff --git a/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp b/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp deleted file mode 100644 index b84860f9d20..00000000000 --- a/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataModeling/MinuitMinimizer.h" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include <string> -void record(HistogramManager *output, const MinuitMinimizer & minimizer) { - Table *param = output->newTable("PARAMETERS"); - Table *index = output->newTable("INDICES"); - Table *covariance = output->newTable("COVARIANCE"); - Table *FCNmin = output->newTable("FCNMin"); - - FCNmin->add("FCNmin",minimizer.getFunctionValue()); - FCNmin->add("Status",minimizer.getStatus()); - FCNmin->capture(); - for (unsigned int i=0;i<minimizer.getNumParameters();i++) { - const Genfun::Parameter *p = minimizer.getParameter(i); - - index->add(p->getName(),i); - param->add("Index",i); - param->add("Value",p->getValue()); - param->add("Min",p->getLowerLimit()); - param->add("Max",p->getUpperLimit()); - param->capture(); - for (unsigned int j=0;j<minimizer.getNumParameters();j++ ) { - const Genfun::Parameter *q = minimizer.getParameter(j); - covariance->add("I",i); - covariance->add("J",j); - covariance->add("CIJ", minimizer.getError(p,q)); - covariance->capture(); - } - } - index->capture(); -} - -MinuitMeasurement getMeasurement(const HistogramManager *input, const std::string & parName) { - MinuitMeasurement measurement; - measurement.value=0; - measurement.error=0; - const Table *indices = input->findTable("INDICES"); - const Table *parameters = input->findTable("PARAMETERS"); - const Table *covariance = input->findTable("COVARIANCE"); - - unsigned int index=0; - indices->read(0,parName,index); - double value=0; - parameters->read(index,"Value", value); - unsigned int I(0),J(0); - double CIJ=0; - for (unsigned int i=0;i<covariance->numTuples();i++) { - covariance->read(i,"I", I); - covariance->read(i,"J", J); - if (I==index && J==index) { - covariance->read(i,"CIJ", CIJ); - measurement.value=value; - measurement.error=sqrt(CIJ); - break; - } - } - - return measurement; -} diff --git a/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp b/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp deleted file mode 100644 index 3b1f8156126..00000000000 --- a/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/TableLikelihoodFunctional.h" -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/Argument.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <cmath> -TableLikelihoodFunctional::TableLikelihoodFunctional(const Table & table): -m_table(table) -{} - -TableLikelihoodFunctional::~TableLikelihoodFunctional() { -} - -double TableLikelihoodFunctional::operator [] (const Genfun::AbsFunction & function) const { - double logLikelihood(0); - - for (size_t t=0; ; t++) { - - TupleConstLink tuple = m_table [t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - double f = function(a); - if (f<0) - std::cerr - << "Warning.. negative likelihood arg[" << t << "]=" << a - << std::endl; - logLikelihood -= log(f); - - } - return 2.0*logLikelihood; -} - diff --git a/graphics/Qat/QatDataModeling/src/minuit.F b/graphics/Qat/QatDataModeling/src/minuit.F deleted file mode 100644 index 6091715d886..00000000000 --- a/graphics/Qat/QatDataModeling/src/minuit.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: minuit.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: minuit.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MINUIT(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -#include "QatDataModeling/d506cm.inc" -C -C CPNAM Parameter name (10 characters) -C U External (visible to user in FCN) value of parameter -C ALIM, BLIM Lower and upper parameter limits. If both zero, no limits. -C ERP,ERN Positive and negative MINOS errors, if calculated. -C WERR External parameter error (standard deviation, defined by UP) -C GLOBCC Global Correlation Coefficient -C NVARL =-1 if parameter undefined, =0 if constant, -C = 1 if variable without limits, =4 if variable with limits -C (Note that if parameter has been fixed, NVARL=1 or =4, and NIOFEX=0) -C NIOFEX Internal parameter number, or zero if not currently variable -C NEXOFI External parameter number for currently variable parameters -C X, XT Internal parameter values (X are sometimes saved in XT) -C DIRIN (Internal) step sizes for current step -C variables with names ending in ..S are saved values for fixed params -C VHMAT (Internal) error matrix stored as Half MATrix, since -C it is symmetric -C VTHMAT VHMAT is sometimes saved in VTHMAT, especially in MNMNOT -C -C ISW definitions: -C ISW(1) =0 normally, =1 means CALL LIMIT EXCEEDED -C ISW(2) =0 means no error matrix -C =1 means only approximate error matrix -C =2 means full error matrix, but forced pos-def. -C =3 means good normal full error matrix exists -C ISW(3) =0 if Minuit is calculating the first derivatives -C =1 if first derivatives calculated inside FCN -C ISW(4) =-1 if most recent minimization did not converge. -C = 0 if problem redefined since most recent minimization. -C =+1 if most recent minimization did converge. -C ISW(5) is the PRInt level. See SHO PRIntlevel -C ISW(6) = 0 for batch mode, =1 for interactive mode -C =-1 for originally interactive temporarily batch -C -C LWARN is true if warning messges are to be put out (default=true) -C SET WARN turns it on, set NOWarn turns it off -C LREPOR is true if exceptional conditions are put out (default=false) -C SET DEBUG turns it on, SET NODebug turns it off -C LIMSET is true if a parameter is up against limits (for MINOS) -C LNOLIM is true if there are no limits on any parameters (not yet used) -C LNEWMN is true if the previous process has unexpectedly improved FCN -C LPHEAD is true if a heading should be put out for the next parameter -C definition, false if a parameter has just been defined -C - EXTERNAL FCN,FUTIL - CHARACTER*40 CWHYXT - DATA CWHYXT/'FOR UNKNOWN REASONS '/ - DATA JSYSRD,JSYSWR,JSYSSA/5,6,7/ -C . . . . . . . . . . initialize MINUIT - WRITE (JSYSWR,'(1X,75(1H*))') - CALL MNINIT (JSYSRD,JSYSWR,JSYSSA) -C . . . . initialize new data block - 100 CONTINUE - WRITE (ISYSWR,'(1X,75(1H*))') - NBLOCK = NBLOCK + 1 - WRITE (ISYSWR,'(26X,A,I4)') 'MINUIT DATA BLOCK NO.',NBLOCK - WRITE (ISYSWR,'(1X,75(1H*))') -C . . . . . . . . . . . set parameter lists to undefined - CALL MNCLER -C . . . . . . . . read title - CALL MNREAD(FCN,1,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 -C . . . . . . . . read parameters - CALL MNREAD(FCN,2,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 - IF (IFLGUT .EQ. 4) GO TO 700 -C . . . . . . verify FCN not time-dependent - WRITE (ISYSWR,'(/A,A)') ' MINUIT: FIRST CALL TO USER FUNCTION,', - + ' WITH IFLAG=1' - NPARX = NPAR - CALL MNINEX(X) - FZERO = UNDEFI - CALL FCN(NPARX,GIN,FZERO,U,1,FUTIL) - FIRST = UNDEFI - CALL FCN(NPARX,GIN,FIRST,U,4,FUTIL) - NFCN = 2 - IF (FZERO.EQ.UNDEFI .AND. FIRST.EQ.UNDEFI) THEN - CWHYXT = 'BY ERROR IN USER FUNCTION. ' - WRITE (ISYSWR,'(/A,A/)') ' USER HAS NOT CALCULATED FUNCTION', - + ' VALUE WHEN IFLAG=1 OR 4' - GO TO 800 - ENDIF - AMIN = FIRST - IF (FIRST .EQ. UNDEFI) AMIN=FZERO - CALL MNPRIN(1,AMIN) - NFCN = 2 - IF (FIRST .EQ. FZERO) GO TO 300 - FNEW = 0.0 - CALL FCN(NPARX,GIN,FNEW,U,4,FUTIL) - IF (FNEW .NE. AMIN) WRITE (ISYSWR,280) AMIN, FNEW - 280 FORMAT (/' MINUIT WARNING: PROBABLE ERROR IN USER FUNCTION.'/ - + ' FOR FIXED VALUES OF PARAMETERS, FCN IS TIME-DEPENDENT'/ - + ' F =',E22.14,' FOR FIRST CALL'/ - + ' F =',E22.14,' FOR SECOND CALL.'/) - NFCN = 3 - 300 FVAL3 = 2.0*AMIN+1.0 -C . . . . . . . . . . . read commands - CALL MNREAD(FCN,3,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 - IF (IFLGUT .EQ. 4) GO TO 700 - CWHYXT = 'BY MINUIT COMMAND: '//CWORD - IF (INDEX(CWORD,'STOP').GT. 0) GO TO 800 - IF (INDEX(CWORD,'EXI') .GT. 0) GO TO 800 - IF (INDEX(CWORD,'RET') .EQ. 0) GO TO 100 - CWHYXT = 'AND RETURNS TO USER PROGRAM. ' - WRITE (ISYSWR,'(A,A)') ' ..........MINUIT TERMINATED ',CWHYXT - RETURN -C . . . . . . stop conditions - 500 CONTINUE - CWHYXT = 'BY END-OF-DATA ON PRIMARY INPUT FILE. ' - GO TO 800 - 600 CONTINUE - CWHYXT = 'BY UNRECOVERABLE READ ERROR ON INPUT. ' - GO TO 800 - 700 CONTINUE - CWHYXT = ': FATAL ERROR IN PARAMETER DEFINITIONS. ' - 800 WRITE (ISYSWR,'(A,A)') ' ..........MINUIT TERMINATED ',CWHYXT - STOP -C -C ......................entry to set unit numbers - - - - - - - - - - - ENTRY MINTIO(I1,I2,I3) - JSYSRD = I1 - JSYSWR = I2 - JSYSSA = I3 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnamin.F b/graphics/Qat/QatDataModeling/src/mnamin.F deleted file mode 100644 index b311ce49f07..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnamin.F +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mnamin.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnamin.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNAMIN(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from many places. Initializes the value of AMIN by -CC calling the user function. Prints out the function value and -CC parameter values if Print Flag value is high enough. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - NPARX = NPAR - IF (ISW(5) .GE. 1) WRITE (ISYSWR,'(/A,A)') ' FIRST CALL TO ', - + 'USER FUNCTION AT NEW START POINT, WITH IFLAG=4.' - CALL MNEXIN(X) - CALL FCN(NPARX,GIN,FNEW,U,4,FUTIL) - NFCN = NFCN + 1 - AMIN = FNEW - EDM = BIGEDM - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnbins.F b/graphics/Qat/QatDataModeling/src/mnbins.F deleted file mode 100644 index f7a2b006852..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnbins.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: mnbins.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnbins.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNBINS(A1,A2,NAA,BL,BH,NB,BWID) -#include "QatDataModeling/d506dp.inc" -C SUBROUTINE TO DETERMINE REASONABLE HISTOGRAM INTERVALS -C GIVEN ABSOLUTE UPPER AND LOWER BOUNDS A1 AND A2 -C AND DESIRED MAXIMUM NUMBER OF BINS NAA -C PROGRAM MAKES REASONABLE BINNING FROM BL TO BH OF WIDTH BWID -C F. JAMES, AUGUST, 1974 , stolen for Minuit, 1988 - PARAMETER (ZERO=0.0, ONE=1.0) - AL = MIN(A1,A2) - AH = MAX(A1,A2) - IF (AL.EQ.AH) AH = AL + 1. -C IF NAA .EQ. -1 , PROGRAM USES BWID INPUT FROM CALLING ROUTINE - IF (NAA .EQ. -1) GO TO 150 - 10 NA = NAA - 1 - IF (NA .LT. 1) NA = 1 -C GET NOMINAL BIN WIDTH IN EXPON FORM - 20 AWID = (AH-AL)/FLOAT(NA) - LOG = INT(DLOG10(DBLE(AWID))) - IF (AWID .LE. ONE) LOG=LOG-1 - SIGFIG = AWID * (10.00 **(-LOG)) -C ROUND MANTISSA UP TO 2, 2.5, 5, OR 10 - IF(SIGFIG .GT. 2.0) GO TO 40 - SIGRND = 2.0 - GO TO 100 - 40 IF (SIGFIG .GT. 2.5) GO TO 50 - SIGRND = 2.5 - GO TO 100 - 50 IF(SIGFIG .GT. 5.0) GO TO 60 - SIGRND =5.0 - GO TO 100 - 60 SIGRND = 1.0 - LOG = LOG + 1 - 100 CONTINUE - BWID = SIGRND*10.0**LOG - GO TO 200 -C GET NEW BOUNDS FROM NEW WIDTH BWID - 150 IF (BWID .LE. ZERO) GO TO 10 - 200 CONTINUE - ALB = AL/BWID - LWID=ALB - IF (ALB .LT. ZERO) LWID=LWID-1 - BL = BWID*FLOAT(LWID) - ALB = AH/BWID + 1.0 - KWID = ALB - IF (ALB .LT. ZERO) KWID=KWID-1 - BH = BWID*FLOAT(KWID) - NB = KWID-LWID - IF (NAA .GT. 5) GO TO 240 - IF (NAA .EQ. -1) RETURN -C REQUEST FOR ONE BIN IS DIFFICULT CASE - IF (NAA .GT. 1 .OR. NB .EQ. 1) RETURN - BWID = BWID*2.0 - NB = 1 - RETURN - 240 IF (2*NB .NE. NAA) RETURN - NA = NA + 1 - GO TO 20 - END diff --git a/graphics/Qat/QatDataModeling/src/mncalf.F b/graphics/Qat/QatDataModeling/src/mncalf.F deleted file mode 100644 index 8680c6a563e..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncalf.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: mncalf.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncalf.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCALF(FCN,PVEC,YCALF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called only from MNIMPR. Transforms the function FCN -CC by dividing out the quadratic part in order to find further -CC minima. Calculates ycalf = (f-fmin)/(x-xmin)*v*(x-xmin) -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION PVEC(15) - NPARX = NPAR - CALL MNINEX(PVEC) - CALL FCN(NPARX,GIN,F,U,4,FUTIL) - NFCN = NFCN + 1 - DO 200 I= 1, NPAR - GRD(I) = 0. - DO 200 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - 200 GRD(I) = GRD(I) + VTHMAT(NDEX) * (XT(J)-PVEC(J)) - DENOM = 0. - DO 210 I= 1, NPAR - 210 DENOM = DENOM + GRD(I) * (XT(I)-PVEC(I)) - IF (DENOM .LE. ZERO) THEN - DCOVAR = 1. - ISW(2) = 0 - DENOM = 1.0 - ENDIF - YCALF = (F-APSI) / DENOM - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncler.F b/graphics/Qat/QatDataModeling/src/mncler.F deleted file mode 100644 index 02c0d892378..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncler.F +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: mncler.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncler.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCLER -#include "QatDataModeling/d506dp.inc" -CC Called from MINUIT and by option from MNEXCM -CC Resets the parameter list to UNDEFINED -#include "QatDataModeling/d506cm.inc" - NPFIX = 0 - NU = 0 - NPAR = 0 - NFCN = 0 - NWRMES(1) = 0 - NWRMES(2) = 0 - DO 10 I= 1, MAXEXT - U(I) = 0.0 - CPNAM(I) = CUNDEF - NVARL(I) = -1 - 10 NIOFEX(I) = 0 - CALL MNRSET(1) - CFROM = 'CLEAR ' - NFCNFR = NFCN - CSTATU ='UNDEFINED ' - LNOLIM = .TRUE. - LPHEAD = .TRUE. - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncntr.F b/graphics/Qat/QatDataModeling/src/mncntr.F deleted file mode 100644 index ca8b8006f26..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncntr.F +++ /dev/null @@ -1,164 +0,0 @@ -* -* $Id: mncntr.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncntr.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCNTR(FCN,KE1,KE2,IERRF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC to print function contours in two variables, on line printer -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - PARAMETER (NUMBCS=20,NXMAX=115) - DIMENSION CONTUR(NUMBCS), FCNA(NXMAX),FCNB(NXMAX) - CHARACTER CLABEL*(NUMBCS) - CHARACTER CHLN*(NXMAX),CHMID*(NXMAX),CHZERO*(NXMAX) - DATA CLABEL/'0123456789ABCDEFGHIJ'/ -C input arguments: parx, pary, devs, ngrid - IF (KE1.LE.0 .OR. KE2.LE.0) GO TO 1350 - IF (KE1.GT.NU .OR. KE2.GT.NU) GO TO 1350 - KI1 = NIOFEX(KE1) - KI2 = NIOFEX(KE2) - IF (KI1.LE.0 .OR. KI2.LE.0) GO TO 1350 - IF (KI1 .EQ. KI2) GO TO 1350 -C - IF (ISW(2) .LT. 1) THEN - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - ENDIF - NPARX = NPAR - XSAV = U(KE1) - YSAV = U(KE2) - DEVS = WORD7(3) - IF (DEVS .LE. ZERO) DEVS=2. - XLO = U(KE1) - DEVS*WERR(KI1) - XUP = U(KE1) + DEVS*WERR(KI1) - YLO = U(KE2) - DEVS*WERR(KI2) - YUP = U(KE2) + DEVS*WERR(KI2) - NGRID = WORD7(4) - IF (NGRID .LE. 0) THEN - NGRID=25 - NX = MIN(NPAGWD-15,NGRID) - NY = MIN(NPAGLN-7, NGRID) - ELSE - NX = NGRID - NY = NGRID - ENDIF - IF (NX .LT. 11) NX=11 - IF (NY .LT. 11) NY=11 - IF (NX .GE. NXMAX) NX=NXMAX-1 -C ask if parameter outside limits - IF (NVARL(KE1) .GT. 1) THEN - IF (XLO .LT. ALIM(KE1)) XLO = ALIM(KE1) - IF (XUP .GT. BLIM(KE1)) XUP = BLIM(KE1) - ENDIF - IF (NVARL(KE2) .GT. 1) THEN - IF (YLO .LT. ALIM(KE2)) YLO = ALIM(KE2) - IF (YUP .GT. BLIM(KE2)) YUP = BLIM(KE2) - ENDIF - BWIDX = (XUP-XLO)/REAL(NX) - BWIDY = (YUP-YLO)/REAL(NY) - IXMID = INT((XSAV-XLO)*REAL(NX)/(XUP-XLO)) + 1 - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - DO 185 I= 1, NUMBCS - CONTUR(I) = AMIN + UP*FLOAT(I-1)**2 - 185 CONTINUE - CONTUR(1) = CONTUR(1) + 0.01*UP -C fill FCNB to prepare first row, and find column zero - U(KE2) = YUP - IXZERO = 0 - XB4 = ONE - DO 200 IX= 1, NX+1 - U(KE1) = XLO + REAL(IX-1)*BWIDX - CALL FCN(NPARX,GIN,FF,U,4,FUTIL) - FCNB(IX) = FF - IF (XB4.LT.ZERO .AND. U(KE1).GT.ZERO) IXZERO = IX-1 - XB4 = U(KE1) - CHMID(IX:IX) = '*' - CHZERO(IX:IX)= '-' - 200 CONTINUE - WRITE (ISYSWR,'(A,I3,A,A)') ' Y-AXIS: PARAMETER ', - + KE2,': ',CPNAM(KE2) - IF (IXZERO .GT. 0) THEN - CHZERO(IXZERO:IXZERO) = '+' - CHLN = ' ' - WRITE (ISYSWR,'(12X,A,A)') CHLN(1:IXZERO),'X=0' - ENDIF -C loop over rows - DO 280 IY= 1, NY - UNEXT = U(KE2) - BWIDY -C prepare this line's background pattern for contour - CHLN = ' ' - CHLN(IXMID:IXMID) = '*' - IF (IXZERO .NE. 0) CHLN(IXZERO:IXZERO) = ':' - IF (U(KE2).GT.YSAV .AND. UNEXT.LT.YSAV) CHLN=CHMID - IF (U(KE2).GT.ZERO .AND. UNEXT.LT.ZERO) CHLN=CHZERO - U(KE2) = UNEXT - YLABEL = U(KE2) + 0.5*BWIDY -C move FCNB to FCNA and fill FCNB with next row - DO 220 IX= 1, NX+1 - FCNA(IX) = FCNB(IX) - U(KE1) = XLO + REAL(IX-1)*BWIDX - CALL FCN(NPARX,GIN,FF,U,4,FUTIL) - FCNB(IX) = FF - 220 CONTINUE -C look for contours crossing the FCNxy squares - DO 250 IX= 1, NX - FMX = MAX(FCNA(IX),FCNB(IX),FCNA(IX+1),FCNB(IX+1)) - FMN = MIN(FCNA(IX),FCNB(IX),FCNA(IX+1),FCNB(IX+1)) - DO 230 ICS= 1, NUMBCS - IF (CONTUR(ICS) .GT. FMN) GO TO 240 - 230 CONTINUE - GO TO 250 - 240 IF (CONTUR(ICS) .LT. FMX) CHLN(IX:IX)=CLABEL(ICS:ICS) - 250 CONTINUE -C print a row of the contour plot - WRITE (ISYSWR,'(1X,G12.4,1X,A)') YLABEL,CHLN(1:NX) - 280 CONTINUE -C contours printed, label x-axis - CHLN = ' ' - CHLN( 1: 1) = 'I' - CHLN(IXMID:IXMID) = 'I' - CHLN(NX:NX) = 'I' - WRITE (ISYSWR,'(14X,A)') CHLN(1:NX) -C the hardest of all: print x-axis scale! - CHLN = ' ' - IF (NX .LE. 26) THEN - NL = MAX(NX-12,2) - NL2 = NL/2 - WRITE (ISYSWR,'(8X,G12.4,A,G12.4)') XLO,CHLN(1:NL),XUP - WRITE (ISYSWR,'(14X,A,G12.4)') CHLN(1:NL2),XSAV - ELSE - NL = MAX(NX-24,2)/2 - NL2 = NL - IF (NL .GT. 10) NL2=NL-6 - WRITE (ISYSWR,'(8X,G12.4,A,G12.4,A,G12.4)') XLO, - + CHLN(1:NL),XSAV,CHLN(1:NL2),XUP - ENDIF - WRITE (ISYSWR,'(6X,A,I3,A,A,A,G12.4)') ' X-AXIS: PARAMETER', - + KE1,': ',CPNAM(KE1),' ONE COLUMN=',BWIDX - WRITE (ISYSWR,'(A,G12.4,A,G12.4,A)') ' FUNCTION VALUES: F(I)=', - + AMIN,' +',UP,' *I**2' -C finished. reset input values - U(KE1) = XSAV - U(KE2) = YSAV - IERRF = 0 - RETURN - 1350 WRITE (ISYSWR,1351) - 1351 FORMAT (' INVALID PARAMETER NUMBER(S) REQUESTED. IGNORED.' /) - IERRF = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncomd.F b/graphics/Qat/QatDataModeling/src/mncomd.F deleted file mode 100644 index d39dbfd3344..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncomd.F +++ /dev/null @@ -1,112 +0,0 @@ -* -* $Id: mncomd.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncomd.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCOMD(FCN,CRDBIN,ICONDN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called by user. 'Reads' a command string and executes. -CC Equivalent to MNEXCM except that the command is given as a -CC character string. -CC -CC ICONDN = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 5: command is a request to read PARAMETER definitions -CC 6: 'SET INPUT' command -CC 7: 'SET TITLE' command -CC 8: 'SET COVAR' command -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PLIST(MAXP) - CHARACTER COMAND*(MAXCWD) - CHARACTER CLOWER*26, CUPPER*26 - LOGICAL LEADER -C - EXTERNAL FCN,FUTIL - CHARACTER*(*) CRDBIN - CHARACTER*100 CRDBUF - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C - LENBUF = LEN(CRDBIN) - CRDBUF = CRDBIN - ICONDN = 0 -C record not case-sensitive, get upper case, strip leading blanks - LEADER = .TRUE. - IPOS = 1 - DO 110 I= 1, MIN(MAXCWD,LENBUF) - IF (CRDBUF(I:I) .EQ. '''') GO TO 111 - IF (CRDBUF(I:I) .EQ. ' ') THEN - IF (LEADER) IPOS = IPOS + 1 - GO TO 110 - ENDIF - LEADER = .FALSE. - DO 108 IC= 1, 26 - IF (CRDBUF(I:I) .EQ. CLOWER(IC:IC)) CRDBUF(I:I)=CUPPER(IC:IC) - 108 CONTINUE - 110 CONTINUE - 111 CONTINUE -C blank or null command - IF (IPOS .GT. LENBUF) THEN - WRITE (ISYSWR,'(A)') ' BLANK COMMAND IGNORED.' - ICONDN = 1 - GO TO 900 - ENDIF -C . . preemptive commands -C if command is 'PARAMETER' - IF (CRDBUF(IPOS:IPOS+2) .EQ. 'PAR') THEN - ICONDN = 5 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET INPUT' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET INP') THEN - ICONDN = 6 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET TITLE' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET TIT') THEN - ICONDN = 7 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET COVARIANCE' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET COV') THEN - ICONDN = 8 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C crack the command . . . . . . . . . . . . . . . . - CALL MNCRCK(CRDBUF(IPOS:LENBUF),MAXCWD,COMAND,LNC, - + MAXP, PLIST, LLIST, IERR,ISYSWR) - IF (IERR .GT. 0) THEN - WRITE (ISYSWR,'(A)') ' COMMAND CANNOT BE INTERPRETED' - ICONDN = 2 - GO TO 900 - ENDIF -C - CALL MNEXCM(FCN,COMAND(1:LNC),PLIST,LLIST,IERR,FUTIL) - ICONDN = IERR - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncont.F b/graphics/Qat/QatDataModeling/src/mncont.F deleted file mode 100644 index a3914111808..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncont.F +++ /dev/null @@ -1,285 +0,0 @@ -* -* $Id: mncont.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncont.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCONT(FCN,KE1,KE2,NPTU,XPTU,YPTU,IERRF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Find NPTU points along a contour where the function -CC FMIN (X(KE1),X(KE2)) = AMIN+UP -CC where FMIN is the minimum of FCN with respect to all -CC the other NPAR-2 variable parameters (if any). -CC IERRF on return will be equal to the number of points found: -CC NPTU if normal termination with NPTU points found -CC -1 if errors in the calling sequence (KE1, KE2 not variable) -CC 0 if less than four points can be found (using MNMNOT) -CC n>3 if only n points can be found (n < NPTU) -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION XPTU(NPTU), YPTU(NPTU), W(MNI),GCC(MNI) - CHARACTER CHERE*10 - PARAMETER (CHERE='MNContour ') - LOGICAL LDEBUG - EXTERNAL FCN,FUTIL -C input arguments: parx, pary, devs, ngrid - LDEBUG = (IDBG(6) .GE. 1) - IF (KE1.LE.0 .OR. KE2.LE.0) GO TO 1350 - IF (KE1.GT.NU .OR. KE2.GT.NU) GO TO 1350 - KI1 = NIOFEX(KE1) - KI2 = NIOFEX(KE2) - IF (KI1.LE.0 .OR. KI2.LE.0) GO TO 1350 - IF (KI1 .EQ. KI2) GO TO 1350 - IF (NPTU .LT. 4) GO TO 1400 -C - NFCNCO = NFCN - NFCNMX = 100*(NPTU+5)*(NPAR+1) -C The minimum - CALL MNCUVE(FCN,FUTIL) - U1MIN = U(KE1) - U2MIN = U(KE2) - IERRF = 0 - CFROM = CHERE - NFCNFR = NFCNCO - IF (ISW(5) .GE. 0) THEN - WRITE (ISYSWR,'(1X,A,I4,A)') - + 'START MNCONTOUR CALCULATION OF',NPTU,' POINTS ON CONTOUR.' - IF (NPAR .GT. 2) THEN - IF (NPAR .EQ. 3) THEN - KI3 = 6 - KI1 - KI2 - KE3 = NEXOFI(KI3) - WRITE (ISYSWR,'(1X,A,I3,2X,A)') - + 'EACH POINT IS A MINIMUM WITH RESPECT TO PARAMETER ', - + KE3, CPNAM(KE3) - ELSE - WRITE (ISYSWR,'(1X,A,I3,A)') - + 'EACH POINT IS A MINIMUM WITH RESPECT TO THE OTHER', - + NPAR-2, ' VARIABLE PARAMETERS.' - ENDIF - ENDIF - ENDIF -C -C Find the first four points using MNMNOT -C ........................ first two points - CALL MNMNOT(FCN,KE1,KE2,VAL2PL,VAL2MI,FUTIL) - IF (ERN(KI1) .EQ. UNDEFI) THEN - XPTU(1) = ALIM(KE1) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERN(KI1) .GE. ZERO) GO TO 1500 - XPTU(1) = U1MIN+ERN(KI1) - ENDIF - YPTU(1) = VAL2MI -C - IF (ERP(KI1) .EQ. UNDEFI) THEN - XPTU(3) = BLIM(KE1) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERP(KI1) .LE. ZERO) GO TO 1500 - XPTU(3) = U1MIN+ERP(KI1) - ENDIF - YPTU(3) = VAL2PL - SCALX = 1.0/(XPTU(3) - XPTU(1)) -C ........................... next two points - CALL MNMNOT(FCN,KE2,KE1,VAL2PL,VAL2MI,FUTIL) - IF (ERN(KI2) .EQ. UNDEFI) THEN - YPTU(2) = ALIM(KE2) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERN(KI2) .GE. ZERO) GO TO 1500 - YPTU(2) = U2MIN+ERN(KI2) - ENDIF - XPTU(2) = VAL2MI - IF (ERP(KI2) .EQ. UNDEFI) THEN - YPTU(4) = BLIM(KE2) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERP(KI2) .LE. ZERO) GO TO 1500 - YPTU(4) = U2MIN+ERP(KI2) - ENDIF - XPTU(4) = VAL2PL - SCALY = 1.0/(YPTU(4) - YPTU(2)) - NOWPTS = 4 - NEXT = 5 - IF (LDEBUG) THEN - WRITE (ISYSWR,'(A)') ' Plot of four points found by MINOS' - XPT(1) = U1MIN - YPT(1) = U2MIN - CHPT(1) = ' ' - NALL = MIN(NOWPTS+1,MAXCPT) - DO 85 I= 2, NALL - XPT(I) = XPTU(I-1) - YPT(I) = YPTU(I-1) - 85 CONTINUE - CHPT(2)= 'A' - CHPT(3)= 'B' - CHPT(4)= 'C' - CHPT(5)= 'D' - CALL MNPLOT(XPT,YPT,CHPT,NALL,ISYSWR,NPAGWD,NPAGLN) - ENDIF -C -C ..................... save some values before fixing - ISW2 = ISW(2) - ISW4 = ISW(4) - SIGSAV = EDM - ISTRAV = ISTRAT - DC = DCOVAR - APSI = EPSI*0.5 - ABEST=AMIN - MPAR=NPAR - NFMXIN = NFCNMX - DO 125 I= 1, MPAR - 125 XT(I) = X(I) - DO 130 J= 1, MPAR*(MPAR+1)/2 - 130 VTHMAT(J) = VHMAT(J) - DO 135 I= 1, MPAR - GCC(I) = GLOBCC(I) - 135 W(I) = WERR(I) -C fix the two parameters in question - KINTS = NIOFEX(KE1) - CALL MNFIXP (KINTS,IERR) - KINTS = NIOFEX(KE2) - CALL MNFIXP (KINTS,IERR) -C ......................Fill in the rest of the points - DO 900 INEW= NEXT, NPTU -C find the two neighbouring points with largest separation - BIGDIS = 0. - DO 200 IOLD = 1, INEW-1 - I2 = IOLD + 1 - IF (I2 .EQ. INEW) I2 = 1 - DIST = (SCALX*(XPTU(IOLD)-XPTU(I2)))**2 + - + (SCALY*(YPTU(IOLD)-YPTU(I2)))**2 - IF (DIST .GT. BIGDIS) THEN - BIGDIS = DIST - IDIST = IOLD - ENDIF - 200 CONTINUE - I1 = IDIST - I2 = I1 + 1 - IF (I2 .EQ. INEW) I2 = 1 -C next point goes between I1 and I2 - A1 = HALF - A2 = HALF - 300 XMIDCR = A1*XPTU(I1) + A2*XPTU(I2) - YMIDCR = A1*YPTU(I1) + A2*YPTU(I2) - XDIR = YPTU(I2) - YPTU(I1) - YDIR = XPTU(I1) - XPTU(I2) - SCLFAC = MAX(ABS(XDIR*SCALX), ABS(YDIR*SCALY)) - XDIRCR = XDIR/SCLFAC - YDIRCR = YDIR/SCLFAC - KE1CR = KE1 - KE2CR = KE2 -C Find the contour crossing point along DIR - AMIN = ABEST - CALL MNCROS(FCN,AOPT,IERCR,FUTIL) - IF (IERCR .GT. 1) THEN -C If cannot find mid-point, try closer to point 1 - IF (A1 .GT. HALF) THEN - IF (ISW(5) .GE. 0) - + WRITE (ISYSWR,'(A,A,I3,A)') ' MNCONT CANNOT FIND NEXT', - + ' POINT ON CONTOUR. ONLY ',NOWPTS,' POINTS FOUND.' - GO TO 950 - ENDIF - CALL MNWARN('W',CHERE,'Cannot find midpoint, try closer.') - A1 = 0.75 - A2 = 0.25 - GO TO 300 - ENDIF -C Contour has been located, insert new point in list - DO 830 MOVE= NOWPTS,I1+1,-1 - XPTU(MOVE+1) = XPTU(MOVE) - YPTU(MOVE+1) = YPTU(MOVE) - 830 CONTINUE - NOWPTS = NOWPTS + 1 - XPTU(I1+1) = XMIDCR + XDIRCR*AOPT - YPTU(I1+1) = YMIDCR + YDIRCR*AOPT - 900 CONTINUE - 950 CONTINUE -C - IERRF = NOWPTS - CSTATU = 'SUCCESSFUL' - IF (NOWPTS .LT. NPTU) CSTATU = 'INCOMPLETE' -C make a lineprinter plot of the contour - IF (ISW(5) .GE. 0) THEN - XPT(1) = U1MIN - YPT(1) = U2MIN - CHPT(1) = ' ' - NALL = MIN(NOWPTS+1,MAXCPT) - DO 1000 I= 2, NALL - XPT(I) = XPTU(I-1) - YPT(I) = YPTU(I-1) - CHPT(I)= 'X' - 1000 CONTINUE - WRITE (ISYSWR,'(A,I3,2X,A)') ' Y-AXIS: PARAMETER ',KE2, - + CPNAM(KE2) - CALL MNPLOT(XPT,YPT,CHPT,NALL,ISYSWR,NPAGWD,NPAGLN) - WRITE (ISYSWR,'(25X,A,I3,2X,A)') 'X-AXIS: PARAMETER ', - + KE1,CPNAM(KE1) - ENDIF -C print out the coordinates around the contour - IF (ISW(5) .GE. 1) THEN - NPCOL = (NOWPTS+1)/2 - NFCOL = NOWPTS/2 - WRITE (ISYSWR,'(/I5,A,G13.5,A,G11.3)') NOWPTS, - + ' POINTS ON CONTOUR. FMIN=',ABEST,' ERRDEF=',UP - WRITE (ISYSWR,'(9X,A,3X,A,18X,A,3X,A)') - + CPNAM(KE1),CPNAM(KE2),CPNAM(KE1),CPNAM(KE2) - DO 1050 LINE = 1, NFCOL - LR = LINE + NPCOL - WRITE (ISYSWR,'(1X,I5,2G13.5,10X,I5,2G13.5)') - + LINE,XPTU(LINE),YPTU(LINE),LR,XPTU(LR),YPTU(LR) - 1050 CONTINUE - IF (NFCOL .LT. NPCOL) WRITE (ISYSWR,'(1X,I5,2G13.5)') - + NPCOL,XPTU(NPCOL),YPTU(NPCOL) - ENDIF -C . . contour finished. reset v - ITAUR = 1 - CALL MNFREE(1) - CALL MNFREE(1) - DO 1100 J= 1, MPAR*(MPAR+1)/2 - 1100 VHMAT(J) = VTHMAT(J) - DO 1120 I= 1, MPAR - GLOBCC(I) = GCC(I) - WERR(I) = W(I) - 1120 X(I) = XT(I) - CALL MNINEX (X) - EDM = SIGSAV - AMIN = ABEST - ISW(2) = ISW2 - ISW(4) = ISW4 - DCOVAR = DC - ITAUR = 0 - NFCNMX = NFMXIN - ISTRAT = ISTRAV - U(KE1) = U1MIN - U(KE2) = U2MIN - GO TO 2000 -C Error returns - 1350 WRITE (ISYSWR,'(A)') ' INVALID PARAMETER NUMBERS.' - GO TO 1450 - 1400 WRITE (ISYSWR,'(A)') ' LESS THAN FOUR POINTS REQUESTED.' - 1450 IERRF = -1 - CSTATU = 'USER ERROR' - GO TO 2000 - 1500 WRITE (ISYSWR,'(A)') ' MNCONT UNABLE TO FIND FOUR POINTS.' - U(KE1) = U1MIN - U(KE2) = U2MIN - IERRF = 0 - CSTATU = 'FAILED' - 2000 CONTINUE - CFROM = CHERE - NFCNFR = NFCNCO - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncrck.F b/graphics/Qat/QatDataModeling/src/mncrck.F deleted file mode 100644 index 759c131d36c..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncrck.F +++ /dev/null @@ -1,138 +0,0 @@ -* -* $Id: mncrck.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncrck.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCRCK(CRDBUF,MAXCWD,COMAND,LNC, - + MXP, PLIST, LLIST,IERR,ISYSWR) -#include "QatDataModeling/d506dp.inc" -CC -CC Called from MNREAD. -CC Cracks the free-format input, expecting zero or more -CC alphanumeric fields (which it joins into COMAND(1:LNC)) -CC followed by one or more numeric fields separated by -CC blanks and/or one comma. The numeric fields are put into -CC the LLIST (but at most MXP) elements of PLIST. -CC IERR = 0 if no errors, -CC = 1 if error(s). -CC Diagnostic messages are written to ISYSWR -CC - PARAMETER (MAXELM=25, MXLNEL=19) - CHARACTER*(*) COMAND, CRDBUF - CHARACTER CNUMER*13, CELMNT(MAXELM)*(MXLNEL), CNULL*15 - DIMENSION LELMNT(MAXELM),PLIST(MXP) - DATA CNULL /')NULL STRING '/ - DATA CNUMER/'123456789-.0+'/ - IELMNT = 0 - LEND = LEN(CRDBUF) - NEXTB = 1 - IERR = 0 -C . . . . loop over words CELMNT - 10 CONTINUE - DO 100 IPOS= NEXTB,LEND - IBEGIN = IPOS - IF (CRDBUF(IPOS:IPOS).EQ.' ') GO TO 100 - IF (CRDBUF(IPOS:IPOS).EQ.',') GO TO 250 - GO TO 150 - 100 CONTINUE - GO TO 300 - 150 CONTINUE -C found beginning of word, look for end - DO 180 IPOS = IBEGIN+1,LEND - IF (CRDBUF(IPOS:IPOS).EQ.' ') GO TO 250 - IF (CRDBUF(IPOS:IPOS).EQ.',') GO TO 250 - 180 CONTINUE - IPOS = LEND+1 - 250 IEND = IPOS-1 - IELMNT = IELMNT + 1 - IF (IEND .GE. IBEGIN) THEN - CELMNT(IELMNT) = CRDBUF(IBEGIN:IEND) - ELSE - CELMNT(IELMNT) = CNULL - ENDIF - LELMNT(IELMNT) = IEND-IBEGIN+1 - IF (LELMNT(IELMNT) .GT. MXLNEL) THEN - WRITE (ISYSWR, 253) CRDBUF(IBEGIN:IEND),CELMNT(IELMNT) - 253 FORMAT (' MINUIT WARNING: INPUT DATA WORD TOO LONG.' - + /' ORIGINAL:',A - + /' TRUNCATED TO:',A) - LELMNT(IELMNT) = MXLNEL - ENDIF - IF (IPOS .GE. LEND) GO TO 300 - IF (IELMNT .GE. MAXELM) GO TO 300 -C look for comma or beginning of next word - DO 280 IPOS= IEND+1,LEND - IF (CRDBUF(IPOS:IPOS) .EQ. ' ') GO TO 280 - NEXTB = IPOS - IF (CRDBUF(IPOS:IPOS) .EQ. ',') NEXTB = IPOS+1 - GO TO 10 - 280 CONTINUE -C All elements found, join the alphabetic ones to -C form a command - 300 CONTINUE - NELMNT = IELMNT - COMAND = ' ' - LNC = 1 - PLIST(1) = 0. - LLIST = 0 - IF (IELMNT .EQ. 0) GO TO 900 - KCMND = 0 - DO 400 IELMNT = 1, NELMNT - IF (CELMNT(IELMNT) .EQ. CNULL) GO TO 450 - DO 350 IC= 1, 13 - IF (CELMNT(IELMNT)(1:1) .EQ. CNUMER(IC:IC)) GO TO 450 - 350 CONTINUE - IF (KCMND .GE. MAXCWD) GO TO 400 - LEFT = MAXCWD-KCMND - LTOADD = LELMNT(IELMNT) - IF (LTOADD .GT. LEFT) LTOADD=LEFT - COMAND(KCMND+1:KCMND+LTOADD) = CELMNT(IELMNT)(1:LTOADD) - KCMND = KCMND + LTOADD - IF (KCMND .EQ. MAXCWD) GO TO 400 - KCMND = KCMND + 1 - COMAND(KCMND:KCMND) = ' ' - 400 CONTINUE - LNC = KCMND - GO TO 900 - 450 CONTINUE - LNC = KCMND -C . . . . we have come to a numeric field - LLIST = 0 - DO 600 IFLD= IELMNT,NELMNT - LLIST = LLIST + 1 - IF (LLIST .GT. MXP) THEN - NREQ = NELMNT-IELMNT+1 - WRITE (ISYSWR,511) NREQ,MXP - 511 FORMAT (/' MINUIT WARNING IN MNCRCK: '/ ' COMMAND HAS INPUT',I5, - + ' NUMERIC FIELDS, BUT MINUIT CAN ACCEPT ONLY',I3) - GO TO 900 - ENDIF - IF (CELMNT(IFLD) .EQ. CNULL) THEN - PLIST(LLIST) = 0. - ELSE - READ (CELMNT(IFLD), '(BN,F19.0)',ERR=575) PLIST(LLIST) - ENDIF - GO TO 600 - 575 WRITE (ISYSWR,'(A,A,A)') ' FORMAT ERROR IN NUMERIC FIELD: "', - + CELMNT(IFLD)(1:LELMNT(IFLD)),'"' - IERR = 1 - PLIST(LLIST) = 0. - 600 CONTINUE -C end loop over numeric fields - 900 CONTINUE - IF (LNC .LE. 0) LNC=1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncros.F b/graphics/Qat/QatDataModeling/src/mncros.F deleted file mode 100644 index 16d34258de9..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncros.F +++ /dev/null @@ -1,343 +0,0 @@ -* -* $Id: mncros.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncros.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCROS(FCN,AOPT,IERCR,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Find point where MNEVAL=AMIN+UP, along the line through -CC XMIDCR,YMIDCR with direction XDIRCR,YDIRCR, where X and Y -CC are parameters KE1CR and KE2CR. If KE2CR=0 (from MINOS), -CC only KE1CR is varied. From MNCONT, both are varied. -CC Crossing point is at -CC (U(KE1),U(KE2)) = (XMID,YMID) + AOPT*(XDIR,YDIR) -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CHERE*10, CHARAL*28, CHSIGN*4 - PARAMETER (CHERE='MNCROS ', MLSB=3, MAXITR=15, TLR=0.01) - DIMENSION FLSB(MLSB),ALSB(MLSB), COEFF(3) - LOGICAL LDEBUG - EXTERNAL FCN,FUTIL - DATA CHARAL/' .ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ - LDEBUG = (IDBG(6) .GE. 1) - AMINSV = AMIN -C convergence when F is within TLF of AIM and next prediction -C of AOPT is within TLA of previous value of AOPT - AIM = AMIN + UP - TLF = TLR*UP - TLA = TLR - XPT(1) = 0.0 - YPT(1) = AIM - CHPT(1) = ' ' - IPT = 1 - IF (KE2CR .EQ. 0) THEN - XPT(2) = -1.0 - YPT(2) = AMIN - CHPT(2) = '.' - IPT = 2 - ENDIF -C find the largest allowed A - AULIM = 100. - DO 100 IK= 1, 2 - IF (IK .EQ. 1) THEN - KEX = KE1CR - ZMID = XMIDCR - ZDIR = XDIRCR - ELSE - IF (KE2CR .EQ. 0) GO TO 100 - KEX = KE2CR - ZMID = YMIDCR - ZDIR = YDIRCR - ENDIF - IF (NVARL(KEX) .LE. 1) GO TO 100 - IF (ZDIR .EQ. ZERO) GO TO 100 - ZLIM = ALIM(KEX) - IF (ZDIR .GT. ZERO) ZLIM = BLIM(KEX) - AULIM = MIN(AULIM,(ZLIM-ZMID)/ZDIR) - 100 CONTINUE -C LSB = Line Search Buffer -C first point - ANEXT = 0. - AOPT = ANEXT - LIMSET = .FALSE. - IF (AULIM .LT. AOPT+TLA) LIMSET = .TRUE. - CALL MNEVAL(FCN,ANEXT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - IPT = IPT + 1 - XPT(IPT) = ANEXT - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - ALSB(1) = ANEXT - FLSB(1) = FNEXT - FNEXT = MAX(FNEXT,AMINSV+0.1*UP) - AOPT = SQRT((UP)/(FNEXT-AMINSV)) - 1.0 - IF (ABS(FNEXT-AIM) .LT. TLF) GO TO 800 -C - IF (AOPT .LT. -HALF) AOPT = -HALF - IF (AOPT .GT. ONE) AOPT = ONE - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(2) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(2) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(2) = FNEXT - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) -C DFDA must be positive on the contour - IF (DFDA .GT. ZERO) GO TO 460 - 300 CALL MNWARN('D',CHERE,'Looking for slope of the right sign') - MAXLK = MAXITR - IPT - DO 400 IT= 1, MAXLK - ALSB(1) = ALSB(2) - FLSB(1) = FLSB(2) - AOPT = ALSB(1) + 0.2*REAL(IT) - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(2) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(2) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(2) = FNEXT - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) - IF (DFDA .GT. ZERO) GO TO 450 - 400 CONTINUE - CALL MNWARN('W',CHERE,'Cannot find slope of the right sign') - GO TO 950 - 450 CONTINUE -C we have two points with the right slope - 460 AOPT = ALSB(2) + (AIM-FLSB(2))/DFDA - FDIST = MIN(ABS(AIM -FLSB(1)),ABS(AIM -FLSB(2))) - ADIST = MIN(ABS(AOPT-ALSB(1)),ABS(AOPT-ALSB(2))) - TLA = TLR - IF (ABS(AOPT) .GT. ONE) TLA = TLR*ABS(AOPT) - IF (ADIST .LT. TLA .AND. FDIST .LT. TLF) GO TO 800 - IF (IPT .GE. MAXITR) GO TO 950 - BMIN = MIN(ALSB(1),ALSB(2)) - 1.0 - IF (AOPT .LT. BMIN) AOPT = BMIN - BMAX = MAX(ALSB(1),ALSB(2)) + 1.0 - IF (AOPT .GT. BMAX) AOPT = BMAX -C Try a third point - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(3) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(3) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(3) = FNEXT - INEW = 3 -C now we have three points, ask how many <AIM - ECARMN = ABS(FNEXT-AIM) - IBEST = 3 - ECARMX = 0. - NOLESS = 0 - DO 480 I= 1, 3 - ECART = ABS(FLSB(I) - AIM) - IF (ECART .GT. ECARMX) THEN - ECARMX = ECART - IWORST = I - ENDIF - IF (ECART .LT. ECARMN) THEN - ECARMN = ECART - IBEST = I - ENDIF - IF (FLSB(I) .LT. AIM) NOLESS = NOLESS + 1 - 480 CONTINUE - INEW = IBEST -C if at least one on each side of AIM, fit a parabola - IF (NOLESS.EQ.1 .OR. NOLESS.EQ.2) GO TO 500 -C if all three are above AIM, third must be closest to AIM - IF (NOLESS .EQ. 0 .AND. IBEST .NE. 3) GO TO 950 -C if all three below, and third is not best, then slope -C has again gone negative, look for positive slope. - IF (NOLESS .EQ. 3 .AND. IBEST .NE. 3) THEN - ALSB(2) = ALSB(3) - FLSB(2) = FLSB(3) - GO TO 300 - ENDIF -C in other cases, new straight line thru last two points - ALSB(IWORST) = ALSB(3) - FLSB(IWORST) = FLSB(3) - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) - GO TO 460 -C parabola fit - 500 CALL MNPFIT(ALSB,FLSB,3,COEFF,SDEV) - IF (COEFF(3) .LE. ZERO) CALL MNWARN ('D',CHERE, - + 'Curvature is negative near contour line.') - DETERM = COEFF(2)**2 - 4.*COEFF(3)*(COEFF(1)-AIM) - IF (DETERM .LE. ZERO) THEN - CALL MNWARN('D',CHERE,'Problem 2, impossible determinant') - GO TO 950 - ENDIF -C Find which root is the right one - RT = SQRT(DETERM) - X1 = (-COEFF(2) + RT)/(2.*COEFF(3)) - X2 = (-COEFF(2) - RT)/(2.*COEFF(3)) - S1 = COEFF(2) + 2.*X1*COEFF(3) - S2 = COEFF(2) + 2.*X2*COEFF(3) - IF (S1*S2 .GT. ZERO) WRITE (ISYSWR,'(A)') ' MNCONTour problem 1' - AOPT = X1 - SLOPE = S1 - IF (S2 .GT. ZERO) THEN - AOPT = X2 - SLOPE = S2 - ENDIF -C ask if converged - TLA = TLR - IF (ABS(AOPT) .GT. ONE) TLA = TLR*ABS(AOPT) - IF (ABS(AOPT-ALSB(IBEST)) .LT. TLA .AND. - & ABS(FLSB(IBEST)-AIM) .LT. TLF) GO TO 800 - IF (IPT .GE. MAXITR) GO TO 950 -C see if proposed point is in acceptable zone between L and R -C first find ILEFT, IRIGHT, IOUT and IBEST - ILEFT = 0 - IRIGHT = 0 - IBEST = 1 - ECARMX = 0. - ECARMN = ABS(AIM-FLSB(1)) - DO 550 I= 1, 3 - ECART = ABS(FLSB(I) - AIM) - IF (ECART .LT. ECARMN) THEN - ECARMN = ECART - IBEST = I - ENDIF - IF (ECART .GT. ECARMX) ECARMX = ECART - IF (FLSB(I) .GT. AIM) THEN - IF (IRIGHT .EQ. 0) THEN - IRIGHT = I - ELSE IF (FLSB(I) .GT. FLSB(IRIGHT)) THEN - IOUT = I - ELSE - IOUT = IRIGHT - IRIGHT = I - ENDIF - ELSE IF (ILEFT .EQ. 0) THEN - ILEFT = I - ELSE IF (FLSB(I) .LT. FLSB(ILEFT)) THEN - IOUT = I - ELSE - IOUT = ILEFT - ILEFT = I - ENDIF - 550 CONTINUE -C avoid keeping a very bad point next time around - IF (ECARMX .GT. 10.*ABS(FLSB(IOUT)-AIM)) - & AOPT = HALF*AOPT + HALF*HALF*(ALSB(IRIGHT)+ALSB(ILEFT)) -C knowing ILEFT and IRIGHT, get acceptable window - SMALLA = 0.1*TLA - IF (SLOPE*SMALLA .GT. TLF) SMALLA = TLF/SLOPE - ALEFT = ALSB(ILEFT) + SMALLA - ARIGHT = ALSB(IRIGHT) - SMALLA -C move proposed point AOPT into window if necessary - IF (AOPT .LT. ALEFT) AOPT = ALEFT - IF (AOPT .GT. ARIGHT) AOPT = ARIGHT - IF (ALEFT .GT. ARIGHT)AOPT = HALF*(ALEFT + ARIGHT) -C see if proposed point outside limits (should be impossible!) - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF -C Evaluate function at new point AOPT - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - IPT = IPT + 1 - XPT(IPT) = AOPT - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) -C Replace odd point by new one - ALSB(IOUT) = AOPT - FLSB(IOUT) = FNEXT -C the new point may not be the best, but it is the only one -C which could be good enough to pass convergence criteria - IBEST = IOUT - GO TO 500 -C -C Contour has been located, return point to MNCONT OR MINOS - 800 CONTINUE - IERCR = 0 - GO TO 1000 -C error in the minimization - 900 IF (IEREV .EQ. 1) GO TO 940 - GO TO 950 -C parameter up against limit - 930 IERCR = 1 - GO TO 1000 -C too many calls to FCN - 940 IERCR = 2 - GO TO 1000 -C cannot find next point - 950 IERCR = 3 -C in any case - 1000 CONTINUE - IF (LDEBUG) THEN - ITOOHI = 0 - DO 1100 I= 1, IPT - IF (YPT(I) .GT. AIM+UP) THEN - YPT(I) = AIM+UP - CHPT(I) = '+' - ITOOHI = 1 - ENDIF - 1100 CONTINUE - CHSIGN = 'POSI' - IF (XDIRCR .LT. ZERO) CHSIGN = 'NEGA' - IF (KE2CR .EQ. 0) WRITE (ISYSWR, '(2X,A,A,I3)') - + CHSIGN,'TIVE MINOS ERROR, PARAMETER ',KE1CR - IF (ITOOHI .EQ. 1) WRITE (ISYSWR, '(10X,A)') - + 'POINTS LABELLED "+" WERE TOO HIGH TO PLOT.' - IF (IERCR .EQ. 1) WRITE (ISYSWR,'(10X,A)') - + 'RIGHTMOST POINT IS UP AGAINST LIMIT.' - CALL MNPLOT(XPT,YPT,CHPT,IPT,ISYSWR,NPAGWD,NPAGLN) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncuve.F b/graphics/Qat/QatDataModeling/src/mncuve.F deleted file mode 100644 index 1477e583688..00000000000 --- a/graphics/Qat/QatDataModeling/src/mncuve.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: mncuve.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncuve.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCUVE(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Makes sure that the current point is a local -CC minimum and that the error matrix exists, -CC or at least something good enough for MINOS and MNCONT -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IF (ISW(4) .LT. 1) THEN - WRITE (ISYSWR,'(/A,A)') - + ' FUNCTION MUST BE MINIMIZED BEFORE CALLING ',CFROM - APSI = EPSI - CALL MNMIGR(FCN,FUTIL) - ENDIF - IF (ISW(2) .LT. 3) THEN - CALL MNHESS(FCN,FUTIL) - IF (ISW(2) .LT. 1) THEN - CALL MNWARN('W',CFROM,'NO Error Matrix. WILL IMPROVISE.') - DO 555 I=1,NPAR - NDEX = I*(I-1)/2 - DO 554 J=1,I-1 - NDEX = NDEX + 1 - 554 VHMAT(NDEX) = 0. - NDEX = NDEX + 1 - IF (G2(I) .LE. ZERO) THEN - WINT = WERR(I) - IEXT = NEXOFI(I) - IF (NVARL(IEXT) .GT. 1) THEN - CALL MNDXDI(X(I),I,DXDI) - IF (ABS(DXDI) .LT. .001) THEN - WINT = .01 - ELSE - WINT = WINT/ABS(DXDI) - ENDIF - ENDIF - G2(I) = UP/WINT**2 - ENDIF - VHMAT(NDEX) = 2./G2(I) - 555 CONTINUE - ISW(2) = 1 - DCOVAR = 1. - ELSE - CALL MNWERR - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnderi.F b/graphics/Qat/QatDataModeling/src/mnderi.F deleted file mode 100644 index 9d2d4a4a247..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnderi.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: mnderi.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnderi.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:43 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNDERI(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Calculates the first derivatives of FCN (GRD), -CC either by finite differences or by transforming the user- -CC supplied derivatives to internal coordinates, -CC according to whether ISW(3) is zero or one. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - LOGICAL LDEBUG - CHARACTER CBF1*22 - NPARX = NPAR - LDEBUG = (IDBG(2) .GE. 1) - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IF (ISW(3) .EQ. 1) GO TO 100 - IF (LDEBUG) THEN -C make sure starting at the right place - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FS1 .NE. AMIN) THEN - DF = AMIN - FS1 - WRITE (CBF1(1:12),'(G12.3)') DF - CALL MNWARN('D','MNDERI', - + 'function value differs from AMIN by '//CBF1(1:12) ) - AMIN = FS1 - ENDIF - WRITE - + (ISYSWR,'(/'' FIRST DERIVATIVE DEBUG PRINTOUT. MNDERI''/ - + '' PAR DERIV STEP MINSTEP OPTSTEP '', - + '' D1-D2 2ND DRV'')') - ENDIF - DFMIN = 8. * EPSMA2*(ABS(AMIN)+UP) - VRYSML = 8.* EPSMAC**2 - IF (ISTRAT .LE. 0) THEN - NCYC = 2 - TLRSTP = 0.5 - TLRGRD = 0.1 - ELSE IF (ISTRAT .EQ. 1) THEN - NCYC = 3 - TLRSTP = 0.3 - TLRGRD = 0.05 - ELSE - NCYC = 5 - TLRSTP = 0.1 - TLRGRD = 0.02 - ENDIF -C loop over variable parameters - DO 60 I=1,NPAR - EPSPRI = EPSMA2 + ABS(GRD(I)*EPSMA2) -C two-point derivatives always assumed necessary -C maximum number of cycles over step size depends on strategy - XTF = X(I) - STEPB4 = 0. -C loop as little as possible here! - DO 45 ICYC= 1, NCYC -C ........ theoretically best step - OPTSTP = SQRT(DFMIN/(ABS(G2(I))+EPSPRI)) -C step cannot decrease by more than a factor of ten - STEP = MAX(OPTSTP, ABS(0.1*GSTEP(I))) -C but if parameter has limits, max step size = 0.5 - IF (GSTEP(I).LT.ZERO .AND. STEP.GT.0.5) STEP=0.5 -C and not more than ten times the previous step - STPMAX = 10.*ABS(GSTEP(I)) - IF (STEP .GT. STPMAX) STEP = STPMAX -C minimum step size allowed by machine precision - STPMIN = MAX(VRYSML, 8.*ABS(EPSMA2*X(I))) - IF (STEP .LT. STPMIN) STEP = STPMIN -C end of iterations if step change less than factor 2 - IF (ABS((STEP-STEPB4)/STEP) .LT. TLRSTP) GO TO 50 -C take step positive - GSTEP(I) = SIGN(STEP, GSTEP(I)) - STEPB4 = STEP - X(I) = XTF + STEP - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN=NFCN+1 -C take step negative - X(I) = XTF - STEP - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN=NFCN+1 - GRBFOR = GRD(I) - GRD(I) = (FS1-FS2)/(2.0*STEP) - G2(I) = (FS1+FS2-2.0*AMIN)/(STEP**2) - X(I) = XTF - IF (LDEBUG) THEN - D1D2 = (FS1+FS2-2.0*AMIN)/STEP - WRITE (ISYSWR,41) I,GRD(I),STEP,STPMIN,OPTSTP,D1D2,G2(I) - 41 FORMAT (I4,2G11.3,5G10.2) - ENDIF -C see if another iteration is necessary - IF (ABS(GRBFOR-GRD(I))/(ABS(GRD(I))+DFMIN/STEP) .LT. TLRGRD) - + GO TO 50 - 45 CONTINUE -C end of ICYC loop. too many iterations - IF (NCYC .EQ. 1) GO TO 50 - WRITE (CBF1,'(2E11.3)') GRD(I),GRBFOR - CALL MNWARN('D','MNDERI', - + 'First derivative not converged. '//CBF1) - 50 CONTINUE -C - 60 CONTINUE - CALL MNINEX(X) - RETURN -C . derivatives calc by fcn - 100 DO 150 IINT= 1, NPAR - IEXT = NEXOFI(IINT) - IF (NVARL(IEXT) .GT. 1) GO TO 120 - GRD(IINT) = GIN(IEXT) - GO TO 150 - 120 DD = (BLIM(IEXT)-ALIM(IEXT))*0.5 *COS(X(IINT)) - GRD(IINT) = GIN(IEXT)*DD - 150 CONTINUE - 200 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mndxdi.F b/graphics/Qat/QatDataModeling/src/mndxdi.F deleted file mode 100644 index d0460845e43..00000000000 --- a/graphics/Qat/QatDataModeling/src/mndxdi.F +++ /dev/null @@ -1,30 +0,0 @@ -* -* $Id: mndxdi.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mndxdi.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNDXDI(PINT,IPAR,DXDI) -#include "QatDataModeling/d506dp.inc" -CC calculates the transformation factor between external and -CC internal parameter values. this factor is one for -CC parameters which are not limited. called from MNEMAT. -#include "QatDataModeling/d506cm.inc" - I = NEXOFI(IPAR) - DXDI = 1.0 - IF (NVARL(I) .GT. 1) - + DXDI = 0.5 *ABS((BLIM(I)-ALIM(I)) * COS(PINT)) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mneig.F b/graphics/Qat/QatDataModeling/src/mneig.F deleted file mode 100644 index d95e3eccd77..00000000000 --- a/graphics/Qat/QatDataModeling/src/mneig.F +++ /dev/null @@ -1,204 +0,0 @@ -* -* $Id: mneig.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mneig.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEIG(A,NDIMA,N,MITS,WORK,PRECIS,IFAULT) -#include "QatDataModeling/d506dp.inc" -C - PARAMETER (ZERO=0.0, ONE=1.0, TWO=2.0) - PARAMETER (TOL=1.0E-35) - DIMENSION A(NDIMA,*),WORK(*) -C PRECIS is the machine precision EPSMAC - IFAULT = 1 -C - I = N - DO 70 I1 = 2,N - L = I-2 - F = A(I,I-1) - GL = ZERO -C - IF(L .LT. 1) GO TO 25 -C - DO 20 K = 1,L - 20 GL = GL+A(I,K)**2 - 25 H = GL + F**2 -C - IF(GL .GT. TOL) GO TO 30 -C - WORK(I) = ZERO - WORK(N+I) = F - GO TO 65 - 30 L = L+1 -C - GL = SQRT(H) -C - IF(F .GE. ZERO) GL = -GL -C - WORK(N+I) = GL - H = H-F*GL - A(I,I-1) = F-GL - F = ZERO - DO 50 J = 1,L - A(J,I) = A(I,J)/H - GL = ZERO - DO 40 K = 1,J - 40 GL = GL+A(J,K)*A(I,K) -C - IF(J .GE. L) GO TO 47 -C - J1 = J+1 - DO 45 K = J1,L - 45 GL = GL+A(K,J)*A(I,K) - 47 WORK(N+J) = GL/H - F = F+GL*A(J,I) - 50 CONTINUE - HH = F/(H+H) - DO 60 J = 1,L - F = A(I,J) - GL = WORK(N+J)-HH*F - WORK(N+J) = GL - DO 60 K = 1,J - A(J,K) = A(J,K)-F*WORK(N+K)-GL*A(I,K) - 60 CONTINUE - WORK(I) = H - 65 I = I-1 - 70 CONTINUE - WORK(1) = ZERO - WORK(N+1) = ZERO - DO 110 I = 1,N - L = I-1 -C - IF(WORK(I) .EQ. ZERO .OR. L .EQ. 0) GO TO 100 -C - DO 90 J = 1,L - GL = ZERO - DO 80 K = 1,L - 80 GL = GL+A(I,K)*A(K,J) - DO 90 K = 1,L - A(K,J) = A(K,J)-GL*A(K,I) - 90 CONTINUE - 100 WORK(I) = A(I,I) - A(I,I) = ONE -C - IF(L .EQ. 0) GO TO 110 -C - DO 105 J = 1,L - A(I,J) = ZERO - A(J,I) = ZERO - 105 CONTINUE - 110 CONTINUE -C -C - N1 = N-1 - DO 130 I = 2,N - I0 = N+I-1 - 130 WORK(I0) = WORK(I0+1) - WORK(N+N) = ZERO - B = ZERO - F = ZERO - DO 210 L = 1,N - J = 0 - H = PRECIS*(ABS(WORK(L))+ABS(WORK(N+L))) -C - IF(B .LT. H) B = H -C - DO 140 M1 = L,N - M = M1 -C - IF(ABS(WORK(N+M)) .LE. B) GO TO 150 -C - 140 CONTINUE -C - 150 IF(M .EQ. L) GO TO 205 -C - 160 IF(J .EQ. MITS) RETURN -C - J = J+1 - PT = (WORK(L+1)-WORK(L))/(TWO*WORK(N+L)) - R = SQRT(PT*PT+ONE) - PR = PT+R -C - IF(PT .LT. ZERO) PR=PT-R -C - H = WORK(L)-WORK(N+L)/PR - DO 170 I=L,N - 170 WORK(I) = WORK(I)-H - F = F+H - PT = WORK(M) - C = ONE - S = ZERO - M1 = M-1 - I = M - DO 200 I1 = L,M1 - J = I - I = I-1 - GL = C*WORK(N+I) - H = C*PT -C - IF(ABS(PT) .GE. ABS(WORK(N+I))) GO TO 180 -C - C = PT/WORK(N+I) - R = SQRT(C*C+ONE) - WORK(N+J) = S*WORK(N+I)*R - S = ONE/R - C = C/R - GO TO 190 - 180 C = WORK(N+I)/PT - R = SQRT(C*C+ONE) - WORK(N+J) = S*PT*R - S = C/R - C = ONE/R - 190 PT = C*WORK(I)-S*GL - WORK(J) = H+S*(C*GL+S*WORK(I)) - DO 200 K = 1,N - H = A(K,J) - A(K,J) = S*A(K,I)+C*H - A(K,I) = C*A(K,I)-S*H - 200 CONTINUE - WORK(N+L) = S*PT - WORK(L) = C*PT -C - IF(ABS(WORK(N+L)) .GT. B) GO TO 160 -C - 205 WORK(L) = WORK(L)+F - 210 CONTINUE - DO 240 I=1,N1 - K = I - PT = WORK(I) - I1 = I+1 - DO 220 J = I1,N -C - IF(WORK(J) .GE. PT) GO TO 220 -C - K = J - PT = WORK(J) - 220 CONTINUE -C - IF(K .EQ. I) GO TO 240 -C - WORK(K) = WORK(I) - WORK(I) = PT - DO 230 J=1,N - PT = A(J,I) - A(J,I) = A(J,K) - A(J,K) = PT - 230 CONTINUE - 240 CONTINUE - IFAULT = 0 -C - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnemat.F b/graphics/Qat/QatDataModeling/src/mnemat.F deleted file mode 100644 index 3b7b156e713..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnemat.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: mnemat.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnemat.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEMAT(EMAT,NDIM) -#include "QatDataModeling/d506dp.inc" - DIMENSION EMAT(NDIM,NDIM) -CC Calculates the external error matrix from the internal -CC to be called by user, who must dimension EMAT at (NDIM,NDIM) -#include "QatDataModeling/d506cm.inc" - IF (ISW(2) .LT. 1) RETURN - IF (ISW(5) .GE. 2) WRITE (ISYSWR,'(/A,I4,A,I3,A,G10.3)') - + ' EXTERNAL Error Matrix. NDIM=',NDIM,' NPAR=',NPAR, - + ' ERR DEF=',UP -C size of matrix to be printed - NPARD = NPAR - IF (NDIM .LT. NPAR) THEN - NPARD = NDIM - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(A,A)') ' USER-DIMENSIONED ', - + ' ARRAY EMAT NOT BIG ENOUGH. REDUCED MATRIX CALCULATED.' - ENDIF -C NPERLN is the number of elements that fit on one line - NPERLN = (NPAGWD-5)/10 - NPERLN = MIN(NPERLN,13) - IF (ISW(5).GE. 1 .AND. NPARD.GT.NPERLN) WRITE (ISYSWR,'(A)') - + ' ELEMENTS ABOVE DIAGONAL ARE NOT PRINTED.' -C I counts the rows of the matrix - DO 110 I= 1, NPARD - CALL MNDXDI(X(I),I,DXDI) - KGA = I*(I-1)/2 - DO 100 J= 1, I - CALL MNDXDI(X(J),J,DXDJ) - KGB = KGA + J - EMAT(I,J) = DXDI * VHMAT(KGB) * DXDJ * UP - EMAT(J,I) = EMAT(I,J) - 100 CONTINUE - 110 CONTINUE -C IZ is number of columns to be printed in row I - IF (ISW(5) .GE. 2) THEN - DO 160 I= 1, NPARD - IZ = NPARD - IF (NPARD .GE. NPERLN) IZ = I - DO 150 K= 1, IZ, NPERLN - K2 = K + NPERLN - 1 - IF (K2 .GT. IZ) K2=IZ - WRITE (ISYSWR,'(1X,13E10.3)') (EMAT(I,KK),KK=K,K2) - 150 CONTINUE - 160 CONTINUE - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnerrs.F b/graphics/Qat/QatDataModeling/src/mnerrs.F deleted file mode 100644 index 203775e1767..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnerrs.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: mnerrs.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnerrs.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNERRS(NUMBER,EPLUS,EMINUS,EPARAB,GCC) -#include "QatDataModeling/d506dp.inc" -CC Called by user, utility routine to get MINOS errors -CC If NUMBER is positive, then it is external parameter number, -CC if negative, it is -internal number. -CC values returned by MNERRS: -CC EPLUS, EMINUS are MINOS errors of parameter NUMBER, -CC EPARAB is 'parabolic' error (from error matrix). -CC (Errors not calculated are set = 0.) -CC GCC is global correlation coefficient from error matrix -#include "QatDataModeling/d506cm.inc" -C - IEX = NUMBER - IF (NUMBER .LT. 0) THEN - IIN = -NUMBER - IF (IIN .GT. NPAR) GO TO 900 - IEX = NEXOFI(IIN) - ENDIF - IF (IEX .GT. NU .OR. IEX .LE. 0) GO TO 900 - IIN = NIOFEX(IEX) - IF (IIN .LE. 0) GO TO 900 -C IEX is external number, IIN is internal number - EPLUS = ERP(IIN) - IF (EPLUS.EQ.UNDEFI) EPLUS=0. - EMINUS= ERN(IIN) - IF (EMINUS.EQ.UNDEFI) EMINUS=0. - CALL MNDXDI(X(IIN),IIN,DXDI) - NDIAG = IIN*(IIN+1)/2 - EPARAB = ABS(DXDI*SQRT(ABS(UP*VHMAT(NDIAG)))) -C global correlation coefficient - GCC = 0. - IF (ISW(2) .LT. 2) GO TO 990 - GCC = GLOBCC(IIN) - GO TO 990 -C ERROR. parameter number not valid - 900 EPLUS = 0. - EMINUS = 0. - EPARAB = 0. - GCC = 0. - 990 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mneval.F b/graphics/Qat/QatDataModeling/src/mneval.F deleted file mode 100644 index e1bcf06f2c8..00000000000 --- a/graphics/Qat/QatDataModeling/src/mneval.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: mneval.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mneval.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEVAL(FCN,ANEXT,FNEXT,IEREV,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Evaluates the function being analyzed by MNCROS, which is -CC generally the minimum of FCN with respect to all remaining -CC variable parameters. Common block /MN7XCR/ contains the -CC data necessary to know the values of U(KE1CR) and U(KE2CR) -CC to be used, namely U(KE1CR) = XMIDCR + ANEXT*XDIRCR -CC and (if KE2CR .NE. 0) U(KE2CR) = YMIDCR + ANEXT*YDIRCR -#include "QatDataModeling/d506cm.inc" -CC - EXTERNAL FCN,FUTIL - U(KE1CR) = XMIDCR + ANEXT*XDIRCR - IF ( KE2CR .NE. 0) U(KE2CR) = YMIDCR + ANEXT*YDIRCR - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FNEXT,U,4,FUTIL) - NFCN = NFCN + 1 - IEREV = 0 - IF (NPAR .GT. 0) THEN - ITAUR = 1 - AMIN = FNEXT - ISW(1) = 0 - CALL MNMIGR(FCN,FUTIL) - ITAUR = 0 - FNEXT = AMIN - IF (ISW(1) .GE. 1) IEREV = 1 - IF (ISW(4) .LT. 1) IEREV = 2 - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnexcm.F b/graphics/Qat/QatDataModeling/src/mnexcm.F deleted file mode 100644 index 4c52374abb8..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnexcm.F +++ /dev/null @@ -1,478 +0,0 @@ -* -* $Id: mnexcm.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnexcm.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:45 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEXCM(FCN,COMAND,PLIST,LLIST,IERFLG,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Interprets a command and takes appropriate action, -CC either directly by skipping to the corresponding code in -CC MNEXCM, or by setting up a call to a subroutine -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - CHARACTER*(*) COMAND -C Cannot say DIMENSION PLIST(LLIST) since LLIST can be =0. - DIMENSION PLIST(*) - PARAMETER (MXPT=101) - DIMENSION XPTU(MXPT), YPTU(MXPT) -C alphabetical order of command names! - CHARACTER*10 CNAME(40), CNEWAY, CHWHY*18, C26*30, CVBLNK*2 - LOGICAL LTOFIX, LFIXED, LFREED -C - CHARACTER COMD*4 - CHARACTER CLOWER*26, CUPPER*26 - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C -C recognized MINUIT commands: - DATA CNAME( 1) / 'MINImize ' / - DATA CNAME( 2) / 'SEEk ' / - DATA CNAME( 3) / 'SIMplex ' / - DATA CNAME( 4) / 'MIGrad ' / - DATA CNAME( 5) / 'MINOs ' / - DATA CNAME( 6) / 'SET xxx ' / - DATA CNAME( 7) / 'SHOw xxx ' / - DATA CNAME( 8) / 'TOP of pag' / - DATA CNAME( 9) / 'FIX ' / - DATA CNAME(10) / 'REStore ' / - DATA CNAME(11) / 'RELease ' / - DATA CNAME(12) / 'SCAn ' / - DATA CNAME(13) / 'CONtour ' / - DATA CNAME(14) / 'HESse ' / - DATA CNAME(15) / 'SAVe ' / - DATA CNAME(16) / 'IMProve ' / - DATA CNAME(17) / 'CALl fcn ' / - DATA CNAME(18) / 'STAndard ' / - DATA CNAME(19) / 'END ' / - DATA CNAME(20) / 'EXIt ' / - DATA CNAME(21) / 'RETurn ' / - DATA CNAME(22) / 'CLEar ' / - DATA CNAME(23) / 'HELP ' / - DATA CNAME(24) / 'MNContour ' / - DATA CNAME(25) / 'STOp ' / - DATA CNAME(26) / 'JUMp ' / - DATA CNAME(27) / ' ' / - DATA CNAME(28) / ' ' / - DATA CNAME(29) / ' ' / - DATA CNAME(30) / ' ' / - DATA CNAME(31) / ' ' / - DATA CNAME(32) / ' ' / - DATA CNAME(33) / ' ' / -C obsolete commands: - DATA CNAME(34) / 'COVARIANCE' / - DATA CNAME(35) / 'PRINTOUT ' / - DATA CNAME(36) / 'GRADIENT ' / - DATA CNAME(37) / 'MATOUT ' / - DATA CNAME(38) / 'ERROR DEF ' / - DATA CNAME(39) / 'LIMITS ' / - DATA CNAME(40) / 'PUNCH ' / - DATA NNTOT/40/ -C IERFLG is now (94.5) defined the same as ICONDN in MNCOMD -CC = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command - LK = LEN(COMAND) - IF (LK .GT. MAXCWD) LK=MAXCWD - CWORD = COMAND(1:LK) -C get upper case - DO 16 ICOL= 1, LK - DO 15 LET= 1, 26 - IF (CWORD(ICOL:ICOL) .EQ. CLOWER(LET:LET)) - + CWORD(ICOL:ICOL) = CUPPER(LET:LET) - 15 CONTINUE - 16 CONTINUE -C Copy the first MAXP arguments into COMMON (WORD7), making -C sure that WORD7(1)=0. if LLIST=0 - DO 20 IW= 1, MAXP - WORD7(IW) = ZERO - IF (IW .LE. LLIST) WORD7(IW) = PLIST(IW) - 20 CONTINUE - ICOMND = ICOMND + 1 - NFCNLC = NFCN - IF (CWORD(1:7).NE.'SET PRI' .OR. WORD7(1).GE.0.) THEN - IF (ISW(5) .GE. 0) THEN - LNOW = LLIST - IF (LNOW .GT. 4) LNOW=4 - WRITE (ISYSWR,25) ICOMND,CWORD(1:LK),(PLIST(I),I=1,LNOW) - 25 FORMAT (1H ,10(1H*)/' **',I5,' **',A,4G12.4) - INONDE = 0 - IF (LLIST .GT. LNOW) THEN - KLL = LLIST - IF (LLIST .GT. MAXP) THEN - INONDE = 1 - KLL = MAXP - ENDIF - WRITE (CVBLNK,'(I2)') LK - C26 = '(11H **********,'//CVBLNK//'X,4G12.4)' - WRITE (ISYSWR,C26) (PLIST(I),I=LNOW+1,KLL) - ENDIF - WRITE (ISYSWR, '(1H ,10(1H*))' ) - IF (INONDE .GT. 0) WRITE (ISYSWR, '(1H ,10(1H*),A,I3,A)') - + ' ERROR: ABOVE CALL TO MNEXCM TRIED TO PASS MORE THAN ', - + MAXP,' PARAMETERS.' - ENDIF - ENDIF - NFCNMX = WORD7(1) - IF (NFCNMX .LE. 0) NFCNMX = 200 + 100*NPAR + 5*NPAR**2 - EPSI = WORD7(2) - IF (EPSI .LE. ZERO) EPSI = 0.1 * UP - LNEWMN = .FALSE. - LPHEAD = .TRUE. - ISW(1) = 0 - IERFLG = 0 -C look for command in list CNAME . . . . . . . . . . - DO 80 I= 1, NNTOT - IF (CWORD(1:3) .EQ. CNAME(I)(1:3)) GO TO 90 - 80 CONTINUE - WRITE (ISYSWR,'(11X,''UNKNOWN COMMAND IGNORED:'',A)') COMAND - IERFLG = 3 - GO TO 5000 -C normal case: recognized MINUIT command . . . . . . . - 90 CONTINUE - IF (CWORD(1:4) .EQ. 'MINO') I = 5 - IF (I.NE.6 .AND. I.NE.7 .AND. I.NE.8 .AND. I.NE.23) THEN - CFROM = CNAME(I) - NFCNFR = NFCN - ENDIF -C 1 2 3 4 5 6 7 8 9 10 - GO TO ( 400, 200, 300, 400, 500, 700, 700, 800, 900,1000, - 1 1100,1200,1300,1400,1500,1600,1700,1800,1900,1900, - 2 1900,2200,2300,2400,1900,2600,3300,3300,3300,3300, - 3 3300,3300,3300,3400,3500,3600,3700,3800,3900,4000) , I -C . . . . . . . . . . seek - 200 CALL MNSEEK(FCN,FUTIL) - GO TO 5000 -C . . . . . . . . . . simplex - 300 CALL MNSIMP(FCN,FUTIL) - IF (ISW(4) .LT. 1) IERFLG = 4 - GO TO 5000 -C . . . . . . migrad, minimize - 400 CONTINUE - NF = NFCN - APSI = EPSI - CALL MNMIGR(FCN,FUTIL) - CALL MNWERR - IF (ISW(4) .GE. 1) GO TO 5000 - IERFLG = 4 - IF (ISW(1) .EQ. 1) GO TO 5000 - IF (CWORD(1:3) .EQ. 'MIG') GO TO 5000 - NFCNMX = NFCNMX + NF - NFCN - NF = NFCN - CALL MNSIMP(FCN,FUTIL) - IF (ISW(1) .EQ. 1) GO TO 5000 - NFCNMX = NFCNMX + NF - NFCN - CALL MNMIGR(FCN,FUTIL) - IF (ISW(4) .GE. 1) IERFLG = 0 - CALL MNWERR - GO TO 5000 -C . . . . . . . . . . minos - 500 CONTINUE - NSUPER = NFCN + 2*(NPAR+1)*NFCNMX -C possible loop over new minima - EPSI = 0.1 * UP - 510 CONTINUE - CALL MNCUVE(FCN,FUTIL) - CALL MNMNOS(FCN,FUTIL) - IF (.NOT. LNEWMN) GO TO 5000 - CALL MNRSET(0) - CALL MNMIGR(FCN,FUTIL) - CALL MNWERR - IF (NFCN .LT. NSUPER) GO TO 510 - WRITE (ISYSWR,'(/'' TOO MANY FUNCTION CALLS. MINOS GIVES UP''/)') - IERFLG = 4 - GO TO 5000 -C . . . . . . . . . .set, show - 700 CALL MNSET(FCN,FUTIL) - GO TO 5000 -C . . . . . . . . . . top of page - 800 CONTINUE - WRITE (ISYSWR,'(1H1)') - GO TO 5000 -C . . . . . . . . . . fix - 900 LTOFIX = .TRUE. -C . . (also release) .... - 901 CONTINUE - LFREED = .FALSE. - LFIXED = .FALSE. - IF (LLIST .EQ. 0) THEN - WRITE (ISYSWR,'(A,A)') CWORD,': NO PARAMETERS REQUESTED ' - GO TO 5000 - ENDIF - DO 950 ILIST= 1, LLIST - IEXT = PLIST(ILIST) - CHWHY = ' IS UNDEFINED.' - IF (IEXT .LE. 0) GO TO 930 - IF (IEXT .GT. NU) GO TO 930 - IF (NVARL(IEXT) .LT. 0) GO TO 930 - CHWHY = ' IS CONSTANT. ' - IF (NVARL(IEXT) .EQ. 0) GO TO 930 - IINT = NIOFEX(IEXT) - IF (LTOFIX) THEN - CHWHY = ' ALREADY FIXED.' - IF (IINT .EQ. 0) GO TO 930 - CALL MNFIXP(IINT,IERR) - IF (IERR .EQ. 0) THEN - LFIXED = .TRUE. - ELSE - IERFLG = 4 - ENDIF - ELSE - CHWHY = ' ALREADY VARIABLE.' - IF (IINT .GT. 0) GO TO 930 - KRL = -IABS(IEXT) - CALL MNFREE(KRL) - LFREED = .TRUE. - ENDIF - GO TO 950 - 930 WRITE (ISYSWR,'(A,I4,A,A)') ' PARAMETER',IEXT,CHWHY,' IGNORED.' - 950 CONTINUE - IF (LFREED .OR. LFIXED) CALL MNRSET(0) - IF (LFREED) THEN - ISW(2) = 0 - DCOVAR = 1. - EDM = BIGEDM - ISW(4) = 0 - ENDIF - CALL MNWERR - IF (ISW(5) .GT. 1) CALL MNPRIN(5,AMIN) - GO TO 5000 -C . . . . . . . . . . restore - 1000 IT = WORD7(1) - IF (IT.GT.1 .OR. IT.LT.0) GO TO 1005 - LFREED = (NPFIX .GT. 0) - CALL MNFREE(IT) - IF (LFREED) THEN - CALL MNRSET(0) - ISW(2) = 0 - DCOVAR = 1. - EDM = BIGEDM - ENDIF - GO TO 5000 - 1005 WRITE (ISYSWR,'(A,I4)') ' IGNORED. UNKNOWN ARGUMENT:',IT - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . release - 1100 LTOFIX = .FALSE. - GO TO 901 -C . . . . . . . . . . scan . . . - 1200 CONTINUE - IEXT = WORD7(1) - IF (IEXT .LE. 0) GO TO 1210 - IT2 = 0 - IF (IEXT .LE. NU) IT2 = NIOFEX(IEXT) - IF (IT2 .LE. 0) GO TO 1250 - 1210 CALL MNSCAN(FCN,FUTIL) - GO TO 5000 - 1250 WRITE (ISYSWR,'(A,I4,A)') ' PARAMETER',IEXT,' NOT VARIABLE.' - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . contour - 1300 CONTINUE - KE1 = WORD7(1) - KE2 = WORD7(2) - IF (KE1 .EQ. 0) THEN - IF (NPAR .EQ. 2) THEN - KE1 = NEXOFI(1) - KE2 = NEXOFI(2) - ELSE - WRITE (ISYSWR,'(A,A)') CWORD,': NO PARAMETERS REQUESTED ' - IERFLG = 3 - GO TO 5000 - ENDIF - ENDIF - NFCNMX = 1000 - CALL MNCNTR(FCN,KE1,KE2,IERRF,FUTIL) - IF (IERRF .GT. 0) IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . hesse - 1400 CONTINUE - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - IF (ISW(5) .GE. 0) CALL MNPRIN(2, AMIN) - IF (ISW(5) .GE. 1) CALL MNMATU(1) - GO TO 5000 -C . . . . . . . . . . save - 1500 CONTINUE - CALL MNSAVE - GO TO 5000 -C . . . . . . . . . . improve - 1600 CONTINUE - CALL MNCUVE(FCN,FUTIL) - CALL MNIMPR(FCN,FUTIL) - IF (LNEWMN) GO TO 400 - IERFLG = 4 - GO TO 5000 -C . . . . . . . . . . call fcn - 1700 IFLAG = WORD7(1) - NPARX = NPAR - F = UNDEFI - CALL FCN(NPARX,GIN,F,U,IFLAG,FUTIL) - NFCN = NFCN + 1 - NOWPRT = 0 - IF (F .NE. UNDEFI) THEN - IF (AMIN .EQ. UNDEFI) THEN - AMIN = F - NOWPRT = 1 - ELSE IF (F .LT. AMIN) THEN - AMIN = F - NOWPRT = 1 - ENDIF - IF (ISW(5).GE.0 .AND. IFLAG.LE.5 .AND. NOWPRT.EQ.1) - + CALL MNPRIN(5,AMIN) - IF (IFLAG .EQ. 3) FVAL3=F - ENDIF - IF (IFLAG .GT. 5) CALL MNRSET(1) - GO TO 5000 -C . . . . . . . . . . standard - 1800 CALL STAND - GO TO 5000 -C . . . return, stop, end, exit - 1900 IT = WORD7(1) - IF (FVAL3 .NE. AMIN .AND. IT .EQ. 0) THEN - IFLAG = 3 - IF (ISW(5) .GE. 0) - +WRITE (ISYSWR,'(/A/)') ' CALL TO USER FUNCTION WITH IFLAG = 3' - NPARX = NPAR - CALL FCN(NPARX,GIN,F,U,IFLAG,FUTIL) - NFCN = NFCN + 1 - FVAL3 = F - ENDIF - IERFLG = 11 - IF (CWORD(1:3) .EQ. 'END') IERFLG = 10 - IF (CWORD(1:3) .EQ. 'RET') IERFLG = 12 - GO TO 5000 -C . . . . . . . . . . clear - 2200 CONTINUE - CALL MNCLER - IF (ISW(5) .GE. 1) WRITE (ISYSWR,'(A)') - + ' MINUIT MEMORY CLEARED. NO PARAMETERS NOW DEFINED.' - GO TO 5000 -C . . . . . . . . . . help - 2300 CONTINUE -CCCC IF (INDEX(CWORD,'SHO') .GT. 0) GO TO 700 -CCCC IF (INDEX(CWORD,'SET') .GT. 0) GO TO 700 - KCOL = 0 - DO 2310 ICOL= 5,LK - IF (CWORD(ICOL:ICOL) .EQ. ' ') GO TO 2310 - KCOL = ICOL - GO TO 2320 - 2310 CONTINUE - 2320 CONTINUE - IF (KCOL .EQ. 0) THEN - COMD = '* ' - ELSE - COMD = CWORD(KCOL:LK) - ENDIF - CALL MNHELP(COMD,ISYSWR) - GO TO 5000 -C . . . . . . . . . . MNContour - 2400 CONTINUE - EPSI = 0.05 * UP - KE1 = WORD7(1) - KE2 = WORD7(2) - IF (KE1.EQ.0 .AND. NPAR.EQ.2) THEN - KE1 = NEXOFI(1) - KE2 = NEXOFI(2) - ENDIF - NPTU = WORD7(3) - IF (NPTU .LE. 0) NPTU=20 - IF (NPTU .GT. MXPT) NPTU = MXPT - NFCNMX = 100*(NPTU+5)*(NPAR+1) - CALL MNCONT(FCN,KE1,KE2,NPTU,XPTU,YPTU,IERRF,FUTIL) - IF (IERRF .LT. NPTU) IERFLG = 4 - IF (IERRF .EQ. -1) IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . jump - 2600 CONTINUE - STEP = WORD7(1) - IF (STEP .LE. ZERO) STEP = 2. - RNO = 0. - IZERO = 0 - DO 2620 I= 1, NPAR - CALL MNRN15(RNO,IZERO) - RNO = 2.0*RNO - 1.0 - 2620 X(I) = X(I) + RNO*STEP*WERR(I) - CALL MNINEX(X) - CALL MNAMIN(FCN,FUTIL) - CALL MNRSET(0) - GO TO 5000 -C . . . . . . . . . . blank line - 3300 CONTINUE - WRITE (ISYSWR,'(10X,A)') ' BLANK COMMAND IGNORED.' - IERFLG = 1 - GO TO 5000 -C . . . . . . . . obsolete commands . . . . . . . . . . . . . . -C . . . . . . . . . . covariance - 3400 CONTINUE - WRITE (ISYSWR, '(A)') ' THE "COVARIANCE" COMMAND IS OSBSOLETE.', - + ' THE COVARIANCE MATRIX IS NOW SAVED IN A DIFFERENT FORMAT', - + ' WITH THE "SAVE" COMMAND AND READ IN WITH:"SET COVARIANCE"' - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . printout - 3500 CONTINUE - CNEWAY = 'SET PRInt ' - GO TO 3100 -C . . . . . . . . . . gradient - 3600 CONTINUE - CNEWAY = 'SET GRAd ' - GO TO 3100 -C . . . . . . . . . . matout - 3700 CONTINUE - CNEWAY = 'SHOW COVar' - GO TO 3100 -C . . . . . . . . . error def - 3800 CONTINUE - CNEWAY = 'SET ERRdef' - GO TO 3100 -C . . . . . . . . . . limits - 3900 CONTINUE - CNEWAY = 'SET LIMits' - GO TO 3100 -C . . . . . . . . . . punch - 4000 CONTINUE - CNEWAY = 'SAVE ' -C ....... come from obsolete commands - 3100 WRITE (ISYSWR, 3101) CWORD,CNEWAY - 3101 FORMAT (' OBSOLETE COMMAND:',1X,A10,5X,'PLEASE USE:',1X,A10) - CWORD = CNEWAY - IF (CWORD .EQ. 'SAVE ') GO TO 1500 - GO TO 700 -C . . . . . . . . . . . . . . . . . . - 5000 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnexin.F b/graphics/Qat/QatDataModeling/src/mnexin.F deleted file mode 100644 index ebb836153cc..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnexin.F +++ /dev/null @@ -1,33 +0,0 @@ -* -* $Id: mnexin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnexin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEXIN(PINT) -#include "QatDataModeling/d506dp.inc" -CC Transforms the external parameter values U to internal -CC values in the dense array PINT. Subroutine MNPINT is used. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PINT(*) - LIMSET = .FALSE. - DO 100 IINT= 1, NPAR - IEXT = NEXOFI(IINT) - CALL MNPINT(U(IEXT),IEXT,PINTI) - PINT(IINT) = PINTI - 100 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnfixp.F b/graphics/Qat/QatDataModeling/src/mnfixp.F deleted file mode 100644 index 48754b39f31..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnfixp.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: mnfixp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnfixp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNFIXP(IINT,IERR) -#include "QatDataModeling/d506dp.inc" -CC removes parameter IINT from the internal (variable) parameter -CC list, and arranges the rest of the list to fill the hole. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION YY(MNI) -C first see if it can be done - IERR = 0 - IF (IINT.GT.NPAR .OR. IINT.LE.0) THEN - IERR = 1 - WRITE (ISYSWR,'(A,I4)') - + ' MINUIT ERROR. ARGUMENT TO MNFIXP=',IINT - GO TO 300 - ENDIF - IEXT = NEXOFI(IINT) - IF (NPFIX .GE. MNI) THEN - IERR = 1 - WRITE (ISYSWR,'(A,I4,A,I4)') ' MINUIT CANNOT FIX PARAMETER', - + IEXT,' MAXIMUM NUMBER THAT CAN BE FIXED IS',MNI - GO TO 300 - ENDIF -C reduce number of variable parameters by one - NIOFEX(IEXT) = 0 - NOLD = NPAR - NPAR = NPAR - 1 -C save values in case parameter is later restored - NPFIX = NPFIX + 1 - IPFIX(NPFIX) = IEXT - LC = IINT - XS(NPFIX) = X(LC) - XTS(NPFIX) = XT(LC) - DIRINS(NPFIX) = WERR(LC) - GRDS(NPFIX) = GRD(LC) - G2S(NPFIX) = G2(LC) - GSTEPS(NPFIX) = GSTEP(LC) -C shift values for other parameters to fill hole - DO 100 IK= IEXT+1, NU - IF (NIOFEX(IK) .GT. 0) THEN - LC = NIOFEX(IK) - 1 - NIOFEX(IK) = LC - NEXOFI(LC) = IK - X(LC) = X(LC+1) - XT(LC) = XT(LC+1) - DIRIN(LC) = DIRIN(LC+1) - WERR(LC) = WERR(LC+1) - GRD(LC) = GRD(LC+1) - G2(LC) = G2(LC+1) - GSTEP(LC) = GSTEP(LC+1) - ENDIF - 100 CONTINUE - IF (ISW(2) .LE. 0) GO TO 300 -C remove one row and one column from variance matrix - IF (NPAR .LE. 0) GO TO 300 - DO 260 I= 1, NOLD - M = MAX(I,IINT) - N = MIN(I,IINT) - NDEX = M*(M-1)/2 + N - 260 YY(I)=VHMAT(NDEX) - YYOVER = 1.0/YY(IINT) - KNEW = 0 - KOLD = 0 - DO 294 I= 1, NOLD - DO 292 J= 1, I - KOLD = KOLD + 1 - IF (J.EQ.IINT .OR. I.EQ.IINT) GO TO 292 - KNEW = KNEW + 1 - VHMAT(KNEW) = VHMAT(KOLD) - YY(J)*YY(I)*YYOVER - 292 CONTINUE - 294 CONTINUE - 300 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnfree.F b/graphics/Qat/QatDataModeling/src/mnfree.F deleted file mode 100644 index dd2f44e7a3e..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnfree.F +++ /dev/null @@ -1,118 +0,0 @@ -* -* $Id: mnfree.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnfree.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNFREE(K) -#include "QatDataModeling/d506dp.inc" -CC Restores one or more fixed parameter(s) to variable status -CC by inserting it into the internal parameter list at the -CC appropriate place. -CC -#include "QatDataModeling/d506cm.inc" -C-- K = 0 means restore all parameters -C-- K = 1 means restore the last parameter fixed -C-- K = -I means restore external parameter I (if possible) -C-- IQ = fix-location where internal parameters were stored -C-- IR = external number of parameter being restored -C-- IS = internal number of parameter being restored - IF (K .GT. 1) WRITE (ISYSWR,510) - IF (NPFIX .LT. 1) WRITE (ISYSWR,500) - IF (K.EQ.1 .OR. K.EQ.0) GO TO 40 -C release parameter with specified external number - KA = IABS(K) - IF (NIOFEX(KA) .EQ. 0) GO TO 15 - WRITE (ISYSWR,540) - 540 FORMAT (' IGNORED. PARAMETER SPECIFIED IS ALREADY VARIABLE.') - RETURN - 15 IF (NPFIX .LT. 1) GO TO 21 - DO 20 IK= 1, NPFIX - IF (IPFIX(IK) .EQ. KA) GO TO 24 - 20 CONTINUE - 21 WRITE (ISYSWR,530) KA - 530 FORMAT (' PARAMETER',I4,' NOT FIXED. CANNOT BE RELEASED.') - RETURN - 24 IF (IK .EQ. NPFIX) GO TO 40 -C move specified parameter to end of list - IPSAV = KA - XV = XS(IK) - XTV = XTS(IK) - DIRINV = DIRINS(IK) - GRDV = GRDS(IK) - G2V = G2S(IK) - GSTEPV = GSTEPS(IK) - DO 30 I= IK+1,NPFIX - IPFIX(I-1) = IPFIX(I) - XS(I-1) = XS(I) - XTS(I-1) = XTS(I) - DIRINS(I-1) = DIRINS(I) - GRDS(I-1) = GRDS(I) - G2S(I-1) = G2S(I) - GSTEPS(I-1) = GSTEPS(I) - 30 CONTINUE - IPFIX(NPFIX) = IPSAV - XS(NPFIX) = XV - XTS(NPFIX) = XTV - DIRINS(NPFIX) = DIRINV - GRDS(NPFIX) = GRDV - G2S(NPFIX) = G2V - GSTEPS(NPFIX) = GSTEPV -C restore last parameter in fixed list -- IPFIX(NPFIX) - 40 CONTINUE - IF (NPFIX .LT. 1) GO TO 300 - IR = IPFIX(NPFIX) - IS = 0 - DO 100 IK= NU, IR, -1 - IF (NIOFEX(IK) .GT. 0) THEN - LC = NIOFEX(IK) + 1 - IS = LC - 1 - NIOFEX(IK) = LC - NEXOFI(LC) = IK - X(LC) = X(LC-1) - XT(LC) = XT(LC-1) - DIRIN(LC) = DIRIN(LC-1) - WERR(LC) = WERR(LC-1) - GRD(LC) = GRD(LC-1) - G2(LC) = G2(LC-1) - GSTEP(LC) = GSTEP(LC-1) - ENDIF - 100 CONTINUE - NPAR = NPAR + 1 - IF (IS .EQ. 0) IS = NPAR - NIOFEX(IR) = IS - NEXOFI(IS) = IR - IQ = NPFIX - X(IS) = XS(IQ) - XT(IS) = XTS(IQ) - DIRIN(IS) = DIRINS(IQ) - WERR(IS) = DIRINS(IQ) - GRD(IS) = GRDS(IQ) - G2(IS) = G2S(IQ) - GSTEP(IS) = GSTEPS(IQ) - NPFIX = NPFIX - 1 - ISW(2) = 0 - DCOVAR = 1. - IF (ISW(5)-ITAUR .GE. 1) WRITE(ISYSWR,520) IR,CPNAM(IR) - IF (K.EQ.0) GO TO 40 - 300 CONTINUE -C if different from internal, external values are taken - CALL MNEXIN(X) - 400 RETURN - 500 FORMAT (' CALL TO MNFREE IGNORED. THERE ARE NO FIXED PA', - + 'RAMETERS'/) - 510 FORMAT (' CALL TO MNFREE IGNORED. ARGUMENT GREATER THAN ONE'/) - 520 FORMAT (20X, 9HPARAMETER,I4,2H, ,A10,' RESTORED TO VARIABLE.') - END diff --git a/graphics/Qat/QatDataModeling/src/mngrad.F b/graphics/Qat/QatDataModeling/src/mngrad.F deleted file mode 100644 index b18480b7b34..00000000000 --- a/graphics/Qat/QatDataModeling/src/mngrad.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: mngrad.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mngrad.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNGRAD(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNSET -CC Interprets the SET GRAD command, which informs MINUIT whether -CC the first derivatives of FCN will be calculated by the user -CC inside FCN. It can check the user's derivative calculation -CC by comparing it with a finite difference approximation. -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL FCN,FUTIL - CHARACTER*4 CGOOD,CBAD,CNONE,CWD - LOGICAL LNONE - DIMENSION GF(MNI) - PARAMETER (CGOOD='GOOD',CBAD=' BAD',CNONE='NONE') -C - ISW(3) = 1 - NPARX = NPAR - IF (WORD7(1) .GT. ZERO) GO TO 2000 -C get user-calculated first derivatives from FCN - DO 30 I= 1, NU - 30 GIN(I) = UNDEFI - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - CALL MNDERI(FCN,FUTIL) - DO 40 I= 1, NPAR - 40 GF(I) = GRD(I) -C get MINUIT-calculated first derivatives - ISW(3) = 0 - ISTSAV = ISTRAT - ISTRAT = 2 - CALL MNHES1(FCN,FUTIL) - ISTRAT = ISTSAV - WRITE (ISYSWR,51) - 51 FORMAT(/' CHECK OF GRADIENT CALCULATION IN FCN'/12X,'PARAMETER', - + 6X,9HG(IN FCN) ,3X,9HG(MINUIT) ,2X,'DG(MINUIT)',3X,9HAGREEMENT) - ISW(3) = 1 - LNONE = .FALSE. - DO 100 LC = 1, NPAR - I = NEXOFI(LC) - CWD = CGOOD - ERR = DGRD(LC) - IF (ABS(GF(LC)-GRD(LC)) .GT. ERR) CWD = CBAD - IF (GIN(I) .EQ. UNDEFI) THEN - CWD = CNONE - LNONE = .TRUE. - GF(LC) = 0. - ENDIF - IF (CWD .NE. CGOOD) ISW(3) = 0 - WRITE (ISYSWR,99) I,CPNAM(I),GF(LC),GRD(LC),ERR,CWD - 99 FORMAT (7X,I5,2X ,A10,3E12.4,4X ,A4) - 100 CONTINUE - IF (LNONE) WRITE (ISYSWR,'(A)') - + ' AGREEMENT=NONE MEANS FCN DID NOT CALCULATE THE DERIVATIVE' - IF (ISW(3) .EQ. 0) WRITE (ISYSWR,1003) - 1003 FORMAT(/' MINUIT DOES NOT ACCEPT DERIVATIVE CALCULATIONS BY FCN'/ - + ' TO FORCE ACCEPTANCE, ENTER "SET GRAD 1"'/) -C - 2000 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhelp.F b/graphics/Qat/QatDataModeling/src/mnhelp.F deleted file mode 100644 index aaa80f06307..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnhelp.F +++ /dev/null @@ -1,633 +0,0 @@ -* -* $Id: mnhelp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhelp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1999/09/03 09:17:47 couet -* - \Cind{} removed in the help of MINUIT. This was a Tex directive which very -* likely has been forgotten during a Tex to f77 translation. This didn't -* compile on RH6. -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHELP(COMD,LOUT) -*. -*. HELP routine for MINUIT interactive commands. -*. -*. COMD ='* ' prints a global help for all commands -*. COMD =Command_name: print detailed help for one command. -*. Note that at least 3 characters must be given for the command name. -*. -*. Author: Rene Brun -* comments extracted from the MINUIT documentation file. -*. - CHARACTER*(*) COMD - CHARACTER*3 CMD3 -*. -*-- command name ASSUMED to be in upper case -*__________________________________________________________________ -*-- -*-- Global HELP: Summary of all commands -*-- ==================================== -*-- - IF(COMD(1:1) .EQ. '*')THEN - WRITE(LOUT,10000) - WRITE(LOUT,10001) - GO TO 99 - ENDIF -10000 FORMAT(' ==>List of MINUIT Interactive commands:',/, - +' CLEar Reset all parameter names and values undefined',/, - +' CONtour Make contour map of the user function',/, - +' EXIT Exit from Interactive Minuit',/, - +' FIX Cause parameter(s) to remain constant',/, - +' HESse Calculate the Hessian or error matrix.',/, - +' IMPROVE Search for a new minimum around current minimum',/, - +' MIGrad Minimize by the method of Migrad',/, - +' MINImize MIGRAD + SIMPLEX method if Migrad fails',/, - +' MINOs Exact (non-linear) parameter error analysis') -10001 FORMAT(' MNContour Calculate one MINOS function contour',/, - +' PARameter Define or redefine new parameters and values',/, - +' RELease Make previously FIXed parameters variable again',/, - +' REStore Release last parameter fixed',/, - +' SAVe Save current parameter values on a file',/, - +' SCAn Scan the user function by varying parameters',/, - +' SEEk Minimize by the method of Monte Carlo',/, - +' SET Set various MINUIT constants or conditions',/, - +' SHOw Show values of current constants or conditions',/, - +' SIMplex Minimize by the method of Simplex') -* - CMD3=COMD(1:3) -*__________________________________________________________________ -*-- -*-- Command CLEAR -*-- ============= -*. - IF(CMD3.EQ.'CLE')THEN - WRITE(LOUT,10100) - GO TO 99 - ENDIF -10100 FORMAT(' ***>CLEAR',/, - +' Resets all parameter names and values to undefined.',/, - +' Must normally be followed by a PARameters command or ',/, - +' equivalent, in order to define parameter values.') -*__________________________________________________________________ -*-- -*-- Command CONTOUR -*-- =============== -*. - IF(CMD3.EQ.'CON')THEN - WRITE(LOUT,10200) - GO TO 99 - ENDIF -10200 FORMAT(' ***>CONTOUR <par1> <par2> [devs] [ngrid]',/, - +' Instructs Minuit to trace contour lines of the user function',/, - +' with respect to the two parameters whose external numbers',/, - +' are <par1> and <par2>.',/, - +' Other variable parameters of the function, if any, will have',/, - +' their values fixed at the current values during the contour',/, - +' tracing. The optional parameter [devs] (default value 2.)',/, - +' gives the number of standard deviations in each parameter',/, - +' which should lie entirely within the plotting area.',/, - +' Optional parameter [ngrid] (default value 25 unless page',/, - +' size is too small) determines the resolution of the plot,',/, - +' i.e. the number of rows and columns of the grid at which the',/, - +' function will be evaluated. [See also MNContour.]') -*__________________________________________________________________ -*-- -*-- Command END -*-- =========== -*. - IF(CMD3.EQ.'END')THEN - WRITE(LOUT,10300) - GO TO 99 - ENDIF -10300 FORMAT(' ***>END',/, - +' Signals the end of a data block (i.e., the end of a fit),',/, - +' and implies that execution should continue, because another',/, - +' Data Block follows. A Data Block is a set of Minuit data',/, - +' consisting of',/, - +' (1) A Title,',/, - +' (2) One or more Parameter Definitions,',/, - +' (3) A blank line, and',/, - +' (4) A set of Minuit Commands.',/, - +' The END command is used when more than one Data Block is to',/, - +' be used with the same FCN function. It first causes Minuit',/, - +' to issue a CALL FCN with IFLAG=3, in order to allow FCN to',/, - +' perform any calculations associated with the final fitted',/, - +' parameter values, unless a CALL FCN 3 command has already',/, - +' been executed at the current FCN value.') -*__________________________________________________________________ -*. -*-- -*-- Command EXIT -*-- ============ - IF(CMD3 .EQ.'EXI')THEN - WRITE(LOUT,10400) - GO TO 99 - ENDIF -10400 FORMAT(' ***>EXIT',/, - +' Signals the end of execution.',/, - +' The EXIT command first causes Minuit to issue a CALL FCN',/, - +' with IFLAG=3, to allow FCN to perform any calculations',/, - +' associated with the final fitted parameter values, unless a',/, - +' CALL FCN 3 command has already been executed.') -*__________________________________________________________________ -*-- -*-- Command FIX -*-- =========== -*. - IF(CMD3.EQ.'FIX')THEN - WRITE(LOUT,10500) - GO TO 99 - ENDIF -10500 FORMAT(' ***>FIX} <parno> [parno] ... [parno]',/, - +' Causes parameter(s) <parno> to be removed from the list of',/, - +' variable parameters, and their value(s) will remain constant',/, - +' during subsequent minimizations, etc., until another command',/, - +' changes their value(s) or status.') -*__________________________________________________________________ -*-- -*-- Command HESSE -*-- ============= -*. - IF(CMD3.EQ.'HES')THEN - WRITE(LOUT,10600) - GO TO 99 - ENDIF -10600 FORMAT(' ***>HESse [maxcalls]',/, - +' Calculate, by finite differences, the Hessian or error matrix.', - +/,' That is, it calculates the full matrix of second derivatives' - +,/,' of the function with respect to the currently variable',/, - +' parameters, and inverts it, printing out the resulting error',/, - +' matrix. The optional argument [maxcalls] specifies the',/, - +' (approximate) maximum number of function calls after which',/, - +' the calculation will be stopped.') -*__________________________________________________________________ -*-- -*-- Command IMPROVE -*-- =============== -*. - IF(CMD3.EQ.'IMP')THEN - WRITE(LOUT,10700) - GO TO 99 - ENDIF -10700 FORMAT(' ***>IMPROVE [maxcalls]',/, - +' If a previous minimization has converged, and the current',/, - +' values of the parameters therefore correspond to a local',/, - +' minimum of the function, this command requests a search for',/, - +' additional distinct local minima.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls after which the calculation',/, - +' will be stopped.') -*__________________________________________________________________ -*-- -*-- Command MIGRAD -*-- ============== -*. - IF(CMD3.EQ.'MIG')THEN - WRITE(LOUT,10800) - GO TO 99 - ENDIF -10800 FORMAT(' ***>MIGrad [maxcalls] [tolerance]',/, - +' Causes minimization of the function by the method of Migrad,',/, - +' the most efficient and complete single method, recommended',/, - +' for general functions (see also MINImize).',/, - +' The minimization produces as a by-product the error matrix',/, - +' of the parameters, which is usually reliable unless warning',/, - +' messages are produced.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls after which the calculation',/, - +' will be stopped even if it has not yet converged.',/, - +' The optional argument [tolerance] specifies required tolerance', - +/,' on the function value at the minimum.',/, - +' The default tolerance is 0.1, and the minimization will stop',/, - +' when the estimated vertical distance to the minimum (EDM) is',/, - +' less than 0.001*[tolerance]*UP (see [SET ERRordef]).') -*__________________________________________________________________ -*-- -*-- Command MINIMIZE -*-- ================ -*. - IF(COMD(1:4).EQ.'MINI')THEN - WRITE(LOUT,10900) - GO TO 99 - ENDIF -10900 FORMAT(' ***>MINImize [maxcalls] [tolerance]',/, - +' Causes minimization of the function by the method of Migrad,',/, - +' as does the MIGrad command, but switches to the SIMplex method', - +/,' if Migrad fails to converge. Arguments are as for MIGrad.',/, - +' Note that command requires four characters to be unambiguous.') -*__________________________________________________________________ -*-- -*-- Command MINOS -*-- ============= -*. - IF(COMD(1:4).EQ.'MINO')THEN - WRITE(LOUT,11000) - GO TO 99 - ENDIF -11000 FORMAT(' ***>MINOs [maxcalls] [parno] [parno] ...',/, - +' Causes a Minos error analysis to be performed on the parameters' - +,/,' whose numbers [parno] are specified. If none are specified,', - +/,' Minos errors are calculated for all variable parameters.',/, - +' Minos errors may be expensive to calculate, but are very',/, - +' reliable since they take account of non-linearities in the',/, - +' problem as well as parameter correlations, and are in general',/ - +' asymmetric.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls per parameter requested,',/, - +' after which the calculation will stop for that parameter.') -*__________________________________________________________________ -*-- -*-- Command MNCONTOUR -*-- ================= -*. - IF(CMD3.EQ.'MNC')THEN - WRITE(LOUT,11100) - GO TO 99 - ENDIF -11100 FORMAT(' ***>MNContour <par1> <par2> [npts]',/, - +' Calculates one function contour of FCN with respect to',/, - +' parameters par1 and par2, with FCN minimized always with',/, - +' respect to all other NPAR-2 variable parameters (if any).',/, - +' Minuit will try to find npts points on the contour (default 20)' - +,/,' If only two parameters are variable at the time, it is not', - +/,' necessary to specify their numbers. To calculate more than',/, - +' one contour, it is necessary to SET ERRordef to the appropriate' - +,/,' value and issue the MNContour command for each contour.') -*__________________________________________________________________ -*-- -*-- Command PARAMETER -*-- ================= -*. - IF(CMD3.EQ.'PAR')THEN - WRITE(LOUT,11150) - GO TO 99 - ENDIF -11150 FORMAT(' ***>PARameters',/, - +' followed by one or more parameter definitions.',/, - +' Parameter definitions are of the form:',/, - +' <number> ''name'' <value> <step> [lolim] [uplim] ',/, - +' for example:',/, - +' 3 ''K width'' 1.2 0.1' ,/, - +' the last definition is followed by a blank line or a zero.') -*__________________________________________________________________ -*-- -*-- Command RELEASE -*-- =============== -*. - IF(CMD3.EQ.'REL')THEN - WRITE(LOUT,11200) - GO TO 99 - ENDIF -11200 FORMAT(' ***>RELease <parno> [parno] ... [parno]',/, - +' If <parno> is the number of a previously variable parameter',/, - +' which has been fixed by a command: FIX <parno>, then that',/, - +' parameter will return to variable status. Otherwise a warning' - +,/,' message is printed and the command is ignored.',/, - +' Note that this command operates only on parameters which were',/ - +' at one time variable and have been FIXed. It cannot make',/, - +' constant parameters variable; that must be done by redefining',/ - +' the parameter with a PARameters command.') -*__________________________________________________________________ -*-- -*-- Command RESTORE -*-- =============== -*. - IF(CMD3.EQ.'RES')THEN - WRITE(LOUT,11300) - GO TO 99 - ENDIF -11300 FORMAT(' ***>REStore [code]',/, - +' If no [code] is specified, this command restores all previously' - +,/,' FIXed parameters to variable status. If [code]=1, then only', - +/,' the last parameter FIXed is restored to variable status.',/, - +' If code is neither zero nor one, the command is ignored.') -*__________________________________________________________________ -*-- -*-- Command RETURN -*-- ============== -*. - IF(CMD3.EQ.'RET')THEN - WRITE(LOUT,11400) - GO TO 99 - ENDIF -11400 FORMAT(' ***>RETURN',/, - +' Signals the end of a data block, and instructs Minuit to return' - +,/,' to the program which called it. The RETurn command first',/, - +' causes Minuit to CALL FCN with IFLAG=3, in order to allow FCN',/ - +,' to perform any calculations associated with the final fitted',/ - +,' parameter values, unless a CALL FCN 3 command has already been' - +,/,' executed at the current FCN value.') -*__________________________________________________________________ -*-- -*-- Command SAVE -*-- ============ -*. - IF(CMD3.EQ.'SAV')THEN - WRITE(LOUT,11500) - GO TO 99 - ENDIF -11500 FORMAT(' ***>SAVe',/, - +' Causes the current parameter values to be saved on a file in',/, - +' such a format that they can be read in again as Minuit',/, - +' parameter definitions. If the covariance matrix exists, it is',/ - +,' also output in such a format. The unit number is by default 7,' - +,/,' or that specified by the user in his call to MINTIO or',/, - +' MNINIT. The user is responsible for opening the file previous' - +,/,' to issuing the [SAVe] command (except where this can be done' - +,/,' interactively).') -*__________________________________________________________________ -*-- -*-- Command SCAN -*-- ============ -*. - IF(CMD3.EQ.'SCA')THEN - WRITE(LOUT,11600) - GO TO 99 - ENDIF -11600 FORMAT(' ***>SCAn [parno] [numpts] [from] [to]',/, - +' Scans the value of the user function by varying parameter',/, - +' number [parno], leaving all other parameters fixed at the',/, - +' current value. If [parno] is not specified, all variable',/, - +' parameters are scanned in sequence.',/, - +' The number of points [numpts] in the scan is 40 by default,',/, - +' and cannot exceed 100. The range of the scan is by default',/, - +' 2 standard deviations on each side of the current best value,', - +/,' but can be specified as from [from] to [to].',/, - +' After each scan, if a new minimum is found, the best parameter' - +,/,' values are retained as start values for future scans or',/, - +' minimizations. The curve resulting from each scan is plotted',/ - +,' on the output unit in order to show the approximate behaviour' - +,/,' of the function.',/, - +' This command is not intended for minimization, but is sometimes' - +,/,' useful for debugging the user function or finding a',/, - +' reasonable starting point.') -*__________________________________________________________________ -*-- -*-- Command SEEK -*-- ============ -*. - IF(CMD3.EQ.'SEE')THEN - WRITE(LOUT,11700) - GO TO 99 - ENDIF -11700 FORMAT(' ***>SEEk [maxcalls] [devs]',/, - +' Causes a Monte Carlo minimization of the function, by choosing', - +/,' random values of the variable parameters, chosen uniformly',/, - +' over a hypercube centered at the current best value.',/, - +' The region size is by default 3 standard deviations on each',/, - +' side, but can be changed by specifying the value of [devs].') -*__________________________________________________________________ -*-- -*-- Command SET -*-- =========== -*. - IF(CMD3.EQ.'SET')THEN - WRITE(LOUT,11800) - WRITE(LOUT,11801) - WRITE(LOUT,11802) - WRITE(LOUT,11803) - WRITE(LOUT,11804) - WRITE(LOUT,11805) - WRITE(LOUT,11806) - WRITE(LOUT,11807) - WRITE(LOUT,11808) - WRITE(LOUT,11809) - WRITE(LOUT,11810) - WRITE(LOUT,11811) - WRITE(LOUT,11812) - WRITE(LOUT,11813) - WRITE(LOUT,11814) - WRITE(LOUT,11815) - WRITE(LOUT,11816) - WRITE(LOUT,11817) - GO TO 99 - ENDIF -11800 FORMAT(' ***>SET <option_name>',/,/, - +' SET BATch',/, - +' Informs Minuit that it is running in batch mode.',//, - - +' SET EPSmachine <accuracy>',/, - +' Informs Minuit that the relative floating point arithmetic',/ - +' precision is <accuracy>. Minuit determines the nominal',/, - +' precision itself, but the SET EPSmachine command can be',/, - +' used to override Minuit own determination, when the user',/, - +' knows that the FCN function value is not calculated to',/, - +' the nominal machine accuracy. Typical values of <accuracy>',/ - +' are between 10**-5 and 10**-14.') - -11801 FORMAT(/,' SET ERRordef <up>',/, - +' Sets the value of UP (default value= 1.), defining parameter' - +,/,' errors. Minuit defines parameter errors as the change',/, - +' in parameter value required to change the function value',/, - +' by UP. Normally, for chisquared fits UP=1, and for negative' - +,/,' log likelihood, UP=0.5.') - -11802 FORMAT(/,' SET GRAdient [force]',/, - +' Informs Minuit that the user function is prepared to',/, - +' calculate its own first derivatives and return their values' - +,/,' in the array GRAD when IFLAG=2 (see specs of FCN).',/, - +' If [force] is not specified, Minuit will calculate',/, - +' the FCN derivatives by finite differences at the current',/, - +' point and compare with the user calculation at that point,' - +,/,' accepting the user values only if they agree.',/, - +' If [force]=1, Minuit does not do its own derivative',/, - +' calculation, and uses the derivatives calculated in FCN.') - -11803 FORMAT(/,' SET INPut [unitno] [filename]',/, - +' Causes Minuit, in data-driven mode only, to read subsequent', - +/,' commands (or parameter definitions) from a different input' - +,/,' file. If no [unitno] is specified, reading reverts to the' - +,/,' previous input file, assuming that there was one.',/, - +' If [unitno] is specified, and that unit has not been opened,' - +,/,' then Minuit attempts to open the file [filename]} if a',/, - +' name is specified. If running in interactive mode and',/, - +' [filename] is not specified and [unitno] is not opened,',/, - +' Minuit prompts the user to enter a file name.',/, - +' If the word REWIND is added to the command (note:no blanks',/ - +' between INPUT and REWIND), the file is rewound before',/, - +' reading. Note that this command is implemented in standard',/ - +' Fortran 77 and the results may depend on the system;',/, - +' for example, if a filename is given under VM/CMS, it must',/, - +' be preceeded by a slash.') - -11804 FORMAT(/,' SET INTeractive',/, - +' Informs Minuit that it is running interactively.') - -11805 FORMAT(/,' SET LIMits [parno] [lolim] [uplim]',/, - +' Allows the user to change the limits on one or all',/, - +' parameters. If no arguments are specified, all limits are',/, - +' removed from all parameters. If [parno] alone is specified,', - +/,' limits are removed from parameter [parno].',/, - +' If all arguments are specified, then parameter [parno] will', - +/,' be bounded between [lolim] and [uplim].',/, - +' Limits can be specified in either order, Minuit will take',/, - +' the smaller as [lolim] and the larger as [uplim].',/, - +' However, if [lolim] is equal to [uplim], an error condition', - +/,' results.') - -11806 FORMAT(/,' SET LINesperpage',/, - +' Sets the number of lines for one page of output.',/, - +' Default value is 24 for interactive mode') - -11807 FORMAT(/,' SET NOGradient',/, - +' The inverse of SET GRAdient, instructs Minuit not to', - +/,' use the first derivatives calculated by the user in FCN.') - -11808 FORMAT(/,' SET NOWarnings',/, - +' Supresses Minuit warning messages.') - -11809 FORMAT(/,' SET OUTputfile <unitno>',/, - +' Instructs Minuit to write further output to unit <unitno>.') - -11810 FORMAT(/,' SET PAGethrow <integer>',/, - +' Sets the carriage control character for ``new page'' to',/, - +' <integer>. Thus the value 1 produces a new page, and 0',/, - +' produces a blank line, on some devices (see TOPofpage)') - - -11811 FORMAT(/,' SET PARameter <parno> <value>',/, - +' Sets the value of parameter <parno> to <value>.',/, - +' The parameter in question may be variable, fixed, or',/, - +' constant, but must be defined.') - -11812 FORMAT(/,' SET PRIntout <level>',/, - +' Sets the print level, determining how much output will be',/, - +' produced. Allowed values and their meanings are displayed',/, - +' after a SHOw PRInt command, and are currently <level>=:',/, - +' [-1] no output except from SHOW commands',/, - +' [0] minimum output',/, - +' [1] default value, normal output',/, - +' [2] additional output giving intermediate results.',/, - +' [3] maximum output, showing progress of minimizations.',/ - +' Note: See also the SET WARnings command.') - -11813 FORMAT(/,' SET RANdomgenerator <seed>',/, - +' Sets the seed of the random number generator used in SEEk.',/ - +' This can be any integer between 10000 and 900000000, for',/, - +' example one which was output from a SHOw RANdom command of',/ - +' a previous run.') - -11814 FORMAT(/,' SET STRategy <level>',/, - +' Sets the strategy to be used in calculating first and second' - +,/,' derivatives and in certain minimization methods.',/, - +' In general, low values of <level> mean fewer function calls', - +/,' and high values mean more reliable minimization.',/, - +' Currently allowed values are 0, 1 (default), and 2.') - -11815 FORMAT(/,' SET TITle',/, - +' Informs Minuit that the next input line is to be considered', - +/,' the (new) title for this task or sub-task. This is for',/, - +' the convenience of the user in reading his output.') - -11816 FORMAT(/,' SET WARnings',/, - +' Instructs Minuit to output warning messages when suspicious', - +/,' conditions arise which may indicate unreliable results.',/ - +' This is the default.') - -11817 FORMAT(/,' SET WIDthpage',/, - +' Informs Minuit of the output page width.',/, - +' Default values are 80 for interactive jobs') -*__________________________________________________________________ -*-- -*-- Command SHOW -*-- ============ -*. - IF(CMD3.EQ.'SHO')THEN - WRITE(LOUT,11900) - WRITE(LOUT,11901) - WRITE(LOUT,11902) - WRITE(LOUT,11903) - WRITE(LOUT,11904) - GO TO 99 - ENDIF -11900 FORMAT(' ***>SHOw <option_name>',/, - +' All SET XXXX commands have a corresponding SHOw XXXX command.', - +/,' In addition, the SHOw commands listed starting here have no', - +/,' corresponding SET command for obvious reasons.') - -11901 FORMAT(/,' SHOw CORrelations',/, - +' Calculates and prints the parameter correlations from the',/, - +' error matrix.') - -11902 FORMAT(/,' SHOw COVariance',/, - +' Prints the (external) covariance (error) matrix.') - -11903 FORMAT(/,' SHOw EIGenvalues',/, - +' Calculates and prints the eigenvalues of the covariance',/, - +' matrix.') - -11904 FORMAT(/,' SHOw FCNvalue',/, - +' Prints the current value of FCN.') -*__________________________________________________________________ -*-- -*-- Command SIMPLEX -*-- =============== -*. - IF(CMD3.EQ.'SIM')THEN - WRITE(LOUT,12000) - GO TO 99 - ENDIF -12000 FORMAT(' ***>SIMplex [maxcalls] [tolerance]',/, - +' Performs a function minimization using the simplex method of',/ - +' Nelder and Mead. Minimization terminates either when the',/, - +' function has been called (approximately) [maxcalls] times,',/, - +' or when the estimated vertical distance to minimum (EDM) is',/, - +' less than [tolerance].',/, - +' The default value of [tolerance] is 0.1*UP(see SET ERRordef).') -*__________________________________________________________________ -*-- -*-- Command STANDARD -*-- ================ -*. - IF(CMD3.EQ.'STA')THEN - WRITE(LOUT,12100) - GO TO 99 - ENDIF -12100 FORMAT(' ***>STAndard',/, - +' Causes Minuit to execute the Fortran instruction CALL STAND',/, - +' where STAND is a subroutine supplied by the user.') -*__________________________________________________________________ -*-- -*-- Command STOP -*-- ============ -*. - IF(CMD3.EQ.'STO')THEN - WRITE(LOUT,12200) - GO TO 99 - ENDIF -12200 FORMAT(' ***>STOP',/, - +' Same as EXIT.') -*__________________________________________________________________ -*-- -*-- Command TOPOFPAGE -*-- ================= -*. - IF(CMD3.EQ.'TOP')THEN - WRITE(LOUT,12300) - GO TO 99 - ENDIF -12300 FORMAT(' ***>TOPofpage',/, - +' Causes Minuit to write the character specified in a',/, - +' SET PAGethrow command (default = 1) to column 1 of the output' - +,/,' file, which may or may not position your output medium to', - +/,' the top of a page depending on the device and system.') -*__________________________________________________________________ -* - WRITE(LOUT,13000) -13000 FORMAT(' Unknown MINUIT command. Type HELP for list of commands.') -* - 99 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhes1.F b/graphics/Qat/QatDataModeling/src/mnhes1.F deleted file mode 100644 index c89a386fd1d..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnhes1.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: mnhes1.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhes1.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHES1(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNHESS and MNGRAD -CC Calculate first derivatives (GRD) and uncertainties (DGRD) -CC and appropriate step sizes GSTEP -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - LOGICAL LDEBUG - CHARACTER CBF1*22 - LDEBUG = (IDBG(5) .GE. 1) - IF (ISTRAT .LE. 0) NCYC = 1 - IF (ISTRAT .EQ. 1) NCYC = 2 - IF (ISTRAT .GT. 1) NCYC = 6 - IDRV = 1 - NPARX = NPAR - DFMIN = 4.*EPSMA2*(ABS(AMIN)+UP) -C main loop over parameters - DO 100 I= 1, NPAR - XTF = X(I) - DMIN = 4.*EPSMA2*ABS(XTF) - EPSPRI = EPSMA2 + ABS(GRD(I)*EPSMA2) - OPTSTP = SQRT(DFMIN/(ABS(G2(I))+EPSPRI)) - D = 0.2 * ABS(GSTEP(I)) - IF (D .GT. OPTSTP) D = OPTSTP - IF (D .LT. DMIN) D = DMIN - CHGOLD = 10000. -C iterate reducing step size - DO 50 ICYC= 1, NCYC - X(I) = XTF + D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF -C check if step sizes appropriate - SAG = 0.5*(FS1+FS2-2.0*AMIN) - GRDOLD = GRD(I) - GRDNEW = (FS1-FS2)/(2.0*D) - DGMIN = EPSMAC*(ABS(FS1)+ABS(FS2))/D - IF (LDEBUG) WRITE (ISYSWR,11) I,IDRV,GSTEP(I),D,G2(I),GRDNEW,SAG - 11 FORMAT (I4,I2,6G12.5) - IF (GRDNEW .EQ. ZERO) GO TO 60 - CHANGE = ABS((GRDOLD-GRDNEW)/GRDNEW) - IF (CHANGE.GT.CHGOLD .AND. ICYC.GT.1) GO TO 60 - CHGOLD = CHANGE - GRD(I) = GRDNEW - GSTEP(I) = SIGN(D,GSTEP(I)) -C decrease step until first derivative changes by <5% - IF (CHANGE .LT. 0.05) GO TO 60 - IF (ABS(GRDOLD-GRDNEW) .LT. DGMIN) GO TO 60 - IF (D .LT. DMIN) THEN - CALL MNWARN('D','MNHES1','Step size too small for 1st drv.') - GO TO 60 - ENDIF - D = 0.2*D - 50 CONTINUE -C loop satisfied = too many iter - WRITE (CBF1,'(2G11.3)') GRDOLD,GRDNEW - CALL MNWARN('D','MNHES1','Too many iterations on D1.'//CBF1) - 60 CONTINUE - DGRD(I) = MAX(DGMIN,ABS(GRDOLD-GRDNEW)) - 100 CONTINUE -C end of first deriv. loop - CALL MNINEX(X) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhess.F b/graphics/Qat/QatDataModeling/src/mnhess.F deleted file mode 100644 index cef9ddf4d3e..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnhess.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: mnhess.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhess.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHESS(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Calculates the full second-derivative matrix of FCN -CC by taking finite differences. When calculating diagonal -CC elements, it may iterate so that step size is nearly that -CC which gives function change= UP/10. The first derivatives -CC of course come as a free side effect, but with a smaller -CC step size in order to obtain a known accuracy. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION YY(MNI) - LOGICAL LDEBUG - CHARACTER CBF1*22 -C - LDEBUG = (IDBG(3) .GE. 1) - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IF (ISTRAT .LE. 0) THEN - NCYC = 3 - TLRSTP = 0.5 - TLRG2 = 0.1 - ELSE IF (ISTRAT .EQ. 1) THEN - NCYC = 5 - TLRSTP = 0.3 - TLRG2 = 0.05 - ELSE - NCYC = 7 - TLRSTP = 0.1 - TLRG2 = 0.02 - ENDIF - IF (ISW(5).GE.2 .OR. LDEBUG) WRITE (ISYSWR,'(A)') - + ' START COVARIANCE MATRIX CALCULATION.' - CFROM = 'HESSE ' - NFCNFR = NFCN - CSTATU= 'OK ' - NPARD = NPAR -C make sure starting at the right place - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FS1 .NE. AMIN) THEN - DF = AMIN - FS1 - WRITE (CBF1(1:12),'(G12.3)') DF - CALL MNWARN('D','MNHESS', - + 'function value differs from AMIN by '//CBF1(1:12) ) - ENDIF - AMIN = FS1 - IF (LDEBUG) WRITE (ISYSWR,'(A,A)') ' PAR D GSTEP ', - +' D G2 GRD SAG ' -C . . . . . . diagonal elements . -C ISW(2) = 1 if approx, 2 if not posdef, 3 if ok -C AIMSAG is the sagitta we are aiming for in second deriv calc. - AIMSAG = SQRT(EPSMA2)*(ABS(AMIN)+UP) -C Zero the second derivative matrix - NPAR2 = NPAR*(NPAR+1)/2 - DO 10 I= 1,NPAR2 - 10 VHMAT(I) = 0. -C -C Loop over variable parameters for second derivatives - IDRV = 2 - DO 100 ID= 1, NPARD - I = ID + NPAR - NPARD - IEXT = NEXOFI(I) - IF (G2(I) .EQ. ZERO) THEN - WRITE (CBF1(1:4),'(I4)') IEXT - CALL MNWARN('W','HESSE', - + 'Second derivative enters zero, param '//CBF1(1:4) ) - WINT = WERR(I) - IF (NVARL(IEXT) .GT. 1) THEN - CALL MNDXDI(X(I),I,DXDI) - IF (ABS(DXDI) .LT. .001) THEN - WINT = .01 - ELSE - WINT = WINT/ABS(DXDI) - ENDIF - ENDIF - G2(I) = UP/WINT**2 - ENDIF - XTF = X(I) - DMIN = 8.*EPSMA2*ABS(XTF) -C -C find step which gives sagitta = AIMSAG - D = ABS(GSTEP(I)) - DO 40 ICYC= 1, NCYC -C loop here only if SAG=0. - DO 25 MULTPY= 1, 5 -C take two steps - X(I) = XTF + D - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - SAG = 0.5*(FS1+FS2-2.0*AMIN) - IF (SAG .NE. ZERO) GO TO 30 - IF (GSTEP(I) .LT. ZERO) THEN - IF (D .GE. .5) GO TO 26 - D = 10.*D - IF (D .GT. 0.5) D = 0.51 - GO TO 25 - ENDIF - D = 10.*D - 25 CONTINUE - 26 WRITE (CBF1(1:4),'(I4)') IEXT - CALL MNWARN('W','HESSE', - + 'Second derivative zero for parameter'//CBF1(1:4) ) - GO TO 390 -C SAG is not zero - 30 G2BFOR = G2(I) - G2(I) = 2.*SAG/D**2 - GRD(I) = (FS1-FS2)/(2.*D) - IF (LDEBUG) WRITE (ISYSWR,31) I,IDRV,GSTEP(I),D,G2(I),GRD(I),SAG - 31 FORMAT (I4,I2,6G12.5) - GSTEP(I) = SIGN(D,GSTEP(I)) - DIRIN(I) = D - YY(I) = FS1 - DLAST = D - D = SQRT(2.0*AIMSAG/ABS(G2(I))) -C if parameter has limits, max int step size = 0.5 - STPINM = 0.5 - IF (GSTEP(I) .LT. ZERO) D = MIN(D,STPINM) - IF (D .LT. DMIN) D = DMIN -C see if converged - IF (ABS((D-DLAST)/D) .LT. TLRSTP) GO TO 50 - IF (ABS((G2(I)-G2BFOR)/G2(I)) .LT. TLRG2 ) GO TO 50 - D = MIN(D, 10.*DLAST) - D = MAX(D, 0.1*DLAST) - 40 CONTINUE -C end of step size loop - WRITE (CBF1,'(I2,2E10.2)') IEXT,SAG,AIMSAG - CALL MNWARN('D','MNHESS','Second Deriv. SAG,AIM= '//CBF1) -C - 50 CONTINUE - NDEX = I*(I+1)/2 - VHMAT(NDEX) = G2(I) - 100 CONTINUE -C end of diagonal second derivative loop - CALL MNINEX(X) -C refine the first derivatives - IF (ISTRAT .GT. 0) CALL MNHES1(FCN,FUTIL) - ISW(2) = 3 - DCOVAR = 0. -C . . . . off-diagonal elements - IF (NPAR .EQ. 1) GO TO 214 - DO 200 I= 1, NPAR - DO 180 J= 1, I-1 - XTI = X(I) - XTJ = X(J) - X(I) = XTI + DIRIN(I) - X(J) = XTJ + DIRIN(J) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTI - X(J) = XTJ - ELEM = (FS1+AMIN-YY(I)-YY(J)) / (DIRIN(I)*DIRIN(J)) - NDEX = I*(I-1)/2 + J - VHMAT(NDEX) = ELEM - 180 CONTINUE - 200 CONTINUE - 214 CALL MNINEX(X) -C verify matrix positive-definite - CALL MNPSDF - DO 220 I= 1, NPAR - DO 219 J= 1, I - NDEX = I*(I-1)/2 + J - P(I,J) = VHMAT(NDEX) - 219 P(J,I) = P(I,J) - 220 CONTINUE - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IFAIL) - IF (IFAIL .GT. 0) THEN - CALL MNWARN('W','HESSE', 'Matrix inversion fails.') - GO TO 390 - ENDIF -C . . . . . . . calculate e d m - EDM = 0. - DO 230 I= 1, NPAR -C off-diagonal elements - NDEX = I*(I-1)/2 - DO 225 J= 1, I-1 - NDEX = NDEX + 1 - ZTEMP = 2.0 * P(I,J) - EDM = EDM + GRD(I)*ZTEMP*GRD(J) - 225 VHMAT(NDEX) = ZTEMP -C diagonal elements - NDEX = NDEX + 1 - VHMAT(NDEX) = 2.0 * P(I,I) - EDM = EDM + P(I,I) * GRD(I)**2 - 230 CONTINUE - IF (ISW(5).GE.1 .AND. ISW(2).EQ.3 .AND. ITAUR.EQ.0) - + WRITE(ISYSWR,'(A)')' COVARIANCE MATRIX CALCULATED SUCCESSFULLY' - GO TO 900 -C failure to invert 2nd deriv matrix - 390 ISW(2) = 1 - DCOVAR = 1. - CSTATU = 'FAILED ' - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(A)') - + ' MNHESS FAILS AND WILL RETURN DIAGONAL MATRIX. ' - DO 395 I= 1, NPAR - NDEX = I*(I-1)/2 - DO 394 J= 1, I-1 - NDEX = NDEX + 1 - 394 VHMAT(NDEX) = 0.0 - NDEX = NDEX +1 - G2I = G2(I) - IF (G2I .LE. ZERO) G2I = 1.0 - 395 VHMAT(NDEX) = 2.0/G2I - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnimpr.F b/graphics/Qat/QatDataModeling/src/mnimpr.F deleted file mode 100644 index 0c0e021e2a9..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnimpr.F +++ /dev/null @@ -1,199 +0,0 @@ -* -* $Id: mnimpr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnimpr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNIMPR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Attempts to improve on a good local minimum by finding a -CC better one. The quadratic part of FCN is removed by MNCALF -CC and this transformed function is minimized using the simplex -CC method from several random starting points. -CC ref. -- Goldstein and Price, Math.Comp. 25, 569 (1971) -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION DSAV(MNI), Y(MNI+1) - PARAMETER (ALPHA=1.,BETA=0.5,GAMMA=2.0) - DATA RNUM/0./ - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CSTATU = 'UNCHANGED ' - ITAUR = 1 - EPSI = 0.1*UP - NPFN=NFCN - NLOOP = WORD7(2) - IF (NLOOP .LE. 0) NLOOP = NPAR + 4 - NPARX = NPAR - NPARP1=NPAR+1 - WG = 1.0/FLOAT(NPAR) - SIGSAV = EDM - APSI = AMIN - DO 2 I= 1, NPAR - XT(I) = X(I) - DSAV(I) = WERR(I) - DO 2 J = 1, I - NDEX = I*(I-1)/2 + J - P(I,J) = VHMAT(NDEX) - 2 P(J,I) = P(I,J) - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IFAIL) - IF (IFAIL .GE. 1) GO TO 280 -C Save inverted matrix in VT - DO 12 I= 1, NPAR - NDEX = I*(I-1)/2 - DO 12 J= 1, I - NDEX = NDEX + 1 - 12 VTHMAT(NDEX) = P(I,J) - LOOP = 0 -C - 20 CONTINUE - DO 25 I= 1, NPAR - DIRIN(I) = 2.0*DSAV(I) - CALL MNRN15(RNUM,ISEED) - 25 X(I) = XT(I) + 2.0*DIRIN(I)*(RNUM-0.5) - LOOP = LOOP + 1 - REG = 2.0 - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 1040) LOOP - 30 CALL MNCALF(FCN,X,YCALF,FUTIL) - AMIN = YCALF -C . . . . set up random simplex - JL = NPARP1 - JH = NPARP1 - Y(NPARP1) = AMIN - AMAX = AMIN - DO 45 I= 1, NPAR - XI = X(I) - CALL MNRN15(RNUM,ISEED) - X(I) = XI - DIRIN(I) *(RNUM-0.5) - CALL MNCALF(FCN,X,YCALF,FUTIL) - Y(I) = YCALF - IF (Y(I) .LT. AMIN) THEN - AMIN = Y(I) - JL = I - ELSE IF (Y(I) .GT. AMAX) THEN - AMAX = Y(I) - JH = I - ENDIF - DO 40 J= 1, NPAR - 40 P(J,I) = X(J) - P(I,NPARP1) = XI - X(I) = XI - 45 CONTINUE -C - EDM = AMIN - SIG2 = EDM -C . . . . . . . start main loop - 50 CONTINUE - IF (AMIN .LT. ZERO) GO TO 95 - IF (ISW(2) .LE. 2) GO TO 280 - EP = 0.1*AMIN - IF (SIG2 .LT. EP .AND. EDM.LT.EP ) GO TO 100 - SIG2 = EDM - IF ((NFCN-NPFN) .GT. NFCNMX) GO TO 300 -C calculate new point * by reflection - DO 60 I= 1, NPAR - PB = 0. - DO 59 J= 1, NPARP1 - 59 PB = PB + WG * P(I,J) - PBAR(I) = PB - WG * P(I,JH) - 60 PSTAR(I)=(1.+ALPHA)*PBAR(I)-ALPHA*P(I,JH) - CALL MNCALF(FCN,PSTAR,YCALF,FUTIL) - YSTAR = YCALF - IF(YSTAR.GE.AMIN) GO TO 70 -C point * better than jl, calculate new point ** - DO 61 I=1,NPAR - 61 PSTST(I)=GAMMA*PSTAR(I)+(1.-GAMMA)*PBAR(I) - CALL MNCALF(FCN,PSTST,YCALF,FUTIL) - YSTST = YCALF - 66 IF (YSTST .LT. Y(JL)) GO TO 67 - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - GO TO 50 - 67 CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C point * is not as good as jl - 70 IF (YSTAR .GE. Y(JH)) GO TO 73 - JHOLD = JH - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - IF (JHOLD .NE. JH) GO TO 50 -C calculate new point ** - 73 DO 74 I=1,NPAR - 74 PSTST(I)=BETA*P(I,JH)+(1.-BETA)*PBAR(I) - CALL MNCALF(FCN,PSTST,YCALF,FUTIL) - YSTST = YCALF - IF(YSTST.GT.Y(JH)) GO TO 30 -C point ** is better than jh - IF (YSTST .LT. AMIN) GO TO 67 - CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C . . . . . . end main loop - 95 IF (ISW(5) .GE. 0) WRITE (ISYSWR,1000) - REG = 0.1 -C . . . . . ask if point is new - 100 CALL MNINEX(X) - CALL FCN(NPARX,GIN,AMIN,U,4,FUTIL) - NFCN = NFCN + 1 - DO 120 I= 1, NPAR - DIRIN(I) = REG*DSAV(I) - IF (ABS(X(I)-XT(I)) .GT. DIRIN(I)) GO TO 150 - 120 CONTINUE - GO TO 230 - 150 NFCNMX = NFCNMX + NPFN - NFCN - NPFN = NFCN - CALL MNSIMP(FCN,FUTIL) - IF (AMIN .GE. APSI) GO TO 325 - DO 220 I= 1, NPAR - DIRIN(I) = 0.1 *DSAV(I) - IF (ABS(X(I)-XT(I)) .GT. DIRIN(I)) GO TO 250 - 220 CONTINUE - 230 IF (AMIN .LT. APSI) GO TO 350 - GO TO 325 -C . . . . . . truly new minimum - 250 LNEWMN = .TRUE. - IF (ISW(2) .GE. 1) THEN - ISW(2) = 1 - DCOVAR = MAX(DCOVAR,HALF) - ELSE - DCOVAR = 1. - ENDIF - ITAUR = 0 - NFCNMX = NFCNMX + NPFN - NFCN - CSTATU = 'NEW MINIMU' - IF (ISW(5) .GE. 0) WRITE (ISYSWR,1030) - RETURN -C . . . return to previous region - 280 IF (ISW(5) .GT. 0) WRITE (ISYSWR,1020) - GO TO 325 - 300 ISW(1) = 1 - 325 DO 330 I= 1, NPAR - DIRIN(I) = 0.01*DSAV(I) - 330 X(I) = XT(I) - AMIN = APSI - EDM = SIGSAV - 350 CALL MNINEX(X) - IF (ISW(5) .GT. 0) WRITE (ISYSWR,1010) - CSTATU= 'UNCHANGED ' - CALL MNRSET(0) - IF (ISW(2) .LT. 2) GO TO 380 - IF (LOOP .LT. NLOOP .AND. ISW(1) .LT. 1) GO TO 20 - 380 CALL MNPRIN (5,AMIN) - ITAUR = 0 - RETURN - 1000 FORMAT (54H AN IMPROVEMENT ON THE PREVIOUS MINIMUM HAS BEEN FOUND) - 1010 FORMAT (51H IMPROVE HAS RETURNED TO REGION OF ORIGINAL MINIMUM) - 1020 FORMAT (/44H COVARIANCE MATRIX WAS NOT POSITIVE-DEFINITE) - 1030 FORMAT (/38H IMPROVE HAS FOUND A TRULY NEW MINIMUM/1H ,37(1H*)/) - 1040 FORMAT (/18H START ATTEMPT NO.,I2, 20H TO FIND NEW MINIMUM) - END diff --git a/graphics/Qat/QatDataModeling/src/mninex.F b/graphics/Qat/QatDataModeling/src/mninex.F deleted file mode 100644 index eb8073a3d9f..00000000000 --- a/graphics/Qat/QatDataModeling/src/mninex.F +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: mninex.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninex.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINEX(PINT) -#include "QatDataModeling/d506dp.inc" -CC Transforms from internal coordinates (PINT) to external -CC parameters (U). The minimizing routines which work in -CC internal coordinates call this routine before calling FCN. -#include "QatDataModeling/d506cm.inc" - DIMENSION PINT(*) - DO 100 J= 1, NPAR - I = NEXOFI(J) - IF (NVARL(I) .EQ. 1) THEN - U(I) = PINT(J) - ELSE - U(I) = ALIM(I) + 0.5*(SIN(PINT(J)) +1.0) * (BLIM(I)-ALIM(I)) - ENDIF - 100 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mninit.F b/graphics/Qat/QatDataModeling/src/mninit.F deleted file mode 100644 index a416229df50..00000000000 --- a/graphics/Qat/QatDataModeling/src/mninit.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: mninit.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninit.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.4 1997/09/02 15:16:08 mclareni -* WINNT corrections -* -* Revision 1.3 1997/03/14 17:18:00 mclareni -* WNT mods -* -* Revision 1.2.2.1 1997/01/21 11:33:28 mclareni -* All mods for Winnt 96a on winnt branch -* -* Revision 1.2 1996/03/15 18:02:47 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINIT (I1,I2,I3) -#include "QatDataModeling/d506dp.inc" -CC This is the main initialization subroutine for MINUIT -CC It initializes some constants in common -CC (including the logical I/O unit nos.), -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL INTRAC - LOGICAL INTRAC -C I/O unit numbers - ISYSRD = I1 - ISYSWR = I2 - ISTKWR(1) = ISYSWR - NSTKWR = 1 - ISYSSA = I3 - NSTKRD = 0 -C version identifier - CVRSN = '96.03 ' -C some CONSTANT constants in COMMON - MAXINT=MNI - MAXEXT=MNE - UNDEFI = -54321. - BIGEDM = 123456. - CUNDEF = ')UNDEFINED' - COVMES(0) = 'NO ERR MATRIX ' - COVMES(1) = 'ERR MATRIX APPROXIMATE' - COVMES(2) = 'ERR MATRIX NOT POS-DEF' - COVMES(3) = 'ERR MATRIX ACCURATE ' -C some starting values in COMMON - NBLOCK = 0 - ICOMND = 0 - CTITL = CUNDEF - CFROM = 'INPUT ' - NFCNFR = NFCN - CSTATU= 'INITIALIZE' - ISW(3) = 0 - ISW(4) = 0 - ISW(5) = 1 -C ISW(6)=0 for batch jobs, =1 for interactive jobs -C =-1 for originally interactive temporarily batch - ISW(6) = 0 -#ifdef HAVE_CERNLIB -#ifndef CERNLIB_MSSTDCALL - IF (INTRAC(DUMMY)) ISW(6) = 1 -#else - IF (INTRAC()) ISW(6) = 1 -#endif -#endif -C DEBUG options set to default values - DO 10 IDB= 0, MAXDBG - 10 IDBG(IDB) = 0 - LREPOR = .FALSE. - LWARN = .TRUE. - LIMSET = .FALSE. - LNEWMN = .FALSE. - ISTRAT = 1 - ITAUR = 0 -C default page dimensions and 'new page' carriage control integer - NPAGWD = 120 - NPAGLN = 56 - NEWPAG = 1 - IF (ISW(6) .GT. 0) THEN - NPAGWD = 80 - NPAGLN = 30 - NEWPAG = 0 - ENDIF - UP = 1.0 - UPDFLT = UP -C determine machine accuracy epsmac - EPSTRY = 0.5 - DO 33 I= 1, 100 - EPSTRY = EPSTRY * 0.5 - EPSP1 = ONE + EPSTRY - CALL MNTINY(EPSP1, EPSBAK) - IF (EPSBAK .LT. EPSTRY) GO TO 35 - 33 CONTINUE - EPSTRY = 1.0E-7 - EPSMAC = 4.0*EPSTRY - WRITE (ISYSWR,'(A,A,E10.2)') ' MNINIT UNABLE TO DETERMINE', - + ' ARITHMETIC PRECISION. WILL ASSUME:',EPSMAC - 35 EPSMAC = 8.0 * EPSTRY - EPSMA2 = 2.0 * SQRT(EPSMAC) -C the vlims are a non-negligible distance from pi/2 -C used by MNPINT to set variables "near" the physical limits - PIBY2 = 2.0*ATAN(1.0) - DISTNN = 8.0*SQRT(EPSMA2) - VLIMHI = PIBY2 - DISTNN - VLIMLO = -PIBY2 + DISTNN - CALL MNCLER - WRITE (ISYSWR,'(3A,I3,A,I3,A,E10.2)') ' MINUIT RELEASE ',CVRSN, - +' INITIALIZED. DIMENSIONS ',MNE,'/',MNI,' EPSMAC=',EPSMAC - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mninpu.F b/graphics/Qat/QatDataModeling/src/mninpu.F deleted file mode 100644 index 463870a7b4b..00000000000 --- a/graphics/Qat/QatDataModeling/src/mninpu.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: mninpu.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninpu.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINPU(IUNIT,IERR) -#include "QatDataModeling/d506dp.inc" -CC called by the user to SET INPUT to IUNIT, -CC an alternative to MNSTIN where the user can specify just -CC a logical unit number and he is not interrogated about -CC open files and rewinding, all that is the responsibility -CC of the user and cannot be fixed interactively. -#include "QatDataModeling/d506cm.inc" -C - IERR = 0 -C IUNIT = 0, revert to previous input file - IF (IUNIT .EQ. 0) THEN - IF (NSTKRD .EQ. 0) THEN - WRITE (ISYSWR, '(A)') ' CALL TO MNINPU(0) IGNORED' - WRITE (ISYSWR, '(A)') ' ALREADY READING FROM PRIMARY INPUT' - ELSE - ISYSRD = ISTKRD(NSTKRD) - NSTKRD = NSTKRD - 1 - ENDIF -C -C new input file - ELSE - IF (NSTKRD .GE. MAXSTK) THEN - WRITE (ISYSWR, '(A)') ' INPUT FILE STACK SIZE EXCEEDED.' - GO TO 800 - ENDIF - NSTKRD = NSTKRD + 1 - ISTKRD(NSTKRD) = ISYSRD - ISYSRD = IUNIT - ENDIF -C - RETURN - 800 IERR = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnintr.F b/graphics/Qat/QatDataModeling/src/mnintr.F deleted file mode 100644 index 737dcc3f3fc..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnintr.F +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: mnintr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnintr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINTR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called by user. Interfaces to MNREAD to allow user to change -CC easily from Fortran-callable to interactive mode. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IFLGIN = 3 - CALL MNREAD(FCN,IFLGIN,IFLGUT,FUTIL) - WRITE (ISYSWR,'(2A/)') ' END OF MINUIT COMMAND INPUT. ', - + ' RETURN TO USER PROGRAM.' - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnlims.F b/graphics/Qat/QatDataModeling/src/mnlims.F deleted file mode 100644 index 63a5f6ab7b7..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnlims.F +++ /dev/null @@ -1,134 +0,0 @@ -* -* $Id: mnlims.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnlims.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:48 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNLIMS -#include "QatDataModeling/d506dp.inc" -CC Called from MNSET -CC Interprets the SET LIM command, to reset the parameter limits -CC -#include "QatDataModeling/d506cm.inc" -C - CFROM = 'SET LIM ' - NFCNFR = NFCN - CSTATU= 'NO CHANGE ' - I2 = WORD7(1) - IF (I2 .GT. MAXEXT .OR. I2 .LT. 0) GO TO 900 - IF (I2 .GT. 0) GO TO 30 -C set limits on all parameters - NEWCOD = 4 - IF (WORD7(2) .EQ. WORD7(3)) NEWCOD = 1 - DO 20 INU= 1, NU - IF (NVARL(INU) .LE. 0) GO TO 20 - IF (NVARL(INU).EQ.1 .AND. NEWCOD.EQ.1) GO TO 20 - KINT = NIOFEX(INU) -C see if parameter has been fixed - IF (KINT .LE. 0) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(11X,A,I3)') - + ' LIMITS NOT CHANGED FOR FIXED PARAMETER:',INU - GO TO 20 - ENDIF - IF (NEWCOD .EQ. 1) THEN -C remove limits from parameter - IF (ISW(5) .GT. 0) WRITE (ISYSWR,134) INU - CSTATU = 'NEW LIMITS' - CALL MNDXDI(X(KINT),KINT,DXDI) - SNEW = GSTEP(KINT)*DXDI - GSTEP(KINT) = ABS(SNEW) - NVARL(INU) = 1 - ELSE -C put limits on parameter - ALIM(INU) = MIN(WORD7(2),WORD7(3)) - BLIM(INU) = MAX(WORD7(2),WORD7(3)) - IF (ISW(5) .GT. 0) WRITE (ISYSWR,237) INU,ALIM(INU),BLIM(INU) - NVARL(INU) = 4 - CSTATU = 'NEW LIMITS' - GSTEP(KINT) = -0.1 - ENDIF - 20 CONTINUE - GO TO 900 -C set limits on one parameter - 30 IF (NVARL(I2) .LE. 0) THEN - WRITE (ISYSWR,'(A,I3,A)') ' PARAMETER ',I2,' IS NOT VARIABLE.' - GO TO 900 - ENDIF - KINT = NIOFEX(I2) -C see if parameter was fixed - IF (KINT .EQ. 0) THEN - WRITE (ISYSWR,'(A,I3)') - + ' REQUEST TO CHANGE LIMITS ON FIXED PARAMETER:',I2 - DO 82 IFX= 1, NPFIX - IF (I2 .EQ. IPFIX(IFX)) GO TO 92 - 82 CONTINUE - WRITE (ISYSWR,'(A)') ' MINUIT BUG IN MNLIMS. SEE F. JAMES' - 92 CONTINUE - ENDIF - IF (WORD7(2) .NE. WORD7(3)) GO TO 235 -C remove limits - IF (NVARL(I2) .NE. 1) THEN - IF (ISW(5) .GT. 0) WRITE (ISYSWR,134) I2 - 134 FORMAT (30H LIMITS REMOVED FROM PARAMETER ,I4) - CSTATU = 'NEW LIMITS' - IF (KINT .LE. 0) THEN - GSTEPS(IFX) = ABS(GSTEPS(IFX)) - ELSE - CALL MNDXDI(X(KINT),KINT,DXDI) - IF (ABS(DXDI) .LT. 0.01) DXDI=0.01 - GSTEP(KINT) = ABS(GSTEP(KINT)*DXDI) - GRD(KINT) = GRD(KINT)*DXDI - ENDIF - NVARL(I2) = 1 - ELSE - WRITE (ISYSWR,'(A,I3)') ' NO LIMITS SPECIFIED. PARAMETER ', - + I2,' IS ALREADY UNLIMITED. NO CHANGE.' - ENDIF - GO TO 900 -C put on limits - 235 ALIM(I2) = MIN(WORD7(2),WORD7(3)) - BLIM(I2) = MAX(WORD7(2),WORD7(3)) - NVARL(I2) = 4 - IF (ISW(5) .GT. 0) WRITE (ISYSWR,237) I2,ALIM(I2),BLIM(I2) - 237 FORMAT (10H PARAMETER ,I3, 14H LIMITS SET TO ,2G15.5) - CSTATU = 'NEW LIMITS' - IF (KINT .LE. 0) THEN - GSTEPS(IFX) = -0.1 - ELSE - GSTEP(KINT) = -0.1 - ENDIF -C - 900 CONTINUE - IF (CSTATU .NE. 'NO CHANGE ') THEN - CALL MNEXIN(X) - CALL MNRSET(1) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnline.F b/graphics/Qat/QatDataModeling/src/mnline.F deleted file mode 100644 index 774be4cc644..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnline.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: mnline.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnline.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNLINE(FCN,START,FSTART,STEP,SLOPE,TOLER,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Perform a line search from position START -CC along direction STEP, where the length of vector STEP -CC gives the expected position of minimum. -CC FSTART is value of function at START -CC SLOPE (if non-zero) is df/dx along STEP at START -CC TOLER is initial tolerance of minimum in direction STEP -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION START(*), STEP(*) - PARAMETER (MAXPT=12) - DIMENSION XPQ(MAXPT),YPQ(MAXPT) - CHARACTER*1 CHPQ(MAXPT) - DIMENSION XVALS(3),FVALS(3),COEFF(3) - CHARACTER*26 CHARAL - CHARACTER*60 CMESS - PARAMETER (SLAMBG=5.,ALPHA=2.) -C SLAMBG and ALPHA control the maximum individual steps allowed. -C The first step is always =1. The max length of second step is SLAMBG. -C The max size of subsequent steps is the maximum previous successful -C step multiplied by ALPHA + the size of most recent successful step, -C but cannot be smaller than SLAMBG. - LOGICAL LDEBUG - DATA CHARAL / 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' / - LDEBUG = (IDBG(1).GE.1) -C starting values for overall limits on total step SLAM - OVERAL = 1000. - UNDRAL = -100. -C debug check if start is ok - IF (LDEBUG) THEN - CALL MNINEX(START) - CALL FCN(NPARX,GIN,F1,U,4,FUTIL) - NFCN=NFCN+1 - IF (F1 .NE. FSTART) THEN - WRITE (ISYSWR,'(A/2E14.5/2X,10F10.5)') - + ' MNLINE start point not consistent, F values, parameters=', - + (X(KK),KK=1,NPAR) - ENDIF - ENDIF -C . set up linear search along STEP - - FVMIN = FSTART - XVMIN = ZERO - NXYPT = 1 - CHPQ(1) = CHARAL(1:1) - XPQ(1) = 0. - YPQ(1) = FSTART -C SLAMIN = smallest possible value of ABS(SLAM) - SLAMIN = ZERO - DO 20 I= 1, NPAR - IF (STEP(I) .EQ. ZERO) GO TO 20 - RATIO = ABS(START(I)/STEP(I)) - IF (SLAMIN .EQ. ZERO) SLAMIN = RATIO - IF (RATIO .LT. SLAMIN) SLAMIN = RATIO - 20 X(I) = START(I) + STEP(I) - IF (SLAMIN .EQ. ZERO) SLAMIN = EPSMAC - SLAMIN = SLAMIN*EPSMA2 - NPARX = NPAR -C - CALL MNINEX(X) - CALL FCN(NPARX,GIN,F1,U,4,FUTIL) - NFCN=NFCN+1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = 1. - YPQ(NXYPT) = F1 - IF (F1 .LT. FSTART) THEN - FVMIN = F1 - XVMIN = 1.0 - ENDIF -C . quadr interp using slope GDEL and two points - SLAM = 1. - TOLER8 = TOLER - SLAMAX = SLAMBG - FLAST = F1 -C can iterate on two-points (cut) if no imprvmnt - 25 CONTINUE - DENOM = 2.0*(FLAST-FSTART-SLOPE*SLAM)/SLAM**2 -C IF (DENOM .EQ. ZERO) DENOM = -0.1*SLOPE - SLAM = 1. - IF (DENOM .NE. ZERO) SLAM = -SLOPE/DENOM - IF (SLAM .LT. ZERO) SLAM = SLAMAX - IF (SLAM .GT. SLAMAX) SLAM = SLAMAX - IF (SLAM .LT. TOLER8) SLAM = TOLER8 - IF (SLAM .LT. SLAMIN) GO TO 80 - IF (ABS(SLAM-1.0).LT.TOLER8 .AND. F1.LT.FSTART) GO TO 70 - IF (ABS(SLAM-1.0).LT.TOLER8) SLAM = 1.0+TOLER8 - IF (NXYPT .GE. MAXPT) GO TO 65 - DO 30 I= 1, NPAR - 30 X(I) = START(I) + SLAM*STEP(I) - CALL MNINEX(X) - CALL FCN(NPAR,GIN,F2,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = SLAM - YPQ(NXYPT) = F2 - IF (F2 .LT. FVMIN) THEN - FVMIN = F2 - XVMIN = SLAM - ENDIF - IF (FSTART .EQ. FVMIN) THEN - FLAST = F2 - TOLER8 = TOLER*SLAM - OVERAL = SLAM-TOLER8 - SLAMAX = OVERAL - GO TO 25 - ENDIF -C . quadr interp using 3 points - XVALS(1) = XPQ(1) - FVALS(1) = YPQ(1) - XVALS(2) = XPQ(NXYPT-1) - FVALS(2) = YPQ(NXYPT-1) - XVALS(3) = XPQ(NXYPT) - FVALS(3) = YPQ(NXYPT) -C begin iteration, calculate desired step - 50 CONTINUE - SLAMAX = MAX(SLAMAX,ALPHA*ABS(XVMIN)) - CALL MNPFIT(XVALS,FVALS,3,COEFF,SDEV) - IF (COEFF(3) .LE. ZERO) THEN - SLOPEM = 2.0*COEFF(3)*XVMIN + COEFF(2) - IF (SLOPEM .LE. ZERO) THEN - SLAM = XVMIN + SLAMAX - ELSE - SLAM = XVMIN - SLAMAX - ENDIF - ELSE - SLAM = -COEFF(2)/(2.0*COEFF(3)) - IF (SLAM .GT. XVMIN+SLAMAX) SLAM = XVMIN+SLAMAX - IF (SLAM .LT. XVMIN-SLAMAX) SLAM = XVMIN-SLAMAX - ENDIF - IF (SLAM .GT. ZERO) THEN - IF (SLAM .GT. OVERAL) SLAM = OVERAL - ELSE - IF (SLAM .LT. UNDRAL) SLAM = UNDRAL - ENDIF -C come here if step was cut below - 52 CONTINUE - TOLER9 = MAX(TOLER8,ABS(TOLER8*SLAM)) - DO 55 IPT= 1, 3 - IF (ABS(SLAM-XVALS(IPT)) .LT. TOLER9) GO TO 70 - 55 CONTINUE -C take the step - IF (NXYPT .GE. MAXPT) GO TO 65 - DO 60 I= 1, NPAR - 60 X(I) = START(I)+SLAM*STEP(I) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,F3,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = SLAM - YPQ(NXYPT) = F3 -C find worst previous point out of three - FVMAX = FVALS(1) - NVMAX = 1 - IF (FVALS(2) .GT. FVMAX) THEN - FVMAX = FVALS(2) - NVMAX = 2 - ENDIF - IF (FVALS(3) .GT. FVMAX) THEN - FVMAX = FVALS(3) - NVMAX = 3 - ENDIF -C if latest point worse than all three previous, cut step - IF (F3 .GE. FVMAX) THEN - IF (NXYPT .GE. MAXPT) GO TO 65 - IF (SLAM .GT. XVMIN) OVERAL = MIN(OVERAL,SLAM-TOLER8) - IF (SLAM .LT. XVMIN) UNDRAL = MAX(UNDRAL,SLAM+TOLER8) - SLAM = 0.5*(SLAM+XVMIN) - GO TO 52 - ENDIF -C prepare another iteration, replace worst previous point - XVALS(NVMAX) = SLAM - FVALS(NVMAX) = F3 - IF (F3 .LT. FVMIN) THEN - FVMIN = F3 - XVMIN = SLAM - ELSE - IF (SLAM .GT. XVMIN) OVERAL = MIN(OVERAL,SLAM-TOLER8) - IF (SLAM .LT. XVMIN) UNDRAL = MAX(UNDRAL,SLAM+TOLER8) - ENDIF - IF (NXYPT .LT. MAXPT) GO TO 50 -C . . end of iteration . . . -C stop because too many iterations - 65 CMESS = ' LINE SEARCH HAS EXHAUSTED THE LIMIT OF FUNCTION CALLS ' - IF (LDEBUG) THEN - WRITE (ISYSWR,'(A/(2X,6G12.4))') ' MNLINE DEBUG: steps=', - + (STEP(KK),KK=1,NPAR) - ENDIF - GO TO 100 -C stop because within tolerance - 70 CONTINUE - CMESS = ' LINE SEARCH HAS ATTAINED TOLERANCE ' - GO TO 100 - 80 CONTINUE - CMESS = ' STEP SIZE AT ARITHMETICALLY ALLOWED MINIMUM' - 100 CONTINUE - AMIN = FVMIN - DO 120 I= 1, NPAR - DIRIN(I) = STEP(I)*XVMIN - 120 X(I) = START(I) + DIRIN(I) - CALL MNINEX(X) - IF (XVMIN .LT. 0.) CALL MNWARN('D','MNLINE', - + ' LINE MINIMUM IN BACKWARDS DIRECTION') - IF (FVMIN .EQ. FSTART) CALL MNWARN('D','MNLINE', - + ' LINE SEARCH FINDS NO IMPROVEMENT ') - IF (LDEBUG) THEN - WRITE (ISYSWR,'('' AFTER'',I3,'' POINTS,'',A)') NXYPT,CMESS - CALL MNPLOT(XPQ,YPQ,CHPQ,NXYPT,ISYSWR,NPAGWD,NPAGLN) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmatu.F b/graphics/Qat/QatDataModeling/src/mnmatu.F deleted file mode 100644 index bcf1775779b..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnmatu.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: mnmatu.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmatu.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMATU(KODE) -#include "QatDataModeling/d506dp.inc" -CC prints the covariance matrix v when KODE=1. -CC always prints the global correlations, and -CC calculates and prints the individual correlation coefficients -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION VLINE(MNI) - ISW2 = ISW(2) - IF (ISW2 .LT. 1) THEN - WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - GO TO 500 - ENDIF - IF (NPAR .EQ. 0) THEN - WRITE (ISYSWR,'('' MNMATU: NPAR=0'')') - GO TO 500 - ENDIF -C . . . . .external error matrix - IF (KODE .EQ. 1) THEN - ISW5 = ISW(5) - ISW(5) = 2 - CALL MNEMAT(P,MAXINT) - IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - ISW(5) = ISW5 - ENDIF -C . . . . . correlation coeffs. . - IF (NPAR .LE. 1) GO TO 500 - CALL MNWERR -C NCOEF is number of coeff. that fit on one line, not to exceed 20 - NCOEF = (NPAGWD-19)/6 - NCOEF = MIN(NCOEF,20) - NPARM = MIN(NPAR,NCOEF) - WRITE (ISYSWR, 150) (NEXOFI(ID),ID=1,NPARM) - 150 FORMAT (/36H PARAMETER CORRELATION COEFFICIENTS / - + 18H NO. GLOBAL ,20I6) - DO 200 I= 1, NPAR - IX = NEXOFI(I) - NDI = I*(I+1)/2 - DO 170 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - NDJ = J*(J+1)/2 - 170 VLINE(J) = VHMAT(NDEX)/SQRT(ABS(VHMAT(NDI)*VHMAT(NDJ))) - NPARM = MIN(NPAR,NCOEF) - WRITE (ISYSWR,171) IX, GLOBCC(I), (VLINE(IT),IT=1,NPARM) - 171 FORMAT (6X,I3,2X,F7.5,1X,20F6.3) - IF (I.LE.NPARM) GO TO 200 - DO 190 ISO= 1, 10 - NSOFAR = NPARM - NPARM = MIN(NPAR,NSOFAR+NCOEF) - WRITE (ISYSWR,181) (VLINE(IT),IT=NSOFAR+1,NPARM) - 181 FORMAT (19X,20F6.3) - IF (I .LE. NPARM) GO TO 192 - 190 CONTINUE - 192 CONTINUE - 200 CONTINUE - IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - 500 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmigr.F b/graphics/Qat/QatDataModeling/src/mnmigr.F deleted file mode 100644 index c4737292b3d..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnmigr.F +++ /dev/null @@ -1,329 +0,0 @@ -* -* $Id: mnmigr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmigr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:49 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMIGR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a local function minimization using basically the -CC method of Davidon-Fletcher-Powell as modified by Fletcher -CC ref. -- Fletcher, Comp.J. 13,317 (1970) "switching method" -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION GS(MNI), STEP(MNI), XXS(MNI), FLNU(MNI), VG(MNI) - LOGICAL LDEBUG - PARAMETER (TOLER=0.05) - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - LDEBUG = (IDBG(4) .GE. 1) - CFROM = 'MIGRAD ' - NFCNFR = NFCN - NFCNMG = NFCN - CSTATU= 'INITIATE ' - ISWTR = ISW(5) - 2*ITAUR - NPFN = NFCN - NPARX = NPAR - LENV = NPAR*(NPAR+1)/2 - NRSTRT = 0 - NPSDF = 0 - LINED2 = 0 - ISW(4) = -1 - RHOTOL = 1.0E-3*APSI - IF (ISWTR .GE. 1) WRITE (ISYSWR,470) ISTRAT,RHOTOL - 470 FORMAT (' START MIGRAD MINIMIZATION. STRATEGY',I2, - +'. CONVERGENCE WHEN EDM .LT.',E9.2) -C initialization strategy - IF (ISTRAT.LT.2 .OR. ISW(2).GE.3) GO TO 2 -C come (back) here to restart completely - 1 CONTINUE - IF (NRSTRT .GT. ISTRAT) THEN - CSTATU= 'FAILED ' - ISW(4) = -1 - GO TO 230 - ENDIF -C . get full covariance and gradient - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - NPSDF = 0 - IF (ISW(2) .GE. 1) GO TO 10 -C . get gradient at start point - 2 CONTINUE - CALL MNINEX(X) - IF (ISW(3) .EQ. 1) THEN - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - ENDIF - CALL MNDERI(FCN,FUTIL) - IF (ISW(2) .GE. 1) GO TO 10 -C sometimes start with diagonal matrix - DO 3 I= 1, NPAR - XXS(I) = X(I) - STEP(I) = ZERO - 3 CONTINUE -C do line search if second derivative negative - LINED2 = LINED2 + 1 - IF (LINED2 .LT. (ISTRAT+1)*NPAR) THEN - DO 5 I= 1, NPAR - IF (G2(I) .GT. ZERO) GO TO 5 - STEP(I) = -SIGN(GSTEP(I),GRD(I)) - GDEL = STEP(I)*GRD(I) - FS = AMIN - CALL MNLINE(FCN,XXS,FS,STEP,GDEL,TOLER,FUTIL) - CALL MNWARN('D','MNMIGR','Negative G2 line search') - IEXT = NEXOFI(I) - IF (LDEBUG) WRITE (ISYSWR,'(A,I3,2G13.3)') - + ' Negative G2 line search, param ',IEXT,FS,AMIN - GO TO 2 - 5 CONTINUE - ENDIF -C make diagonal error matrix - DO 8 I=1,NPAR - NDEX = I*(I-1)/2 - DO 7 J=1,I-1 - NDEX = NDEX + 1 - 7 VHMAT(NDEX) = 0. - NDEX = NDEX + 1 - IF (G2(I) .LE. ZERO) G2(I) = 1. - VHMAT(NDEX) = 2./G2(I) - 8 CONTINUE - DCOVAR = 1. - IF (LDEBUG) WRITE (ISYSWR,'(A,A/(1X,10G10.2))') ' DEBUG MNMIGR,', - + ' STARTING MATRIX DIAGONAL, VHMAT=', (VHMAT(KK),KK=1,LENV) -C ready to start first iteration - 10 CONTINUE - NRSTRT = NRSTRT + 1 - IF (NRSTRT .GT. ISTRAT+1) THEN - CSTATU= 'FAILED ' - GO TO 230 - ENDIF - FS = AMIN -C . . . get EDM and set up loop - EDM = 0. - DO 18 I= 1, NPAR - GS(I) = GRD(I) - XXS(I) = X(I) - NDEX = I*(I-1)/2 - DO 17 J= 1, I-1 - NDEX = NDEX + 1 - 17 EDM = EDM + GS(I)*VHMAT(NDEX)*GS(J) - NDEX = NDEX + 1 - 18 EDM = EDM + 0.5 * GS(I)**2 *VHMAT(NDEX) - EDM = EDM * 0.5 * (1.0+3.0*DCOVAR) - IF (EDM .LT. ZERO) THEN - CALL MNWARN('W','MIGRAD','STARTING MATRIX NOT POS-DEFINITE.') - ISW(2) = 0 - DCOVAR = 1. - GO TO 2 - ENDIF - IF (ISW(2) .EQ. 0) EDM=BIGEDM - ITER = 0 - CALL MNINEX(X) - CALL MNWERR - IF (ISWTR .GE. 1) CALL MNPRIN(3,AMIN) - IF (ISWTR .GE. 2) CALL MNMATU(0) -C . . . . . start main loop - 24 CONTINUE - IF (NFCN-NPFN .GE. NFCNMX) GO TO 190 - GDEL = 0. - GSSQ = 0. - DO 30 I=1,NPAR - RI = 0. - GSSQ = GSSQ + GS(I)**2 - DO 25 J=1,NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - 25 RI = RI + VHMAT(NDEX) *GS(J) - STEP(I) = -0.5*RI - 30 GDEL = GDEL + STEP(I)*GS(I) - IF (GSSQ .EQ. ZERO) THEN - CALL MNWARN('D','MIGRAD', - + ' FIRST DERIVATIVES OF FCN ARE ALL ZERO') - GO TO 300 - ENDIF -C if gdel positive, V not posdef - IF (GDEL .GE. ZERO) THEN - CALL MNWARN('D','MIGRAD',' NEWTON STEP NOT DESCENT.') - IF (NPSDF .EQ. 1) GO TO 1 - CALL MNPSDF - NPSDF = 1 - GO TO 24 - ENDIF -C . . . . do line search - CALL MNLINE(FCN,XXS,FS,STEP,GDEL,TOLER,FUTIL) - IF (AMIN .EQ. FS) GO TO 200 - CFROM = 'MIGRAD ' - NFCNFR = NFCNMG - CSTATU= 'PROGRESS ' -C . get gradient at new point - CALL MNINEX(X) - IF (ISW(3) .EQ. 1) THEN - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - ENDIF - CALL MNDERI(FCN,FUTIL) -C . calculate new EDM - NPSDF = 0 - 81 EDM = 0. - GVG = 0. - DELGAM = 0. - GDGSSQ = 0. - DO 100 I= 1, NPAR - RI = 0. - VGI = 0. - DO 90 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - VGI = VGI + VHMAT(NDEX)*(GRD(J)-GS(J)) - 90 RI = RI + VHMAT(NDEX)* GRD(J) - VG(I) = VGI*0.5 - GAMI = GRD(I) - GS(I) - GDGSSQ = GDGSSQ + GAMI**2 - GVG = GVG + GAMI*VG(I) - DELGAM = DELGAM + DIRIN(I)*GAMI - 100 EDM = EDM + GRD(I)*RI*0.5 - EDM = EDM * 0.5 * (1.0 + 3.0*DCOVAR) -C . if EDM negative, not positive-definite - IF (EDM .LT. ZERO .OR. GVG .LE. ZERO) THEN - CALL MNWARN('D','MIGRAD','NOT POS-DEF. EDM OR GVG NEGATIVE.') - CSTATU = 'NOT POSDEF' - IF (NPSDF .EQ. 1) GO TO 230 - CALL MNPSDF - NPSDF = 1 - GO TO 81 - ENDIF -C print information about this iteration - ITER = ITER + 1 - IF (ISWTR.GE.3 .OR. (ISWTR.EQ.2.AND.MOD(ITER,10).EQ.1)) THEN - CALL MNWERR - CALL MNPRIN(3,AMIN) - ENDIF - IF (GDGSSQ .EQ. ZERO) CALL MNWARN('D','MIGRAD', - + 'NO CHANGE IN FIRST DERIVATIVES OVER LAST STEP') - IF (DELGAM .LT. ZERO) CALL MNWARN('D','MIGRAD', - + 'FIRST DERIVATIVES INCREASING ALONG SEARCH LINE') -C . update covariance matrix - CSTATU = 'IMPROVEMNT' - IF (LDEBUG) WRITE (ISYSWR,'(A,(1X,10G10.3))') ' VHMAT 1 =', - + (VHMAT(KK),KK=1,10) - DSUM = 0. - VSUM = 0. - DO 120 I=1, NPAR - DO 120 J=1, I - D = DIRIN(I)*DIRIN(J)/DELGAM - VG(I)*VG(J)/GVG - DSUM = DSUM + ABS(D) - NDEX = I*(I-1)/2 + J - VHMAT(NDEX) = VHMAT(NDEX) + 2.0*D - VSUM = VSUM + ABS(VHMAT(NDEX)) - 120 CONTINUE -C smooth local fluctuations by averaging DCOVAR - DCOVAR = 0.5*(DCOVAR + DSUM/VSUM) - IF (ISWTR.GE.3 .OR. LDEBUG) WRITE (ISYSWR,'(A,F5.1,A)') - + ' RELATIVE CHANGE IN COV. MATRIX=',DCOVAR*100.,'%' - IF (LDEBUG) WRITE (ISYSWR,'(A,(1X,10G10.3))') ' VHMAT 2 =', - + (VHMAT(KK),KK=1,10) - IF (DELGAM .LE. GVG) GO TO 135 - DO 125 I= 1, NPAR - 125 FLNU(I) = DIRIN(I)/DELGAM - VG(I)/GVG - DO 130 I= 1, NPAR - DO 130 J= 1, I - NDEX = I*(I-1)/2 + J - 130 VHMAT(NDEX) = VHMAT(NDEX) + 2.0*GVG*FLNU(I)*FLNU(J) - 135 CONTINUE -C and see if converged - IF (EDM .LT. 0.1*RHOTOL) GO TO 300 -C if not, prepare next iteration - DO 140 I= 1, NPAR - XXS(I) = X(I) - GS(I) = GRD(I) - 140 CONTINUE - FS = AMIN - IF (ISW(2) .EQ. 0 .AND. DCOVAR.LT. 0.5 ) ISW(2) = 1 - IF (ISW(2) .EQ. 3 .AND. DCOVAR.GT. 0.1 ) ISW(2) = 1 - IF (ISW(2) .EQ. 1 .AND. DCOVAR.LT. 0.05) ISW(2) = 3 - GO TO 24 -C . . . . . end main loop -C . . call limit in MNMIGR - 190 ISW(1) = 1 - IF (ISW(5) .GE. 0) - + WRITE (ISYSWR,'(A)') ' CALL LIMIT EXCEEDED IN MIGRAD.' - CSTATU = 'CALL LIMIT' - GO TO 230 -C . . fails to improve . . - 200 IF (ISWTR .GE. 1) WRITE (ISYSWR,'(A)') - + ' MIGRAD FAILS TO FIND IMPROVEMENT' - DO 210 I= 1, NPAR - 210 X(I) = XXS(I) - IF (EDM .LT. RHOTOL) GO TO 300 - IF (EDM .LT. ABS(EPSMA2*AMIN)) THEN - IF (ISWTR .GE. 0) WRITE (ISYSWR, '(A)') - + ' MACHINE ACCURACY LIMITS FURTHER IMPROVEMENT.' - GO TO 300 - ENDIF - IF (ISTRAT .LT. 1) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR, '(A)') - + ' MIGRAD FAILS WITH STRATEGY=0. WILL TRY WITH STRATEGY=1.' - ISTRAT = 1 - ENDIF - GO TO 1 -C . . fails to converge - 230 IF (ISWTR .GE. 0) WRITE (ISYSWR,'(A)') - + ' MIGRAD TERMINATED WITHOUT CONVERGENCE.' - IF (ISW(2) .EQ. 3) ISW(2) = 1 - ISW(4) = -1 - GO TO 400 -C . . apparent convergence - 300 IF (ISWTR .GE. 0) WRITE(ISYSWR,'(/A)') - + ' MIGRAD MINIMIZATION HAS CONVERGED.' - IF (ITAUR .EQ. 0) THEN - IF (ISTRAT .GE. 2 .OR. (ISTRAT.EQ.1.AND.ISW(2).LT.3)) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR, '(/A)') - + ' MIGRAD WILL VERIFY CONVERGENCE AND Error Matrix.' - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - NPSDF = 0 - IF (EDM .GT. RHOTOL) GO TO 10 - ENDIF - ENDIF - CSTATU='CONVERGED ' - ISW(4) = 1 -C come here in any case - 400 CONTINUE - CFROM = 'MIGRAD ' - NFCNFR = NFCNMG - CALL MNINEX(X) - CALL MNWERR - IF (ISWTR .GE. 0) CALL MNPRIN (3,AMIN) - IF (ISWTR .GE. 1) CALL MNMATU(1) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmnos.F b/graphics/Qat/QatDataModeling/src/mnmnos.F deleted file mode 100644 index ee9632aac08..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnmnos.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: mnmnos.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmnos.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMNOS(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a MINOS error analysis on those parameters for -CC which it is requested on the MINOS command by calling -CC MNMNOT for each parameter requested. -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IF (NPAR .LE. 0) GO TO 700 - NGOOD = 0 - NBAD = 0 - NFCNMI = NFCN -C . loop over parameters requested - DO 570 KNT= 1, NPAR - IF (INT(WORD7(2)) .EQ. 0) THEN - ILAX = NEXOFI(KNT) - ELSE - IF (KNT .GE. 7) GO TO 580 - ILAX = INT(WORD7(KNT+1)) - IF (ILAX .EQ. 0) GO TO 580 - IF (ILAX .GT. 0 .AND. ILAX .LE. NU) THEN - IF (NIOFEX(ILAX) .GT. 0) GO TO 565 - ENDIF - WRITE (ISYSWR,564) ILAX - 564 FORMAT (' PARAMETER NUMBER ',I5,' NOT VARIABLE. IGNORED.') - GO TO 570 - ENDIF - 565 CONTINUE -C calculate one pair of M E's - ILAX2 = 0 - CALL MNMNOT(FCN,ILAX,ILAX2,VAL2PL,VAL2MI,FUTIL) - IF (LNEWMN) GO TO 650 -C update NGOOD and NBAD - IIN = NIOFEX(ILAX) - IF (ERP(IIN) .GT. ZERO) THEN - NGOOD=NGOOD+1 - ELSE - NBAD=NBAD+1 - ENDIF - IF (ERN(IIN) .LT. ZERO) THEN - NGOOD=NGOOD+1 - ELSE - NBAD=NBAD+1 - ENDIF - 570 CONTINUE -C end of loop . . . . . . . - 580 CONTINUE -C . . . . printout final values . - CFROM = 'MINOS ' - NFCNFR = NFCNMI - CSTATU= 'UNCHANGED ' - IF (NGOOD.EQ.0.AND.NBAD.EQ.0) GO TO 700 - IF (NGOOD.GT.0.AND.NBAD.EQ.0) CSTATU='SUCCESSFUL' - IF (NGOOD.EQ.0.AND.NBAD.GT.0) CSTATU='FAILURE ' - IF (NGOOD.GT.0.AND.NBAD.GT.0) CSTATU='PROBLEMS ' - IF (ISW(5) .GE. 0) CALL MNPRIN(4,AMIN) - IF (ISW(5) .GE. 2) CALL MNMATU(0) - GO TO 900 -C . . . new minimum found . . . . - 650 CONTINUE - CFROM = 'MINOS ' - NFCNFR = NFCNMI - CSTATU= 'NEW MINIMU' - IF (ISW(5) .GE. 0) CALL MNPRIN(4,AMIN) - WRITE (ISYSWR,675) - 675 FORMAT(/50H NEW MINIMUM FOUND. GO BACK TO MINIMIZATION STEP./1H , - +60(1H=)/60X,1HV/60X,1HV/60X,1HV/57X,7HVVVVVVV/58X,5HVVVVV/59X, - +3HVVV/60X,1HV//) - GO TO 900 - 700 WRITE (ISYSWR,'(A)') ' THERE ARE NO MINOS ERRORS TO CALCULATE.' - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmnot.F b/graphics/Qat/QatDataModeling/src/mnmnot.F deleted file mode 100644 index 2ac13114537..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnmnot.F +++ /dev/null @@ -1,182 +0,0 @@ -* -* $Id: mnmnot.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmnot.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMNOT(FCN,ILAX,ILAX2,VAL2PL,VAL2MI,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a MINOS error analysis on one parameter. -CC The parameter ILAX is varied, and the minimum of the -CC function with respect to the other parameters is followed -CC until it crosses the value FMIN+UP. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION XDEV(MNI),W(MNI),GCC(MNI) - CHARACTER*4 CPOS,CNEG,CSIG - PARAMETER (CPOS='POSI',CNEG='NEGA') -C . . save and prepare start vals - ISW2 = ISW(2) - ISW4 = ISW(4) - SIGSAV = EDM - ISTRAV = ISTRAT - DC = DCOVAR - LNEWMN = .FALSE. - APSI = EPSI*0.5 - ABEST=AMIN - MPAR=NPAR - NFMXIN = NFCNMX - DO 125 I= 1, MPAR - 125 XT(I) = X(I) - DO 130 J= 1, MPAR*(MPAR+1)/2 - 130 VTHMAT(J) = VHMAT(J) - DO 135 I= 1, MPAR - GCC(I) = GLOBCC(I) - 135 W(I) = WERR(I) - IT = NIOFEX(ILAX) - ERP(IT) = 0. - ERN(IT) = 0. - CALL MNINEX(XT) - UT = U(ILAX) - IF (NVARL(ILAX) .EQ. 1) THEN - ALIM(ILAX) = UT -100.*W(IT) - BLIM(ILAX) = UT +100.*W(IT) - ENDIF - NDEX = IT*(IT+1)/2 - XUNIT = SQRT(UP/VTHMAT(NDEX)) - MARC = 0 - DO 162 I= 1, MPAR - IF (I .EQ. IT) GO TO 162 - MARC = MARC + 1 - IMAX = MAX(IT,I) - INDX = IMAX*(IMAX-1)/2 + MIN(IT,I) - XDEV(MARC) = XUNIT*VTHMAT(INDX) - 162 CONTINUE -C fix the parameter in question - CALL MNFIXP (IT,IERR) - IF (IERR .GT. 0) THEN - WRITE (ISYSWR,'(A,I5,A,I5)') - + ' MINUIT ERROR. CANNOT FIX PARAMETER',ILAX,' INTERNAL',IT - GO TO 700 - ENDIF -C . . . . . Nota Bene: from here on, NPAR=MPAR-1 -C Remember: MNFIXP squeezes IT out of X, XT, WERR, and VHMAT, -C not W, VTHMAT - DO 500 ISIG= 1,2 - IF (ISIG .EQ. 1) THEN - SIG = 1.0 - CSIG = CPOS - ELSE - SIG = -1.0 - CSIG = CNEG - ENDIF -C . sig=sign of error being calcd - IF (ISW(5) .GT. 1) WRITE (ISYSWR,806) CSIG,ILAX,CPNAM(ILAX) - 806 FORMAT (/' DETERMINATION OF ',A4,'TIVE MINOS ERROR FOR PARAMETER', - + I3, 2X ,A) - IF (ISW(2).LE.0) CALL MNWARN('D','MINOS','NO COVARIANCE MATRIX.') - NLIMIT = NFCN + NFMXIN - ISTRAT = MAX(ISTRAV-1,0) - DU1 = W(IT) - U(ILAX) = UT + SIG*DU1 - U(ILAX) = MIN(U(ILAX),BLIM(ILAX)) - U(ILAX) = MAX(U(ILAX),ALIM(ILAX)) - DELU = U(ILAX) - UT -C stop if already at limit with negligible step size - IF (ABS(DELU)/(ABS(UT)+ABS(U(ILAX))) .LT. EPSMAC) GO TO 440 - FAC = DELU/W(IT) - DO 185 I= 1, NPAR - 185 X(I) = XT(I) + FAC*XDEV(I) - IF (ISW(5) .GT. 1) WRITE (ISYSWR,801) ILAX,UT,DELU,U(ILAX) - 801 FORMAT (/' PARAMETER',I4,' SET TO',E11.3,' + ',E10.3,' = ',E12.3) -C loop to hit AMIN+UP - KE1CR = ILAX - KE2CR = 0 - XMIDCR = U(ILAX) - XDIRCR = DELU -C - AMIN = ABEST - NFCNMX = NLIMIT - NFCN - CALL MNCROS(FCN,AOPT,IERCR,FUTIL) - IF (ABEST-AMIN .GT. 0.01*UP) GO TO 650 - IF (IERCR .EQ. 1) GO TO 440 - IF (IERCR .EQ. 2) GO TO 450 - IF (IERCR .EQ. 3) GO TO 460 -C . error successfully calculated - EROS = XMIDCR-UT + AOPT*XDIRCR - IF (ISW(5) .GT. 1) WRITE (ISYSWR,808) CSIG,ILAX,CPNAM(ILAX),EROS - 808 FORMAT (/9X,4HTHE ,A4, 29HTIVE MINOS ERROR OF PARAMETER,I3, 2H - +, A10, 4H, IS ,E12.4) - GO TO 480 -C . . . . . . . . failure returns - 440 IF (ISW(5) .GE. 1) WRITE(ISYSWR,807) CSIG,ILAX,CPNAM(ILAX) - 807 FORMAT (5X,'THE ',A4,'TIVE MINOS ERROR OF PARAMETER',I3,', ',A, - +', EXCEEDS ITS LIMIT.'/) - EROS = UNDEFI - GO TO 480 - 450 IF (ISW(5) .GE. 1) WRITE (ISYSWR, 802) CSIG,ILAX,NFMXIN - 802 FORMAT (9X,'THE ',A,'TIVE MINOS ERROR',I4,' REQUIRES MORE THAN', - + I5,' FUNCTION CALLS.'/) - EROS = 0. - GO TO 480 - 460 IF (ISW(5) .GE. 1) WRITE (ISYSWR, 805) CSIG,ILAX - 805 FORMAT (25X,A,'TIVE MINOS ERROR NOT CALCULATED FOR PARAMETER',I4/) - EROS = 0. -C - 480 IF (ISW(5) .GT. 1) WRITE (ISYSWR,'(5X, 74(1H*))') - IF (SIG .LT. ZERO) THEN - ERN(IT) = EROS - IF (ILAX2.GT.0 .AND. ILAX2.LE.NU) VAL2MI = U(ILAX2) - ELSE - ERP(IT) = EROS - IF (ILAX2.GT.0 .AND. ILAX2.LE.NU) VAL2PL = U(ILAX2) - ENDIF - 500 CONTINUE -C . . parameter finished. reset v -C normal termination - ITAUR = 1 - CALL MNFREE(1) - DO 550 J= 1, MPAR*(MPAR+1)/2 - 550 VHMAT(J) = VTHMAT(J) - DO 595 I= 1, MPAR - WERR(I) = W(I) - GLOBCC(I) = GCC(I) - 595 X(I) = XT(I) - CALL MNINEX (X) - EDM = SIGSAV - AMIN = ABEST - ISW(2) = ISW2 - ISW(4) = ISW4 - DCOVAR = DC - GO TO 700 -C new minimum - 650 LNEWMN = .TRUE. - ISW(2) = 0 - DCOVAR = 1. - ISW(4) = 0 - SAV = U(ILAX) - ITAUR = 1 - CALL MNFREE(1) - U(ILAX) = SAV - CALL MNEXIN(X) - EDM = BIGEDM -C in any case - 700 CONTINUE - ITAUR = 0 - NFCNMX = NFMXIN - ISTRAT = ISTRAV - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnparm.F b/graphics/Qat/QatDataModeling/src/mnparm.F deleted file mode 100644 index 92d47a671f7..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnparm.F +++ /dev/null @@ -1,229 +0,0 @@ -* -* $Id: mnparm.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnparm.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:50 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPARM(K,CNAMJ,UK,WK,A,B,IERFLG) -#include "QatDataModeling/d506dp.inc" -CC Called from MNPARS and user-callable -CC Implements one parameter definition, that is: -CC K (external) parameter number -CC CNAMK parameter name -CC UK starting value -CC WK starting step size or uncertainty -CC A, B lower and upper physical parameter limits -CC and sets up (updates) the parameter lists. -CC Output: IERFLG=0 if no problems -CC >0 if MNPARM unable to implement definition -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CNAMJ - CHARACTER CNAMK*10, CHBUFI*4 -C - CNAMK = CNAMJ - KINT = NPAR - IF (K.LT.1 .OR. K.GT.MAXEXT) THEN -C parameter number exceeds allowed maximum value - WRITE (ISYSWR,9) K,MAXEXT - 9 FORMAT (/' MINUIT USER ERROR. PARAMETER NUMBER IS',I11/ - + ', ALLOWED RANGE IS ONE TO',I4/) - GO TO 800 - ENDIF -C normal parameter request - KTOFIX = 0 - IF (NVARL(K) .LT. 0) GO TO 50 -C previously defined parameter is being redefined -C find if parameter was fixed - DO 40 IX= 1, NPFIX - IF (IPFIX(IX) .EQ. K) KTOFIX = K - 40 CONTINUE - IF (KTOFIX .GT. 0) THEN - CALL MNWARN('W','PARAM DEF','REDEFINING A FIXED PARAMETER.') - IF (KINT .GE. MAXINT) THEN - WRITE (ISYSWR,'(A)') ' CANNOT RELEASE. MAX NPAR EXCEEDED.' - GO TO 800 - ENDIF - CALL MNFREE(-K) - ENDIF -C if redefining previously variable parameter - IF(NIOFEX(K) .GT. 0) KINT = NPAR-1 - 50 CONTINUE -C -C . . .print heading - IF (LPHEAD .AND. ISW(5).GE.0) THEN - WRITE (ISYSWR,61) - LPHEAD = .FALSE. - ENDIF - 61 FORMAT(/' PARAMETER DEFINITIONS:'/ - + ' NO. NAME VALUE STEP SIZE LIMITS') - IF (WK .GT. ZERO) GO TO 122 -C . . .constant parameter . . . . - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 82) K,CNAMK,UK - 82 FORMAT (1X,I5,1X,1H',A10,1H',1X,G13.5, ' constant') - NVL = 0 - GO TO 200 - 122 IF (A.EQ.ZERO .AND. B.EQ.ZERO) THEN -C variable parameter without limits - NVL = 1 - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 127) K,CNAMK,UK,WK - 127 FORMAT (1X,I5,1X,1H',A10,1H',1X,2G13.5, ' no limits') - ELSE -C variable parameter with limits - NVL = 4 - LNOLIM = .FALSE. - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 132) K,CNAMK,UK,WK,A,B - 132 FORMAT(1X,I5,1X,1H',A10,1H',1X,2G13.5,2X,2G13.5) - ENDIF -C . . request for another variable parameter - KINT = KINT + 1 - IF (KINT .GT. MAXINT) THEN - WRITE (ISYSWR,135) MAXINT - 135 FORMAT (/' MINUIT USER ERROR. TOO MANY VARIABLE PARAMETERS.'/ - + ' THIS VERSION OF MINUIT DIMENSIONED FOR',I4//) - GO TO 800 - ENDIF - IF (NVL .EQ. 1) GO TO 200 - IF (A .EQ. B) THEN - WRITE (ISYSWR,'(/A,A/A/)') ' USER ERROR IN MINUIT PARAMETER', - + ' DEFINITION',' UPPER AND LOWER LIMITS EQUAL.' - GO TO 800 - ENDIF - IF (B .LT. A) THEN - SAV = B - B = A - A = SAV - CALL MNWARN('W','PARAM DEF','PARAMETER LIMITS WERE REVERSED.') - IF (LWARN) LPHEAD=.TRUE. - ENDIF - IF ((B-A) .GT. 1.0E7) THEN - WRITE (CHBUFI,'(I4)') K - CALL MNWARN('W','PARAM DEF', - + 'LIMITS ON PARAM'//CHBUFI//' TOO FAR APART.') - IF (LWARN) LPHEAD=.TRUE. - ENDIF - DANGER = (B-UK)*(UK-A) - IF (DANGER .LT. 0.) - + CALL MNWARN('W','PARAM DEF','STARTING VALUE OUTSIDE LIMITS.') - IF (DANGER .EQ. 0.) - + CALL MNWARN('W','PARAM DEF','STARTING VALUE IS AT LIMIT.') - 200 CONTINUE -C . . . input OK, set values, arrange lists, -C calculate step sizes GSTEP, DIRIN - CFROM = 'PARAMETR' - NFCNFR = NFCN - CSTATU= 'NEW VALUES' - NU = MAX(NU,K) - CPNAM(K) = CNAMK - U(K) = UK - ALIM(K) = A - BLIM(K) = B - NVARL(K) = NVL -C K is external number of new parameter -C LASTIN is the number of var. params with ext. param. no.< K - LASTIN = 0 - DO 240 IX= 1, K-1 - IF (NIOFEX(IX) .GT. 0) LASTIN=LASTIN+1 - 240 CONTINUE -C KINT is new number of variable params, NPAR is old - IF (KINT .EQ. NPAR) GO TO 280 - IF (KINT .GT. NPAR) THEN -C insert new variable parameter in list - DO 260 IN= NPAR,LASTIN+1,-1 - IX = NEXOFI(IN) - NIOFEX(IX) = IN+1 - NEXOFI(IN+1)= IX - X (IN+1) = X (IN) - XT (IN+1) = XT (IN) - DIRIN(IN+1) = DIRIN(IN) - G2 (IN+1) = G2 (IN) - GSTEP(IN+1) = GSTEP(IN) - 260 CONTINUE - ELSE -C remove variable parameter from list - DO 270 IN= LASTIN+1,KINT - IX = NEXOFI(IN+1) - NIOFEX(IX) = IN - NEXOFI(IN)= IX - X (IN)= X (IN+1) - XT (IN)= XT (IN+1) - DIRIN (IN)= DIRIN(IN+1) - G2 (IN)= G2 (IN+1) - GSTEP (IN)= GSTEP(IN+1) - 270 CONTINUE - ENDIF - 280 CONTINUE - IX = K - NIOFEX(IX) = 0 - NPAR = KINT - CALL MNRSET(1) -C lists are now arranged . . . . - IF (NVL .GT. 0) THEN - IN = LASTIN+1 - NEXOFI(IN) = IX - NIOFEX(IX) = IN - SAV = U(IX) - CALL MNPINT(SAV,IX,PINTI) - X(IN) = PINTI - XT(IN) = X(IN) - WERR(IN) = WK - SAV2 = SAV + WK - CALL MNPINT(SAV2,IX,PINTI) - VPLU = PINTI - X(IN) - SAV2 = SAV - WK - CALL MNPINT(SAV2,IX,PINTI) - VMINU = PINTI - X(IN) - DIRIN(IN) = 0.5 * (ABS(VPLU) +ABS(VMINU)) - G2(IN) = 2.0*UP / DIRIN(IN)**2 - GSMIN = 8.*EPSMA2*ABS(X(IN)) - GSTEP(IN) = MAX (GSMIN, 0.1*DIRIN(IN)) - IF (AMIN .NE. UNDEFI) THEN - SMALL = SQRT(EPSMA2*(AMIN+UP)/UP) - GSTEP(IN) = MAX(GSMIN, SMALL*DIRIN(IN)) - ENDIF - GRD (IN) = G2(IN)*DIRIN(IN) -C if parameter has limits - IF (NVARL(K) .GT. 1) THEN - IF (GSTEP(IN).GT. 0.5) GSTEP(IN)=0.5 - GSTEP(IN) = -GSTEP(IN) - ENDIF - ENDIF - IF (KTOFIX .GT. 0) THEN - KINFIX = NIOFEX(KTOFIX) - IF (KINFIX .GT. 0) CALL MNFIXP(KINFIX,IERR) - IF (IERR .GT. 0) GO TO 800 - ENDIF - IERFLG = 0 - RETURN -C error on input, unable to implement request . . . . - 800 CONTINUE - IERFLG = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpars.F b/graphics/Qat/QatDataModeling/src/mnpars.F deleted file mode 100644 index 67457c8f6d5..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnpars.F +++ /dev/null @@ -1,99 +0,0 @@ -* -* $Id: mnpars.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpars.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPARS(CRDBUF,ICONDN) -#include "QatDataModeling/d506dp.inc" -CC Called from MNREAD and user-callable -CC Implements one parameter definition, that is: -CC parses the string CRDBUF and calls MNPARM -C -C output conditions: -C ICONDN = 0 all OK -C ICONDN = 1 error, attempt to define parameter is ignored -C ICONDN = 2 end of parameter definitions -C -#include "QatDataModeling/d506cm.inc" -C - DIMENSION PLIST(MAXP) - CHARACTER CNAMK*10, CRDBUF*(*) , CELMNT*20 , COMAND*(MAXCWD) -C - LENBUF = LEN(CRDBUF) -C find out whether fixed or free-field format - KAPO1 = INDEX(CRDBUF,'''') - IF (KAPO1 .EQ. 0) GO TO 150 - KAPO2 = INDEX(CRDBUF(KAPO1+1:),'''') - IF (KAPO2 .EQ. 0) GO TO 150 -C new (free-field) format - KAPO2 = KAPO2 + KAPO1 -C skip leading blanks if any - DO 115 ISTART=1, KAPO1-1 - IF (CRDBUF(ISTART:ISTART) .NE. ' ') GO TO 120 - 115 CONTINUE - GO TO 210 - 120 CONTINUE -C parameter number integer - CELMNT = CRDBUF(ISTART:KAPO1-1) - READ (CELMNT,'(BN,F20.0)',ERR=180) FK - K = FK - IF (K .LE. 0) GO TO 210 - CNAMK = 'PARAM '//CELMNT - IF (KAPO2-KAPO1 .GT. 1) CNAMK = CRDBUF(KAPO1+1:KAPO2-1) -C special handling if comma or blanks and a comma follow 'name' - DO 135 ICY= KAPO2+1,LENBUF - IF (CRDBUF(ICY:ICY) .EQ. ',') GO TO 139 - IF (CRDBUF(ICY:ICY) .NE. ' ') GO TO 140 - 135 CONTINUE - UK = 0. - WK = 0. - A = 0. - B = 0. - GO TO 170 - 139 CONTINUE - ICY = ICY+1 - 140 CONTINUE - IBEGIN = ICY - CALL MNCRCK(CRDBUF(IBEGIN:),MAXCWD,COMAND,LNC, - + MAXP,PLIST,LLIST, IERR,ISYSWR) - IF (IERR .GT. 0) GO TO 180 - UK = PLIST(1) - WK = 0. - IF (LLIST .GE. 2) WK = PLIST(2) - A = 0. - IF (LLIST .GE. 3) A = PLIST(3) - B = 0. - IF (LLIST .GE. 4) B = PLIST(4) - GO TO 170 -C old (fixed-field) format - 150 CONTINUE - READ (CRDBUF, 158,ERR=180) XK,CNAMK,UK,WK,A,B - 158 FORMAT (BN,F10.0, A10, 4F10.0) - K = XK - IF (K .EQ. 0) GO TO 210 -C parameter format cracked, implement parameter definition - 170 CALL MNPARM(K,CNAMK,UK,WK,A,B,IERR) - ICONDN = IERR - RETURN -C format or other error - 180 CONTINUE - ICONDN = 1 - RETURN -C end of data - 210 CONTINUE - ICONDN = 2 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpfit.F b/graphics/Qat/QatDataModeling/src/mnpfit.F deleted file mode 100644 index 190007389e9..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnpfit.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: mnpfit.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpfit.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPFIT(PARX2P,PARY2P,NPAR2P,COEF2P,SDEV2P) -#include "QatDataModeling/d506dp.inc" -C -C to fit a parabola to npar2p points -C -C npar2p no. of points -C parx2p(i) x value of point i -C pary2p(i) y value of point i -C -C coef2p(1...3) coefficients of the fitted parabola -C y=coef2p(1) + coef2p(2)*x + coef2p(3)*x**2 -C sdev2p= variance -C method : chi**2 = min equation solved explicitly - DIMENSION PARX2P(NPAR2P),PARY2P(NPAR2P),COEF2P(NPAR2P) - DIMENSION CZ(3) -C - DO 3 I=1,3 - 3 CZ(I)=0. - SDEV2P=0. - IF(NPAR2P.LT.3) GO TO 10 - F=NPAR2P -C--- center x values for reasons of machine precision - XM=0. - DO 2 I=1,NPAR2P - 2 XM=XM+PARX2P(I) - XM=XM/F - X2=0. - X3=0. - X4=0. - Y=0. - Y2=0. - XY=0. - X2Y=0. - DO 1 I=1,NPAR2P - S=PARX2P(I)-XM - T=PARY2P(I) - S2=S*S - X2=X2+S2 - X3=X3+S*S2 - X4=X4+S2*S2 - Y=Y+T - Y2=Y2+T*T - XY=XY+S*T - X2Y=X2Y+S2*T - 1 CONTINUE - A=(F*X4-X2**2)*X2-F*X3**2 - IF(A.EQ.0.) GOTO 10 - CZ(3)=(X2*(F*X2Y-X2*Y)-F*X3*XY)/A - CZ(2)=(XY-X3*CZ(3))/X2 - CZ(1)=(Y-X2*CZ(3))/F - IF(NPAR2P.EQ.3) GOTO 6 - SDEV2P=Y2-(CZ(1)*Y+CZ(2)*XY+CZ(3)*X2Y) - IF(SDEV2P.LT.0.) SDEV2P=0. - SDEV2P=SDEV2P/(F-3.) - 6 CZ(1)=CZ(1)+XM*(XM*CZ(3)-CZ(2)) - CZ(2)=CZ(2)-2.*XM*CZ(3) - 10 CONTINUE - DO 11 I=1,3 - 11 COEF2P(I)=CZ(I) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpint.F b/graphics/Qat/QatDataModeling/src/mnpint.F deleted file mode 100644 index 003bc6d5b72..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnpint.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: mnpint.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpint.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPINT(PEXTI,I,PINTI) -#include "QatDataModeling/d506dp.inc" -CC Calculates the internal parameter value PINTI corresponding -CC to the external value PEXTI for parameter I. -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CHBUFI*4, CHBUF2*30 - PINTI = PEXTI - IGO = NVARL(I) - IF (IGO .EQ. 4) THEN -C-- there are two limits - ALIMI = ALIM(I) - BLIMI = BLIM(I) - YY=2.0*(PEXTI-ALIMI)/(BLIMI-ALIMI) - 1.0 - YY2 = YY**2 - IF (YY2 .GE. (1.0- EPSMA2)) THEN - IF (YY .LT. 0.) THEN - A = VLIMLO - CHBUF2 = ' IS AT ITS LOWER ALLOWED LIMIT.' - ELSE - A = VLIMHI - CHBUF2 = ' IS AT ITS UPPER ALLOWED LIMIT.' - ENDIF - PINTI = A - PEXTI = ALIMI + 0.5* (BLIMI-ALIMI) *(SIN(A) +1.0) - LIMSET = .TRUE. - WRITE (CHBUFI,'(I4)') I - IF (YY2 .GT. 1.0) CHBUF2 = ' BROUGHT BACK INSIDE LIMITS.' - CALL MNWARN('W',CFROM,'VARIABLE'//CHBUFI//CHBUF2) - ELSE - PINTI = ASIN(YY) - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnplot.F b/graphics/Qat/QatDataModeling/src/mnplot.F deleted file mode 100644 index 9778eb5b43b..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnplot.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: mnplot.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnplot.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPLOT(XPT,YPT,CHPT,NXYPT,NUNIT,NPAGWD,NPAGLN) -#include "QatDataModeling/d506dp.inc" -CC plots points in array xypt onto one page with labelled axes -CC NXYPT is the number of points to be plotted -CC XPT(I) = x-coord. of ith point -CC YPT(I) = y-coord. of ith point -CC CHPT(I) = character to be plotted at this position -CC the input point arrays XPT, YPT, CHPT are destroyed. -CC - DIMENSION XPT(*), YPT(*) - CHARACTER*1 CHPT(*) , CHSAV, CHBEST, CDOT, CSLASH, CBLANK - PARAMETER (MAXWID=100) - CHARACTER CLINE*100, CHMESS*30 - DIMENSION XVALUS(12) - LOGICAL OVERPR - DATA CDOT,CSLASH,CBLANK/ '.' , '/' , ' '/ - MAXNX = MIN(NPAGWD-20,MAXWID) - IF (MAXNX .LT. 10) MAXNX = 10 - MAXNY = NPAGLN - IF (MAXNY .LT. 10) MAXNY = 10 - IF (NXYPT .LE. 1) RETURN - XBEST = XPT(1) - YBEST = YPT(1) - CHBEST = CHPT(1) -C order the points by decreasing y - KM1 = NXYPT - 1 - DO 150 I= 1, KM1 - IQUIT = 0 - NI = NXYPT - I - DO 140 J= 1, NI - IF (YPT(J) .GT. YPT(J+1)) GO TO 140 - SAVX = XPT(J) - XPT(J) = XPT(J+1) - XPT(J+1) = SAVX - SAVY = YPT(J) - YPT(J) = YPT(J+1) - YPT(J+1) = SAVY - CHSAV = CHPT(J) - CHPT(J) = CHPT(J+1) - CHPT(J+1) = CHSAV - IQUIT = 1 - 140 CONTINUE - IF (IQUIT .EQ. 0) GO TO 160 - 150 CONTINUE - 160 CONTINUE -C find extreme values - XMAX = XPT(1) - XMIN = XMAX - DO 200 I= 1, NXYPT - IF (XPT(I) .GT. XMAX) XMAX = XPT(I) - IF (XPT(I) .LT. XMIN) XMIN = XPT(I) - 200 CONTINUE - DXX = 0.001*(XMAX-XMIN) - XMAX = XMAX + DXX - XMIN = XMIN - DXX - CALL MNBINS(XMIN,XMAX,MAXNX,XMIN,XMAX,NX,BWIDX) - YMAX = YPT(1) - YMIN = YPT(NXYPT) - IF (YMAX .EQ. YMIN) YMAX=YMIN+1.0 - DYY = 0.001*(YMAX-YMIN) - YMAX = YMAX + DYY - YMIN = YMIN - DYY - CALL MNBINS(YMIN,YMAX,MAXNY,YMIN,YMAX,NY,BWIDY) - ANY = NY -C if first point is blank, it is an 'origin' - IF (CHBEST .EQ. CBLANK) GO TO 50 - XBEST = 0.5 * (XMAX+XMIN) - YBEST = 0.5 * (YMAX+YMIN) - 50 CONTINUE -C find scale constants - AX = 1.0/BWIDX - AY = 1.0/BWIDY - BX = -AX*XMIN + 2.0 - BY = -AY*YMIN - 2.0 -C convert points to grid positions - DO 300 I= 1, NXYPT - XPT(I) = AX*XPT(I) + BX - 300 YPT(I) = ANY-AY*YPT(I) - BY - NXBEST = AX*XBEST + BX - NYBEST = ANY - AY*YBEST - BY -C print the points - NY = NY + 2 - NX = NX + 2 - ISP1 = 1 - LINODD = 1 - OVERPR=.FALSE. - DO 400 I= 1, NY - DO 310 IBK= 1, NX - 310 CLINE (IBK:IBK) = CBLANK - CLINE(1:1) = CDOT - CLINE(NX:NX) = CDOT - CLINE(NXBEST:NXBEST) = CDOT - IF (I.NE.1 .AND. I.NE.NYBEST .AND. I.NE.NY) GO TO 320 - DO 315 J= 1, NX - 315 CLINE(J:J) = CDOT - 320 CONTINUE - YPRT = YMAX - FLOAT(I-1)*BWIDY - IF (ISP1 .GT. NXYPT) GO TO 350 -C find the points to be plotted on this line - DO 341 K= ISP1,NXYPT - KS = YPT(K) - IF (KS .GT. I) GO TO 345 - IX = XPT(K) - IF (CLINE(IX:IX) .EQ. CDOT) GO TO 340 - IF (CLINE(IX:IX) .EQ. CBLANK) GO TO 340 - IF (CLINE(IX:IX) .EQ.CHPT(K)) GO TO 341 - OVERPR = .TRUE. -C OVERPR is true if one or more positions contains more than -C one point - CLINE(IX:IX) = '&' - GO TO 341 - 340 CLINE(IX:IX) = CHPT(K) - 341 CONTINUE - ISP1 = NXYPT + 1 - GO TO 350 - 345 ISP1 = K - 350 CONTINUE - IF (LINODD .EQ. 1 .OR. I .EQ. NY) GO TO 380 - LINODD = 1 - WRITE (NUNIT, '(18X,A)') CLINE(:NX) - GO TO 400 - 380 WRITE (NUNIT,'(1X,G14.7,A,A)') YPRT, ' ..', CLINE(:NX) - LINODD = 0 - 400 CONTINUE -C print labels on x-axis every ten columns - DO 410 IBK= 1, NX - CLINE(IBK:IBK) = CBLANK - IF (MOD(IBK,10) .EQ. 1) CLINE(IBK:IBK) = CSLASH - 410 CONTINUE - WRITE (NUNIT, '(18X,A)') CLINE(:NX) -C - DO 430 IBK= 1, 12 - 430 XVALUS(IBK) = XMIN + FLOAT(IBK-1)*10.*BWIDX - ITEN = (NX+9) / 10 - WRITE (NUNIT,'(12X,12G10.4)') (XVALUS(IBK), IBK=1,ITEN) - CHMESS = ' ' - IF (OVERPR) CHMESS=' Overprint character is &' - WRITE (NUNIT,'(25X,A,G13.7,A)') 'ONE COLUMN=',BWIDX, CHMESS - 500 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpout.F b/graphics/Qat/QatDataModeling/src/mnpout.F deleted file mode 100644 index 38b7b9935e3..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnpout.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: mnpout.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpout.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPOUT(IUEXT,CHNAM,VAL,ERR,XLOLIM,XUPLIM,IUINT) -#include "QatDataModeling/d506dp.inc" -CC User-called -CC Provides the user with information concerning the current status -CC of parameter number IUEXT. Namely, it returns: -CC CHNAM: the name of the parameter -CC VAL: the current (external) value of the parameter -CC ERR: the current estimate of the parameter uncertainty -CC XLOLIM: the lower bound (or zero if no limits) -CC XUPLIM: the upper bound (or zero if no limits) -CC IUINT: the internal parameter number (or zero if not variable, -CC or negative if undefined). -CC Note also: If IUEXT is negative, then it is -internal parameter -CC number, and IUINT is returned as the EXTERNAL number. -CC Except for IUINT, this is exactly the inverse of MNPARM -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CHNAM - XLOLIM = 0. - XUPLIM = 0. - ERR = 0. - IF (IUEXT .EQ. 0) GO TO 100 - IF (IUEXT .LT. 0) THEN -C internal parameter number specified - IINT = -IUEXT - IF (IINT .GT. NPAR) GO TO 100 - IEXT = NEXOFI(IINT) - IUINT = IEXT - ELSE -C external parameter number specified - IEXT = IUEXT - IF (IEXT .EQ. 0) GO TO 100 - IF (IEXT .GT. NU) GO TO 100 - IINT = NIOFEX(IEXT) - IUINT = IINT - ENDIF -C in both cases - NVL = NVARL(IEXT) - IF (NVL .LT. 0) GO TO 100 - CHNAM = CPNAM(IEXT) - VAL = U(IEXT) - IF (IINT .GT. 0) ERR = WERR(IINT) - IF (NVL .EQ. 4) THEN - XLOLIM = ALIM(IEXT) - XUPLIM = BLIM(IEXT) - ENDIF - RETURN -C parameter is undefined - 100 IUINT = -1 - CHNAM = 'undefined' - VAL = 0. - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnprin.F b/graphics/Qat/QatDataModeling/src/mnprin.F deleted file mode 100644 index b9196c18214..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnprin.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: mnprin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnprin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPRIN (INKODE,FVAL) -#include "QatDataModeling/d506dp.inc" -CC Prints the values of the parameters at the time of the call. -CC also prints other relevant information such as function value, -CC estimated distance to minimum, parameter errors, step sizes. -CC -C According to the value of IKODE, the printout is: -C IKODE=INKODE= 0 only info about function value -C 1 parameter values, errors, limits -C 2 values, errors, step sizes, internal values -C 3 values, errors, step sizes, first derivs. -C 4 values, parabolic errors, MINOS errors -C when INKODE=5, MNPRIN chooses IKODE=1,2, or 3, according to ISW(2) -C -#include "QatDataModeling/d506cm.inc" -C - CHARACTER*14 COLHDU(6),COLHDL(6), CX2,CX3,CGETX - CHARACTER*11 CNAMBF, CBLANK - CHARACTER CHEDM*10, CHEVAL*15 - PARAMETER (CGETX='PLEASE GET X..') - DATA CBLANK/' '/ -C - IF (NU .EQ. 0) THEN - WRITE (ISYSWR,'(A)') ' THERE ARE CURRENTLY NO PARAMETERS DEFINED' - GO TO 700 - ENDIF -C get value of IKODE based in INKODE, ISW(2) - IKODE = INKODE - IF (INKODE .EQ. 5) THEN - IKODE = ISW(2)+1 - IF (IKODE .GT. 3) IKODE=3 - ENDIF -C set 'default' column headings - DO 5 K= 1, 6 - COLHDU(K) = 'UNDEFINED' - 5 COLHDL(K) = 'COLUMN HEAD' -C print title if Minos errors, and title exists. - IF (IKODE.EQ.4 .AND. CTITL.NE.CUNDEF) - + WRITE (ISYSWR,'(/A,A)') ' MINUIT TASK: ',CTITL -C report function value and status - IF (FVAL .EQ. UNDEFI) THEN - CHEVAL = ' unknown ' - ELSE - WRITE (CHEVAL,'(G15.7)') FVAL - ENDIF - IF (EDM .EQ. BIGEDM) THEN - CHEDM = ' unknown ' - ELSE - WRITE (CHEDM, '(E10.2)') EDM - ENDIF - NC = NFCN-NFCNFR - WRITE (ISYSWR,905) CHEVAL,CFROM,CSTATU,NC,NFCN - 905 FORMAT (/' FCN=',A,' FROM ',A8,' STATUS=',A10,I6,' CALLS', - + I9,' TOTAL') - M = ISW(2) - IF (M.EQ.0 .OR. M.EQ.2 .OR. DCOVAR.EQ.ZERO) THEN - WRITE (ISYSWR,907) CHEDM,ISTRAT,COVMES(M) - 907 FORMAT (21X,'EDM=',A,' STRATEGY=',I2,6X,A) - ELSE - DCMAX = 1. - DC = MIN(DCOVAR,DCMAX) * 100. - WRITE (ISYSWR,908) CHEDM,ISTRAT,DC - 908 FORMAT (21X,'EDM=',A,' STRATEGY=',I1,' Error Matrix', - + ' UNCERTAINTY=',F5.1,'%') - ENDIF -C - IF (IKODE .EQ. 0) GO TO 700 -C find longest name (for Rene!) - NTRAIL = 10 - DO 20 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 20 - DO 15 IC= 10,1,-1 - IF (CPNAM(I)(IC:IC) .NE. ' ') GO TO 16 - 15 CONTINUE - IC = 1 - 16 LBL = 10-IC - IF (LBL .LT. NTRAIL) NTRAIL=LBL - 20 CONTINUE - NADD = NTRAIL/2 + 1 - IF (IKODE .EQ. 1) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' PHYSICAL' - COLHDU(3) = ' LIMITS ' - COLHDL(2) = ' NEGATIVE ' - COLHDL(3) = ' POSITIVE ' - ENDIF - IF (IKODE .EQ. 2) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' INTERNAL ' - COLHDL(2) = ' STEP SIZE ' - COLHDU(3) = ' INTERNAL ' - COLHDL(3) = ' VALUE ' - ENDIF - IF (IKODE .EQ. 3) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' STEP ' - COLHDL(2) = ' SIZE ' - COLHDU(3) = ' FIRST ' - COLHDL(3) = ' DERIVATIVE ' - ENDIF - IF (IKODE .EQ. 4) THEN - COLHDU(1) = ' PARABOLIC ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' MINOS ' - COLHDU(3) = 'ERRORS ' - COLHDL(2) = ' NEGATIVE ' - COLHDL(3) = ' POSITIVE ' - ENDIF -C - IF (IKODE .NE. 4) THEN - IF (ISW(2) .LT. 3) COLHDU(1)=' APPROXIMATE ' - IF (ISW(2) .LT. 1) COLHDU(1)=' CURRENT GUESS' - ENDIF - NCOL = 3 - WRITE (ISYSWR, 910) (COLHDU(KK),KK=1,NCOL) - WRITE (ISYSWR, 911) (COLHDL(KK),KK=1,NCOL) - 910 FORMAT (/' EXT PARAMETER ', 13X ,6A14) - 911 FORMAT ( ' NO. NAME ',' VALUE ',6A14) -C -C . . . loop over parameters . . - DO 200 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 200 - L = NIOFEX(I) - CNAMBF = CBLANK(1:NADD)//CPNAM(I) - IF (L .EQ. 0) GO TO 55 -C variable parameter. - X1 = WERR(L) - CX2 = CGETX - CX3 = CGETX - IF (IKODE .EQ. 1) THEN - IF (NVARL(I) .LE. 1) THEN - WRITE (ISYSWR, 952) I,CNAMBF,U(I),X1 - GO TO 200 - ELSE - X2 = ALIM(I) - X3 = BLIM(I) - ENDIF - ENDIF - IF (IKODE .EQ. 2) THEN - X2 = DIRIN(L) - X3 = X(L) - ENDIF - IF (IKODE .EQ. 3) THEN - X2 = DIRIN(L) - X3 = GRD(L) - IF (NVARL(I).GT.1 .AND. ABS(COS(X(L))) .LT. 0.001) - + CX3 = '** at limit **' - ENDIF - IF (IKODE .EQ. 4) THEN - X2 = ERN(L) - IF (X2.EQ.ZERO) CX2=' ' - IF (X2.EQ.UNDEFI) CX2=' at limit ' - X3 = ERP(L) - IF (X3.EQ.ZERO) CX3=' ' - IF (X3.EQ.UNDEFI) CX3=' at limit ' - ENDIF - IF (CX2.EQ.CGETX) WRITE (CX2,'(G14.5)') X2 - IF (CX3.EQ.CGETX) WRITE (CX3,'(G14.5)') X3 - WRITE (ISYSWR,952) I,CNAMBF,U(I),X1,CX2,CX3 - 952 FORMAT (I4,1X,A11,2G14.5,2A) -C check if parameter is at limit - IF (NVARL(I) .LE. 1 .OR. IKODE .EQ. 3) GO TO 200 - IF (ABS(COS(X(L))) .LT. 0.001) WRITE (ISYSWR,1004) - 1004 FORMAT (1H ,32X,42HWARNING - - ABOVE PARAMETER IS AT LIMIT.) - GO TO 200 -C -C print constant or fixed parameter. - 55 CONTINUE - COLHDU(1) = ' constant ' - IF (NVARL(I).GT.0) COLHDU(1) = ' fixed ' - IF (NVARL(I).EQ.4 .AND. IKODE.EQ.1) THEN - WRITE (ISYSWR,'(I4,1X,A11,G14.5,A,2G14.5)') - + I,CNAMBF,U(I),COLHDU(1),ALIM(I),BLIM(I) - ELSE - WRITE (ISYSWR,'(I4,1X,A11,G14.5,A)') I,CNAMBF,U(I),COLHDU(1) - ENDIF - 200 CONTINUE -C - IF (UP.NE.UPDFLT) WRITE (ISYSWR,'(31X,A,G10.3)') 'ERR DEF=',UP - 700 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpsdf.F b/graphics/Qat/QatDataModeling/src/mnpsdf.F deleted file mode 100644 index 35b0e6b5c02..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnpsdf.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: mnpsdf.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpsdf.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:50 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPSDF -#include "QatDataModeling/d506dp.inc" -CC calculates the eigenvalues of v to see if positive-def. -CC if not, adds constant along diagonal to make positive. -#include "QatDataModeling/d506cm.inc" - CHARACTER CHBUFF*12 - DIMENSION S(MNI) - EPSMIN = 1.0E-6 - EPSPDF = MAX(EPSMIN, EPSMA2) - DGMIN = VHMAT(1) -C Check if negative or zero on diagonal - DO 200 I= 1, NPAR - NDEX = I*(I+1)/2 - IF (VHMAT(NDEX) .LE. ZERO) THEN - WRITE (CHBUFF(1:3),'(I3)') I - CALL MNWARN('W',CFROM, - +'Negative diagonal element'//CHBUFF(1:3)//' in Error Matrix') - ENDIF - IF (VHMAT(NDEX) .LT. DGMIN) DGMIN = VHMAT(NDEX) - 200 CONTINUE - IF (DGMIN .LE. ZERO) THEN - DG = (ONE+EPSPDF) - DGMIN - WRITE (CHBUFF,'(E12.2)') DG - CALL MNWARN('W',CFROM, - + CHBUFF//' added to diagonal of error matrix') - ELSE - DG = ZERO - ENDIF -C Store VHMAT in P, make sure diagonal pos. - DO 213 I= 1, NPAR - NDEX = I*(I-1)/2 - NDEXD = NDEX + I - VHMAT(NDEXD) = VHMAT(NDEXD) + DG - IF (VHMAT(NDEXD) .LE. ZERO) VHMAT(NDEXD) = 1.0 - S(I) = 1.0/SQRT(VHMAT(NDEXD)) - DO 213 J= 1, I - NDEX = NDEX + 1 - 213 P(I,J) = VHMAT(NDEX) * S(I)*S(J) -C call eigen (p,p,maxint,npar,pstar,-npar) - CALL MNEIG(P,MAXINT,NPAR,MAXINT,PSTAR,EPSPDF,IFAULT) - PMIN = PSTAR(1) - PMAX = PSTAR(1) - DO 215 IP= 2, NPAR - IF (PSTAR(IP) .LT. PMIN) PMIN = PSTAR(IP) - IF (PSTAR(IP) .GT. PMAX) PMAX = PSTAR(IP) - 215 CONTINUE - PMAX = MAX(ABS(PMAX), ONE) - IF ((PMIN .LE. ZERO .AND. LWARN) .OR. ISW(5) .GE. 2) THEN - WRITE (ISYSWR,550) - WRITE (ISYSWR,551) (PSTAR(IP),IP=1,NPAR) - ENDIF - IF (PMIN .GT. EPSPDF*PMAX) GO TO 217 - IF (ISW(2) .EQ. 3) ISW(2)=2 - PADD = 1.0E-3*PMAX - PMIN - DO 216 IP= 1, NPAR - NDEX = IP*(IP+1)/2 - 216 VHMAT(NDEX) = VHMAT(NDEX) *(1.0 + PADD) - CSTATU= 'NOT POSDEF' - WRITE (CHBUFF,'(G12.5)') PADD - CALL MNWARN('W',CFROM, - + 'MATRIX FORCED POS-DEF BY ADDING '//CHBUFF//' TO DIAGONAL.') - 217 CONTINUE -C - 550 FORMAT (' EIGENVALUES OF SECOND-DERIVATIVE MATRIX:' ) - 551 FORMAT (7X,6E12.4) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrazz.F b/graphics/Qat/QatDataModeling/src/mnrazz.F deleted file mode 100644 index 59fd6a6095d..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnrazz.F +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: mnrazz.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrazz.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRAZZ(YNEW,PNEW,Y,JH,JL) -#include "QatDataModeling/d506dp.inc" -CC Called only by MNSIMP (and MNIMPR) to add a new point -CC and remove an old one from the current simplex, and get the -CC estimated distance to minimum. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PNEW(*), Y(*) - DO 10 I=1,NPAR - 10 P(I,JH) = PNEW(I) - Y(JH)=YNEW - IF(YNEW .LT. AMIN) THEN - DO 15 I=1,NPAR - 15 X(I) = PNEW(I) - CALL MNINEX(X) - AMIN = YNEW - CSTATU = 'PROGRESS ' - JL=JH - ENDIF - JH = 1 - NPARP1 = NPAR+1 - 20 DO 25 J=2,NPARP1 - IF (Y(J) .GT. Y(JH)) JH = J - 25 CONTINUE - EDM = Y(JH) - Y(JL) - IF (EDM .LE. ZERO) GO TO 45 - DO 35 I= 1, NPAR - PBIG = P(I,1) - PLIT = PBIG - DO 30 J= 2, NPARP1 - IF (P(I,J) .GT. PBIG) PBIG = P(I,J) - IF (P(I,J) .LT. PLIT) PLIT = P(I,J) - 30 CONTINUE - DIRIN(I) = PBIG - PLIT - 35 CONTINUE - 40 RETURN - 45 WRITE (ISYSWR, 1000) NPAR - GO TO 40 - 1000 FORMAT (' FUNCTION VALUE DOES NOT SEEM TO DEPEND ON ANY OF THE', - + I3,' VARIABLE PARAMETERS.' /10X,'VERIFY THAT STEP SIZES ARE', - + ' BIG ENOUGH AND CHECK FCN LOGIC.'/1X,79(1H*)/1X,79(1H*)/) - END diff --git a/graphics/Qat/QatDataModeling/src/mnread.F b/graphics/Qat/QatDataModeling/src/mnread.F deleted file mode 100644 index 1c22c9a8c1f..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnread.F +++ /dev/null @@ -1,201 +0,0 @@ -* -* $Id: mnread.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnread.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNREAD(FCN,IFLGIN,IFLGUT,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MINUIT. Reads all user input to MINUIT. -CC This routine is highly unstructured and defies normal logic. -CC -CC IFLGIN indicates the function originally requested: -CC = 1: read one-line title -CC 2: read parameter definitions -CC 3: read MINUIT commands -CC -CC IFLGUT= 1: reading terminated normally -CC 2: end-of-data on input -CC 3: unrecoverable read error -CC 4: unable to process parameter requests -CC 5: more than 100 incomprehensible commands -CC internally, -CC IFLGDO indicates the subfunction to be performed on the next -CC input record: 1: read a one-line title -CC 2: read a parameter definition -CC 3: read a command -CC 4: read in covariance matrix -CC for example, when IFLGIN=3, but IFLGDO=1, then it should read -CC a title, but this was requested by a command, not by MINUIT. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - CHARACTER CRDBUF*80, CUPBUF*10 - CHARACTER CPROMT(3)*40, CLOWER*26, CUPPER*26 - LOGICAL LEOF - DATA CPROMT/' ENTER MINUIT TITLE, or "SET INPUT n" : ', - + ' ENTER MINUIT PARAMETER DEFINITION: ', - + ' ENTER MINUIT COMMAND: '/ -C - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C - IFLGUT = 1 - IFLGDO = IFLGIN - LEOF = .FALSE. - INCOMP = 0 -C . . . . read next record - 10 CONTINUE - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') CPROMT(IFLGDO) - IF (IFLGDO .EQ. 2) LPHEAD = .FALSE. - ENDIF - CRDBUF = ' ' - READ (ISYSRD,'(A)',ERR=500,END=45) CRDBUF -C -C CUPBUF is the first few characters in upper case - CUPBUF(1:10) = CRDBUF(1:10) - DO 12 I= 1, 10 - IF (CRDBUF(I:I) .EQ. '''') GO TO 13 - DO 11 IC= 1, 26 - IF (CRDBUF(I:I) .EQ. CLOWER(IC:IC)) CUPBUF(I:I)=CUPPER(IC:IC) - 11 CONTINUE - 12 CONTINUE - 13 CONTINUE -C . . preemptive commands - LEOF = .FALSE. - IF (INDEX(CUPBUF,'*EOF') .EQ. 1) THEN - WRITE (ISYSWR,'(A,I3)') ' *EOF ENCOUNTERED ON UNIT NO.',ISYSRD - LPHEAD = .TRUE. - GO TO 50 - ENDIF - IF (INDEX(CUPBUF,'SET INP') .EQ. 1) THEN - ICOMND = ICOMND + 1 - WRITE (ISYSWR, 21) ICOMND,CRDBUF(1:50) - 21 FORMAT (' **********'/' **',I5,' **',A/' **********') - LPHEAD = .TRUE. - GO TO 50 - ENDIF - GO TO 80 -C . . hardware EOF on current ISYSRD - 45 CRDBUF = '*EOF ' - WRITE (ISYSWR,'(A,I3)') ' END OF DATA ON UNIT NO.',ISYSRD -C or SET INPUT command - 50 CONTINUE - CALL MNSTIN(CRDBUF,IERR) - IF (IERR .EQ. 0) GO TO 10 - IF (IERR .EQ. 2) THEN - IF (.NOT. LEOF) THEN - WRITE (ISYSWR,'(A,A/)') ' TWO CONSECUTIVE EOFs ON ', - + 'PRIMARY INPUT FILE WILL TERMINATE EXECUTION.' - LEOF = .TRUE. - GO TO 10 - ENDIF - ENDIF - IFLGUT = IERR - GO TO 900 - 80 IF (IFLGDO .GT. 1) GO TO 100 -C read title . . . . . IFLGDO = 1 -C if title is 'SET TITLE', skip and read again - IF (INDEX(CUPBUF,'SET TIT') .EQ. 1) GO TO 10 - CALL MNSETI(CRDBUF(1:50)) - WRITE (ISYSWR,'(1X,A50)') CTITL - WRITE (ISYSWR,'(1X,78(1H*))') - LPHEAD = .TRUE. - IF (IFLGIN .EQ. IFLGDO) GO TO 900 - IFLGDO = IFLGIN - GO TO 10 -C data record is not a title. - 100 CONTINUE - IF (IFLGDO .GT. 2) GO TO 300 -C expect parameter definitions. IFLGDO = 2 -C if parameter def is 'PARAMETER', skip and read again - IF (INDEX(CUPBUF,'PAR') .EQ. 1) GO TO 10 -C if line starts with SET TITLE, read a title first - IF (INDEX(CUPBUF,'SET TIT') .EQ. 1) THEN - IFLGDO = 1 - GO TO 10 - ENDIF -C we really have parameter definitions now - CALL MNPARS(CRDBUF,ICONDP) - IF (ICONDP .EQ. 0) GO TO 10 -C format error - IF (ICONDP .EQ. 1) THEN - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') ' FORMAT ERROR. IGNORED. ENTER AGAIN.' - GO TO 10 - ELSE - WRITE (ISYSWR,'(A)') ' ERROR IN PARAMETER DEFINITION' - IFLGUT = 4 - GO TO 900 - ENDIF - ENDIF -C ICONDP = 2 . . . end parameter requests - IF (ISW(5).GE.0 .AND. ISW(6).LT.1) WRITE (ISYSWR,'(4X,75(1H*))') - LPHEAD = .TRUE. - IF (IFLGIN .EQ. IFLGDO) GO TO 900 - IFLGDO = IFLGIN - GO TO 10 -C . . . . . IFLGDO = 3 -C read commands - 300 CONTINUE - CALL MNCOMD(FCN,CRDBUF,ICONDN,FUTIL) -CC ICONDN = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 5: command is a request to read PARAMETER definitions -CC 6: 'SET INPUT' command -CC 7: 'SET TITLE' command -CC 8: 'SET COVAR' command -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command - IF (ICONDN .EQ. 2 .OR. ICONDN .EQ. 3) THEN - INCOMP = INCOMP + 1 - IF (INCOMP .GT. 100) THEN - IFLGUT = 5 - GO TO 900 - ENDIF - ENDIF -C parameter - IF (ICONDN .EQ. 5) IFLGDO = 2 -C SET INPUT - IF (ICONDN .EQ. 6) GO TO 50 -C SET TITLE - IF (ICONDN .EQ. 7) IFLGDO = 1 -C . . . . . . . . . . set covar - IF (ICONDN .EQ. 8) THEN - ICOMND = ICOMND + 1 - WRITE (ISYSWR,405) ICOMND,CRDBUF(1:50) - 405 FORMAT (1H ,10(1H*)/' **',I5,' **',A) - WRITE (ISYSWR, '(1H ,10(1H*))' ) - NPAR2 = NPAR*(NPAR+1)/2 - READ (ISYSRD,420,ERR=500,END=45) (VHMAT(I),I=1,NPAR2) - 420 FORMAT (BN,7E11.4,3X) - ISW(2) = 3 - DCOVAR = 0.0 - IF (ISW(5) .GE. 0) CALL MNMATU(1) - IF (ISW(5) .GE. 1) CALL MNPRIN(2,AMIN) - GO TO 10 - ENDIF - IF (ICONDN .LT. 10) GO TO 10 - GO TO 900 -C . . . . error conditions - 500 IFLGUT = 3 - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrn15.F b/graphics/Qat/QatDataModeling/src/mnrn15.F deleted file mode 100644 index 626b16a2c64..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnrn15.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: mnrn15.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrn15.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRN15(VAL,INSEED) -#include "QatDataModeling/d506dp.inc" -C This is a super-portable random number generator. -C It should not overflow on any 32-bit machine. -C The cycle is only ~10**9, so use with care! -C Note especially that VAL must not be undefined on input. -C Set Default Starting Seed - PARAMETER (THREE=3.0) - DATA ISEED/12345/ - IF (VAL .EQ. THREE) GO TO 100 -C - INSEED = ISEED - K = ISEED/53668 - ISEED = 40014*(ISEED-K*53668) - K*12211 - IF (ISEED .LT. 0) ISEED = ISEED + 2147483563 - VAL = REAL(ISEED) * 4.656613E-10 - RETURN -C "entry" to set seed, flag is VAL=3. - 100 ISEED = INSEED - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrset.F b/graphics/Qat/QatDataModeling/src/mnrset.F deleted file mode 100644 index 70ed5d0e131..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnrset.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: mnrset.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrset.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRSET(IOPT) -#include "QatDataModeling/d506dp.inc" -CC Called from MNCLER and whenever problem changes, for example -CC after SET LIMITS, SET PARAM, CALL FCN 6 -CC If IOPT=1, -CC Resets function value and errors to UNDEFINED -CC If IOPT=0, sets only MINOS errors to undefined -#include "QatDataModeling/d506cm.inc" - CSTATU = 'RESET ' - IF (IOPT .GE. 1) THEN - AMIN = UNDEFI - FVAL3 = 2.0*ABS(AMIN) + 1. - EDM = BIGEDM - ISW(4) = 0 - ISW(2) = 0 - DCOVAR = 1. - ISW(1) = 0 - ENDIF - LNOLIM = .TRUE. - DO 10 I= 1, NPAR - IEXT = NEXOFI(I) - IF (NVARL(IEXT) .GE. 4) LNOLIM=.FALSE. - ERP(I) = ZERO - ERN(I) = ZERO - GLOBCC(I) = ZERO - 10 CONTINUE - IF (ISW(2) .GE. 1) THEN - ISW(2) = 1 - DCOVAR = MAX(DCOVAR,HALF) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnsave.F b/graphics/Qat/QatDataModeling/src/mnsave.F deleted file mode 100644 index 6af6b7c31e2..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnsave.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: mnsave.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnsave.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSAVE -#include "QatDataModeling/d506dp.inc" -CC Writes current parameter values and step sizes onto file ISYSSA -CC in format which can be reread by Minuit for restarting. -CC The covariance matrix is also output if it exists. -CC -#include "QatDataModeling/d506cm.inc" - LOGICAL LOPEN,LNAME - CHARACTER CGNAME*64, CFNAME*64, CANSWR*1 -C - INQUIRE(UNIT=ISYSSA,OPENED=LOPEN,NAMED=LNAME,NAME=CGNAME) - IF (LOPEN) THEN - IF (.NOT.LNAME) CGNAME='UNNAMED FILE' - WRITE (ISYSWR,32) ISYSSA,CGNAME - 32 FORMAT (' CURRENT VALUES WILL BE SAVED ON UNIT',I3,': ',A/) - ELSE -C new file, open it - WRITE (ISYSWR,35) ISYSSA - 35 FORMAT (' UNIT',I3,' IS NOT OPENED.') - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') ' PLEASE GIVE FILE NAME:' - READ (ISYSRD,'(A)') CFNAME - OPEN (UNIT=ISYSSA,FILE=CFNAME,STATUS='NEW',ERR=600) - CGNAME = CFNAME - ELSE - GO TO 650 - ENDIF - ENDIF -C file is now correctly opened - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,37) ISYSSA - 37 FORMAT (' SHOULD UNIT',I3,' BE REWOUND BEFORE WRITING TO IT?' ) - READ (ISYSRD,'(A)') CANSWR - IF (CANSWR.EQ.'Y' .OR. CANSWR.EQ.'y') REWIND ISYSSA - ENDIF -C and rewound if requested - WRITE (ISYSSA,'(10HSET TITLE )',ERR=700) - WRITE (ISYSSA,'(A)') CTITL - WRITE (ISYSSA,'(10HPARAMETERS)') - NLINES = 3 -C write out parameter values - DO 200 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 200 - NLINES = NLINES + 1 - IINT = NIOFEX(I) - IF (NVARL(I) .GT. 1) GO TO 100 -C parameter without limits - WRITE (ISYSSA,1001) I,CPNAM(I),U(I),WERR(IINT) - GO TO 200 -C parameter with limits - 100 CONTINUE - WRITE (ISYSSA,1001) I,CPNAM(I),U(I),WERR(IINT),ALIM(I),BLIM(I) - 1001 FORMAT (1X,I5,1H',A10,1H',4E13.5) - 200 CONTINUE - WRITE (ISYSSA,'(A)') ' ' - NLINES = NLINES + 1 -C write out covariance matrix, if any - IF (ISW(2) .LT. 1) GO TO 750 - WRITE (ISYSSA,1003,ERR=700) NPAR - 1003 FORMAT ('SET COVARIANCE',I6) - NPAR2 = NPAR*(NPAR+1)/2 - WRITE (ISYSSA,1004) (VHMAT(I),I=1,NPAR2) - 1004 FORMAT (BN,7E11.4,3X) - NCOVAR = NPAR2/7 + 1 - IF (MOD(NPAR2,7) .GT. 0) NCOVAR = NCOVAR + 1 - NLINES = NLINES + NCOVAR - WRITE (ISYSWR, 501) NLINES,ISYSSA,CGNAME(1:45) - 501 FORMAT (1X,I5,' RECORDS WRITTEN TO UNIT',I4,':',A) - IF (NCOVAR .GT. 0) WRITE (ISYSWR, 502) NCOVAR - 502 FORMAT (' INCLUDING',I5,' RECORDS FOR THE COVARIANCE MATRIX.'/) - GO TO 900 -C some error conditions - 600 WRITE (ISYSWR,'(A,I4)') ' I/O ERROR: UNABLE TO OPEN UNIT',ISYSSA - GO TO 900 - 650 WRITE (ISYSWR,'(A,I4,A)') ' UNIT',ISYSSA,' IS NOT OPENED.' - GO TO 900 - 700 WRITE (ISYSWR,'(A,I4)') ' ERROR: UNABLE TO WRITE TO UNIT',ISYSSA - GO TO 900 - 750 WRITE (ISYSWR,'(A)') ' THERE IS NO COVARIANCE MATRIX TO SAVE.' -C - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnscan.F b/graphics/Qat/QatDataModeling/src/mnscan.F deleted file mode 100644 index 57d7625266f..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnscan.F +++ /dev/null @@ -1,132 +0,0 @@ -* -* $Id: mnscan.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnscan.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:51 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSCAN(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Scans the values of FCN as a function of one parameter -CC and plots the resulting values as a curve using MNPLOT. -CC It may be called to scan one parameter or all parameters. -CC retains the best function and parameter values found. -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - XLREQ = MIN(WORD7(3),WORD7(4)) - XHREQ = MAX(WORD7(3),WORD7(4)) - NCALL = WORD7(2) + 0.01 - IF (NCALL .LE. 1) NCALL = 41 - IF (NCALL .GT. MAXCPT) NCALL = MAXCPT - NCCALL = NCALL - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IPARWD = WORD7(1) + 0.1 - IPAR = MAX(IPARWD, 0) - IINT = NIOFEX(IPAR) - CSTATU = 'NO CHANGE' - IF (IPARWD .GT. 0) GO TO 200 -C -C equivalent to a loop over parameters requested - 100 IPAR = IPAR + 1 - IF (IPAR .GT. NU) GO TO 900 - IINT = NIOFEX(IPAR) - IF (IINT .LE. 0) GO TO 100 -C set up range for parameter IPAR - 200 CONTINUE - UBEST = U(IPAR) - XPT(1) = UBEST - YPT(1) = AMIN - CHPT(1)= ' ' - XPT(2) = UBEST - YPT(2) = AMIN - CHPT(2)= 'X' - NXYPT = 2 - IF (NVARL(IPAR) .GT. 1) GO TO 300 -C no limits on parameter - IF (XLREQ .EQ. XHREQ) GO TO 250 - UNEXT = XLREQ - STEP = (XHREQ-XLREQ)/FLOAT(NCALL-1) - GO TO 500 - 250 CONTINUE - XL = UBEST - WERR(IINT) - XH = UBEST+ WERR(IINT) - CALL MNBINS(XL,XH,NCALL, UNEXT,UHIGH,NBINS,STEP) - NCCALL = NBINS + 1 - GO TO 500 -C limits on parameter - 300 CONTINUE - IF (XLREQ .EQ. XHREQ) GO TO 350 - XL = MAX(XLREQ,ALIM(IPAR)) - XH = MIN(XHREQ,BLIM(IPAR)) - IF (XL .GE. XH) GO TO 700 - UNEXT = XL - STEP = (XH-XL)/FLOAT(NCALL-1) - GO TO 500 - 350 CONTINUE - UNEXT = ALIM(IPAR) - STEP = (BLIM(IPAR)-ALIM(IPAR))/FLOAT(NCALL-1) -C main scanning loop over parameter IPAR - 500 CONTINUE - DO 600 ICALL = 1, NCCALL - U(IPAR) = UNEXT - NPARX = NPAR - CALL FCN(NPARX,GIN,FNEXT,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - XPT(NXYPT) = UNEXT - YPT(NXYPT) = FNEXT - CHPT(NXYPT) = '*' - IF (FNEXT .LT. AMIN) THEN - AMIN = FNEXT - UBEST = UNEXT - CSTATU= 'IMPROVED ' - ENDIF - 530 CONTINUE - UNEXT = UNEXT + STEP - 600 CONTINUE -C finished with scan of parameter IPAR - U(IPAR) = UBEST - CALL MNEXIN(X) - IF (ISW(5) .GE. 1) THEN - WRITE (ISYSWR,1001) NEWPAG,IPAR,CPNAM(IPAR) - NUNIT = ISYSWR - CALL MNPLOT(XPT,YPT,CHPT,NXYPT,NUNIT,NPAGWD,NPAGLN) - ENDIF - GO TO 800 - 700 CONTINUE - WRITE (ISYSWR,1000) IPAR - 800 CONTINUE - IF (IPARWD .LE. 0) GO TO 100 -C finished with all parameters - 900 CONTINUE - IF (ISW(5) .GE. 0) CALL MNPRIN(5,AMIN) - RETURN - 1000 FORMAT (46H REQUESTED RANGE OUTSIDE LIMITS FOR PARAMETER ,I3/) - 1001 FORMAT (I1,'SCAN OF PARAMETER NO.',I3,3H, ,A10) - END diff --git a/graphics/Qat/QatDataModeling/src/mnseek.F b/graphics/Qat/QatDataModeling/src/mnseek.F deleted file mode 100644 index fbb1932dfeb..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnseek.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: mnseek.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnseek.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSEEK(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a rough (but global) minimization by monte carlo search. -CC Each time a new minimum is found, the search area is shifted -CC to be centered at the best value. Random points are chosen -CC uniformly over a hypercube determined by current step sizes. -CC The Metropolis algorithm accepts a worse point with probability -CC exp(-d/UP), where d is the degradation. Improved points -CC are of course always accepted. Actual steps are random -CC multiples of the nominal steps (DIRIN). -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - PARAMETER (TWOPI=2.0*3.141593) - DIMENSION XBEST(MNI), XMID(MNI) - MXFAIL = WORD7(1) - IF (MXFAIL .LE. 0) MXFAIL=100+20*NPAR - MXSTEP = 10*MXFAIL - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - ALPHA = WORD7(2) - IF (ALPHA .LE. ZERO) ALPHA=3. - IF (ISW(5) .GE. 1) WRITE (ISYSWR, 3) MXFAIL,MXSTEP,ALPHA - 3 FORMAT (' MNSEEK: MONTE CARLO MINIMIZATION USING METROPOLIS', - + ' ALGORITHM'/' TO STOP AFTER',I6,' SUCCESSIVE FAILURES, OR', - + I7,' STEPS'/' MAXIMUM STEP SIZE IS',F9.3,' ERROR BARS.') - CSTATU= 'INITIAL ' - IF (ISW(5) .GE. 2) CALL MNPRIN(2,AMIN) - CSTATU = 'UNCHANGED ' - IFAIL = 0 - RNUM = ZERO - RNUM1 = ZERO - RNUM2 = ZERO - NPARX = NPAR - FLAST = AMIN -C set up step sizes, starting values - DO 10 IPAR = 1, NPAR - IEXT = NEXOFI(IPAR) - DIRIN(IPAR) = 2.0*ALPHA*WERR(IPAR) - IF (NVARL(IEXT) .GT. 1) THEN -C parameter with limits - CALL MNDXDI(X(IPAR),IPAR,DXDI) - IF (DXDI .EQ. ZERO) DXDI=1. - DIRIN(IPAR) = 2.0*ALPHA*WERR(IPAR)/DXDI - IF (ABS(DIRIN(IPAR)).GT.TWOPI) DIRIN(IPAR)=TWOPI - ENDIF - XMID(IPAR) = X(IPAR) - 10 XBEST(IPAR) = X(IPAR) -C search loop - DO 500 ISTEP= 1, MXSTEP - IF (IFAIL .GE. MXFAIL) GO TO 600 - DO 100 IPAR= 1, NPAR - CALL MNRN15(RNUM1,ISEED) - CALL MNRN15(RNUM2,ISEED) - 100 X(IPAR) = XMID(IPAR) + 0.5*(RNUM1+RNUM2-1.)*DIRIN(IPAR) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FTRY,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FTRY .LT. FLAST) THEN - IF (FTRY .LT. AMIN) THEN - CSTATU = 'IMPROVEMNT' - AMIN = FTRY - DO 200 IB= 1, NPAR - 200 XBEST(IB) = X(IB) - IFAIL = 0 - IF (ISW(5) .GE. 2) CALL MNPRIN(2,AMIN) - ENDIF - GO TO 300 - ELSE - IFAIL = IFAIL + 1 -C Metropolis algorithm - BAR = (AMIN-FTRY)/UP - CALL MNRN15(RNUM,ISEED) - IF (BAR .LT. LOG(RNUM)) GO TO 500 - ENDIF -C Accept new point, move there - 300 CONTINUE - DO 350 J= 1, NPAR - XMID(J) = X(J) - 350 CONTINUE - FLAST = FTRY - 500 CONTINUE -C end search loop - 600 CONTINUE - IF (ISW(5) .GT. 1) WRITE (ISYSWR,601) IFAIL - 601 FORMAT(' MNSEEK:',I5,' SUCCESSIVE UNSUCCESSFUL TRIALS.') - DO 700 IB= 1, NPAR - 700 X(IB) = XBEST(IB) - CALL MNINEX(X) - IF (ISW(5) .GE. 1) CALL MNPRIN(2,AMIN) - IF (ISW(5) .EQ. 0) CALL MNPRIN(0,AMIN) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnset.F b/graphics/Qat/QatDataModeling/src/mnset.F deleted file mode 100644 index d341d658e9e..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnset.F +++ /dev/null @@ -1,431 +0,0 @@ -* -* $Id: mnset.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnset.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:52 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSET(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNEXCM -CC Interprets the commands that start with SET and SHOW -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL FCN,FUTIL -C file characteristics for SET INPUT - LOGICAL LNAME - CHARACTER CFNAME*64, CMODE*16 -C 'SET ' or 'SHOW', 'ON ' or 'OFF', 'SUPPRESSED' or 'REPORTED ' - CHARACTER CKIND*4, COPT*3, CWARN*10 -C explanation of print level numbers -1:3 and strategies 0:2 - CHARACTER CPRLEV(-1:3)*34 ,CSTRAT(0:2)*44 -C identification of debug options - PARAMETER (NUMDBG = 6) - CHARACTER*40 CDBOPT(0:NUMDBG) -C things that can be set or shown - CHARACTER*10 CNAME(30) - DATA CNAME( 1)/'FCN value '/ - DATA CNAME( 2)/'PARameters'/ - DATA CNAME( 3)/'LIMits '/ - DATA CNAME( 4)/'COVariance'/ - DATA CNAME( 5)/'CORrelatio'/ - DATA CNAME( 6)/'PRInt levl'/ - DATA CNAME( 7)/'NOGradient'/ - DATA CNAME( 8)/'GRAdient '/ - DATA CNAME( 9)/'ERRor def '/ - DATA CNAME(10)/'INPut file'/ - DATA CNAME(11)/'WIDth page'/ - DATA CNAME(12)/'LINes page'/ - DATA CNAME(13)/'NOWarnings'/ - DATA CNAME(14)/'WARnings '/ - DATA CNAME(15)/'RANdom gen'/ - DATA CNAME(16)/'TITle '/ - DATA CNAME(17)/'STRategy '/ - DATA CNAME(18)/'EIGenvalue'/ - DATA CNAME(19)/'PAGe throw'/ - DATA CNAME(20)/'MINos errs'/ - DATA CNAME(21)/'EPSmachine'/ - DATA CNAME(22)/'OUTputfile'/ - DATA CNAME(23)/'BATch '/ - DATA CNAME(24)/'INTeractiv'/ - DATA CNAME(25)/'VERsion '/ - DATA NNAME/25/ -C options not intended for normal users - DATA CNAME(26)/'reserve '/ - DATA CNAME(27)/'NODebug '/ - DATA CNAME(28)/'DEBug '/ - DATA CNAME(29)/'SHOw '/ - DATA CNAME(30)/'SET '/ - DATA NNTOT/30/ -C - DATA CPRLEV(-1)/'-1: NO OUTPUT EXCEPT FROM "SHOW" '/ - DATA CPRLEV( 0)/' 0: REDUCED OUTPUT '/ - DATA CPRLEV( 1)/' 1: NORMAL OUTPUT '/ - DATA CPRLEV( 2)/' 2: EXTRA OUTPUT FOR PROBLEM CASES'/ - DATA CPRLEV( 3)/' 3: MAXIMUM OUTPUT '/ -C - DATA CSTRAT( 0)/' 0: MINIMIZE THE NUMBER OF CALLS TO FUNCTION'/ - DATA CSTRAT( 1)/' 1: TRY TO BALANCE SPEED AGAINST RELIABILITY'/ - DATA CSTRAT( 2)/' 2: MAKE SURE MINIMUM TRUE, ERRORS CORRECT '/ -C - DATA CDBOPT(0)/'REPORT ALL EXCEPTIONAL CONDITIONS '/ - DATA CDBOPT(1)/'MNLINE: LINE SEARCH MINIMIZATION '/ - DATA CDBOPT(2)/'MNDERI: FIRST DERIVATIVE CALCULATIONS '/ - DATA CDBOPT(3)/'MNHESS: SECOND DERIVATIVE CALCULATIONS '/ - DATA CDBOPT(4)/'MNMIGR: COVARIANCE MATRIX UPDATES '/ - DATA CDBOPT(5)/'MNHES1: FIRST DERIVATIVE UNCERTAINTIES '/ - DATA CDBOPT(6)/'MNCONT: MNCONTOUR PLOT (MNCROS SEARCH) '/ -C -C - DO 2 I= 1, NNTOT - IF (INDEX(CWORD(4:10),CNAME(I)(1:3)) .GT. 0) GO TO 5 - 2 CONTINUE - I = 0 - 5 KNAME = I -C -C Command could be SET xxx, SHOW xxx, HELP SET or HELP SHOW - IF (INDEX(CWORD(1:4),'HEL') .GT. 0) GO TO 2000 - IF (INDEX(CWORD(1:4),'SHO') .GT. 0) GO TO 1000 - IF (INDEX(CWORD(1:4),'SET') .EQ. 0) GO TO 1900 -C --- - CKIND = 'SET ' -C . . . . . . . . . . set unknown - IF (KNAME .LE. 0) GO TO 1900 -C . . . . . . . . . . set known - GO TO(3000, 20, 30, 40,3000, 60, 70, 80, 90, 100, - + 110, 120, 130, 140, 150, 160, 170,3000, 190,3000, - + 210, 220, 230, 240,3000,1900, 270, 280, 290, 300) , KNAME -C -C . . . . . . . . . . set param - 20 CONTINUE - IPRM = WORD7(1) - IF (IPRM .GT. NU) GO TO 25 - IF (IPRM .LE. 0) GO TO 25 - IF (NVARL(IPRM) .LT. 0) GO TO 25 - U(IPRM) = WORD7(2) - CALL MNEXIN(X) - ISW2 = ISW(2) - CALL MNRSET(1) -C Keep approximate covariance matrix, even if new param value - ISW(2) = MIN(ISW2,1) - CFROM = 'SET PARM' - NFCNFR = NFCN - CSTATU = 'NEW VALUES' - GO TO 4000 - 25 WRITE (ISYSWR,'(A/)') ' UNDEFINED PARAMETER NUMBER. IGNORED.' - GO TO 4000 -C . . . . . . . . . . set limits - 30 CALL MNLIMS - GO TO 4000 -C . . . . . . . . . . set covar - 40 CONTINUE -C this command must be handled by MNREAD, and is not Fortran-callable - GO TO 3000 -C . . . . . . . . . . set print - 60 ISW(5) = WORD7(1) - GO TO 4000 -C . . . . . . . . . . set nograd - 70 ISW(3) = 0 - GO TO 4000 -C . . . . . . . . . . set grad - 80 CALL MNGRAD(FCN,FUTIL) - GO TO 4000 -C . . . . . . . . . . set errdef - 90 IF (WORD7(1) .EQ. UP) GO TO 4000 - IF (WORD7(1) .LE. ZERO) THEN - IF (UP .EQ. UPDFLT) GO TO 4000 - UP = UPDFLT - ELSE - UP = WORD7(1) - ENDIF - DO 95 I= 1, NPAR - ERN(I) = 0. - 95 ERP(I) = 0. - CALL MNWERR - GO TO 4000 -C . . . . . . . . . . set input -C This command must be handled by MNREAD. If it gets this far, -C it is illegal. - 100 CONTINUE - GO TO 3000 -C . . . . . . . . . . set width - 110 NPAGWD = WORD7(1) - NPAGWD = MAX(NPAGWD,50) - GO TO 4000 -C . . . . . . . . . . set lines - 120 NPAGLN = WORD7(1) - GO TO 4000 -C . . . . . . . . . . set nowarn - 130 LWARN = .FALSE. - GO TO 4000 -C . . . . . . . . . . set warn - 140 LWARN = .TRUE. - CALL MNWARN('W','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . set random - 150 JSEED = INT(WORD7(1)) - VAL = 3. - CALL MNRN15(VAL, JSEED) - IF (ISW(5) .GT. 0) WRITE (ISYSWR, 151) JSEED - 151 FORMAT (' MINUIT RANDOM NUMBER SEED SET TO ',I10) - GO TO 4000 -C . . . . . . . . . . set title - 160 CONTINUE -C this command must be handled by MNREAD, and is not Fortran-callable - GO TO 3000 -C . . . . . . . . . set strategy - 170 ISTRAT = WORD7(1) - ISTRAT = MAX(ISTRAT,0) - ISTRAT = MIN(ISTRAT,2) - IF (ISW(5) .GT. 0) GO TO 1172 - GO TO 4000 -C . . . . . . . . . set page throw - 190 NEWPAG = WORD7(1) - GO TO 1190 -C . . . . . . . . . . set epsmac - 210 IF (WORD7(1).GT.ZERO .AND. WORD7(1).LT.0.1) EPSMAC = WORD7(1) - EPSMA2 = SQRT(EPSMAC) - GO TO 1210 -C . . . . . . . . . . set outputfile - 220 CONTINUE - IUNIT = WORD7(1) - ISYSWR = IUNIT - ISTKWR(1) = IUNIT - IF (ISW(5) .GE. 0) GO TO 1220 - GO TO 4000 -C . . . . . . . . . . set batch - 230 ISW(6) = 0 - IF (ISW(5) .GE. 0) GO TO 1100 - GO TO 4000 -C . . . . . . . . . . set interactive - 240 ISW(6) = 1 - IF (ISW(5) .GE. 0) GO TO 1100 - GO TO 4000 -C . . . . . . . . . . set nodebug - 270 ISET = 0 - GO TO 281 -C . . . . . . . . . . set debug - 280 ISET = 1 - 281 CONTINUE - IDBOPT = WORD7(1) - IF (IDBOPT .GT. NUMDBG) GO TO 288 - IF (IDBOPT .GE. 0) THEN - IDBG(IDBOPT) = ISET - IF (ISET .EQ. 1) IDBG(0) = 1 - ELSE -C SET DEBUG -1 sets all debug options - DO 285 ID= 0, NUMDBG - 285 IDBG(ID) = ISET - ENDIF - LREPOR = (IDBG(0) .GE. 1) - CALL MNWARN('D','SHO','SHO') - GO TO 4000 - 288 WRITE (ISYSWR,289) IDBOPT - 289 FORMAT (' UNKNOWN DEBUG OPTION',I6,' REQUESTED. IGNORED') - GO TO 4000 -C . . . . . . . . . . set show - 290 CONTINUE -C . . . . . . . . . . set set - 300 CONTINUE - GO TO 3000 -C ----------------------------------------------------- - 1000 CONTINUE -C at this point, CWORD must be 'SHOW' - CKIND = 'SHOW' - IF (KNAME .LE. 0) GO TO 1900 - GO TO (1010,1020,1030,1040,1050,1060,1070,1070,1090,1100, - + 1110,1120,1130,1130,1150,1160,1170,1180,1190,1200, - + 1210,1220,1100,1100,1250,1900,1270,1270,1290,1300),KNAME -C -C . . . . . . . . . . show fcn - 1010 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (0,AMIN) - GO TO 4000 -C . . . . . . . . . . show param - 1020 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (5,AMIN) - GO TO 4000 -C . . . . . . . . . . show limits - 1030 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (1,AMIN) - GO TO 4000 -C . . . . . . . . . . show covar - 1040 CALL MNMATU(1) - GO TO 4000 -C . . . . . . . . . . show corre - 1050 CALL MNMATU(0) - GO TO 4000 -C . . . . . . . . . . show print - 1060 CONTINUE - IF (ISW(5) .LT.-1) ISW(5) = -1 - IF (ISW(5) .GT. 3) ISW(5) = 3 - WRITE (ISYSWR,'(A)') ' ALLOWED PRINT LEVELS ARE:' - WRITE (ISYSWR,'(27X,A)') CPRLEV - WRITE (ISYSWR,1061) CPRLEV(ISW(5)) - 1061 FORMAT (/' CURRENT PRINTOUT LEVEL IS ',A) - GO TO 4000 -C . . . . . . . show nograd, grad - 1070 CONTINUE - IF (ISW(3) .LE. 0) THEN - WRITE (ISYSWR, 1081) - 1081 FORMAT(' NOGRAD IS SET. DERIVATIVES NOT COMPUTED IN FCN.') - ELSE - WRITE (ISYSWR, 1082) - 1082 FORMAT(' GRAD IS SET. USER COMPUTES DERIVATIVES IN FCN.') - ENDIF - GO TO 4000 -C . . . . . . . . . . show errdef - 1090 WRITE (ISYSWR, 1091) UP - 1091 FORMAT (' ERRORS CORRESPOND TO FUNCTION CHANGE OF',G13.5) - GO TO 4000 -C . . . . . . . . . . show input, -C batch, or interactive - 1100 CONTINUE - INQUIRE(UNIT=ISYSRD,NAMED=LNAME,NAME=CFNAME) - CMODE = 'BATCH MODE ' - IF (ISW(6) .EQ. 1) CMODE = 'INTERACTIVE MODE' - IF (.NOT. LNAME) CFNAME='unknown' - WRITE (ISYSWR,1002) CMODE,ISYSRD,CFNAME - 1002 FORMAT (' INPUT NOW BEING READ IN ',A,' FROM UNIT NO.',I3/ - + ' FILENAME: ',A) - GO TO 4000 -C . . . . . . . . . . show width - 1110 WRITE (ISYSWR,1111) NPAGWD - 1111 FORMAT (10X,'PAGE WIDTH IS SET TO',I4,' COLUMNS') - GO TO 4000 -C . . . . . . . . . . show lines - 1120 WRITE (ISYSWR,1121) NPAGLN - 1121 FORMAT (10X,'PAGE LENGTH IS SET TO',I4,' LINES') - GO TO 4000 -C . . . . . . .show nowarn, warn - 1130 CONTINUE - CWARN = 'SUPPRESSED' - IF (LWARN) CWARN = 'REPORTED ' - WRITE (ISYSWR,1141) CWARN - 1141 FORMAT (' MINUIT WARNING MESSAGES ARE ',A) - IF (.NOT. LWARN) CALL MNWARN('W','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . show random - 1150 VAL = 0. - CALL MNRN15(VAL,IGRAIN) - IKSEED = IGRAIN - WRITE (ISYSWR, 1151) IKSEED - 1151 FORMAT (' MINUIT RNDM SEED IS CURRENTLY=',I10/) - VAL = 3.0 - ISEED = IKSEED - CALL MNRN15(VAL,ISEED) - GO TO 4000 -C . . . . . . . . . show title - 1160 WRITE (ISYSWR,'(A,A)') ' TITLE OF CURRENT TASK IS:',CTITL - GO TO 4000 -C . . . . . . . show strategy - 1170 WRITE (ISYSWR, '(A)') ' ALLOWED STRATEGIES ARE:' - WRITE (ISYSWR, '(20X,A)') CSTRAT - 1172 WRITE (ISYSWR, 1175) CSTRAT(ISTRAT) - 1175 FORMAT (/' NOW USING STRATEGY ',A/) - GO TO 4000 -C . . . . . show eigenvalues - 1180 CONTINUE - ISWSAV = ISW(5) - ISW(5) = 3 - IF (ISW(2) .LT. 1) THEN - WRITE (ISYSWR,'(1X,A)') COVMES(0) - ELSE - CALL MNPSDF - ENDIF - ISW(5) = ISWSAV - GO TO 4000 -C . . . . . show page throw - 1190 WRITE (ISYSWR,'(A,I3)') ' PAGE THROW CARRIAGE CONTROL =',NEWPAG - IF (NEWPAG .EQ. 0) - + WRITE (ISYSWR,'(A)') ' NO PAGE THROWS IN MINUIT OUTPUT' - GO TO 4000 -C . . . . . . show minos errors - 1200 CONTINUE - DO 1202 II= 1, NPAR - IF (ERP(II).GT.ZERO .OR. ERN(II).LT.ZERO) GO TO 1204 - 1202 CONTINUE - WRITE (ISYSWR,'(A)') - + ' THERE ARE NO MINOS ERRORS CURRENTLY VALID.' - GO TO 4000 - 1204 CONTINUE - CALL MNPRIN(4,AMIN) - GO TO 4000 -C . . . . . . . . . show epsmac - 1210 WRITE (ISYSWR,'(A,E12.3)') - + ' FLOATING-POINT NUMBERS ASSUMED ACCURATE TO',EPSMAC - GO TO 4000 -C . . . . . . show outputfiles - 1220 CONTINUE - WRITE (ISYSWR,'(A,I4)') ' MINUIT PRIMARY OUTPUT TO UNIT',ISYSWR - GO TO 4000 -C . . . . . . show version - 1250 CONTINUE - WRITE (ISYSWR,'(A,A)') ' THIS IS MINUIT VERSION:',CVRSN - GO TO 4000 -C . . . . . . show nodebug, debug - 1270 CONTINUE - DO 1285 ID= 0, NUMDBG - COPT = 'OFF' - IF (IDBG(ID) .GE. 1) COPT = 'ON ' - 1285 WRITE (ISYSWR,1286) ID, COPT, CDBOPT(ID) - 1286 FORMAT (10X,'DEBUG OPTION',I3,' IS ',A3,' :',A) - IF (.NOT. LREPOR) CALL MNWARN('D','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . show show - 1290 CKIND = 'SHOW' - GO TO 2100 -C . . . . . . . . . . show set - 1300 CKIND = 'SET ' - GO TO 2100 - -C ----------------------------------------------------- -C UNKNOWN COMMAND - 1900 WRITE (ISYSWR, 1901) CWORD - 1901 FORMAT (' THE COMMAND:',A10,' IS UNKNOWN.'/) - GO TO 2100 -C ----------------------------------------------------- -C HELP SHOW, HELP SET, SHOW SET, or SHOW SHOW - 2000 CKIND = 'SET ' - IF (INDEX(CWORD(4:10),'SHO') .GT. 0) CKIND = 'SHOW' - 2100 WRITE (ISYSWR, 2101) CKIND,CKIND, (CNAME(KK),KK=1,NNAME) - 2101 FORMAT (' THE FORMAT OF THE ',A4,' COMMAND IS:'// - + 1X,A4,' xxx [numerical arguments if any]'// - + ' WHERE xxx MAY BE ONE OF THE FOLLOWING:'/ - + (7X,6A12)) - GO TO 4000 -C ----------------------------------------------------- -C ILLEGAL COMMAND - 3000 WRITE (ISYSWR,'('' ABOVE COMMAND IS ILLEGAL. IGNORED'')') - 4000 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnseti.F b/graphics/Qat/QatDataModeling/src/mnseti.F deleted file mode 100644 index 2ed1c602d86..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnseti.F +++ /dev/null @@ -1,27 +0,0 @@ -* -* $Id: mnseti.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnseti.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSETI(TIT) -#include "QatDataModeling/d506dp.inc" -CC Called by user to set or change title of current task. -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) TIT - CTITL = TIT - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnsimp.F b/graphics/Qat/QatDataModeling/src/mnsimp.F deleted file mode 100644 index cdc4c3f5317..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnsimp.F +++ /dev/null @@ -1,212 +0,0 @@ -* -* $Id: mnsimp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnsimp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:54 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSIMP(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a minimization using the simplex method of Nelder -CC and Mead (ref. -- Comp. J. 7,308 (1965)). -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION Y(MNI+1) - DATA ALPHA,BETA,GAMMA,RHOMIN,RHOMAX / 1.0, 0.5, 2.0, 4.0, 8.0/ - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CFROM = 'SIMPLEX ' - NFCNFR = NFCN - CSTATU= 'UNCHANGED ' - NPFN=NFCN - NPARP1=NPAR+1 - NPARX = NPAR - RHO1 = 1.0 + ALPHA - RHO2 = RHO1 + ALPHA*GAMMA - WG = 1.0/FLOAT(NPAR) - IF (ISW(5) .GE. 0) WRITE(ISYSWR,100) EPSI - 100 FORMAT(' START SIMPLEX MINIMIZATION. CONVERGENCE WHEN EDM .LT.' - +,E10.2 ) - DO 2 I= 1, NPAR - DIRIN(I) = WERR(I) - CALL MNDXDI(X(I),I,DXDI) - IF (DXDI .NE. ZERO) DIRIN(I)=WERR(I)/DXDI - DMIN = EPSMA2*ABS(X(I)) - IF (DIRIN(I) .LT. DMIN) DIRIN(I)=DMIN - 2 CONTINUE -C** choose the initial simplex using single-parameter searches - 1 CONTINUE - YNPP1 = AMIN - JL = NPARP1 - Y(NPARP1) = AMIN - ABSMIN = AMIN - DO 10 I= 1, NPAR - AMING = AMIN - PBAR(I) = X(I) - BESTX = X(I) - KG = 0 - NS = 0 - NF = 0 - 4 X(I) = BESTX + DIRIN(I) - CALL MNINEX(X) - CALL FCN(NPARX,GIN, F, U, 4, FUTIL) - NFCN = NFCN + 1 - IF (F .LT. AMING) GO TO 6 -C failure - IF (KG .EQ. 1) GO TO 8 - KG = -1 - NF = NF + 1 - DIRIN(I) = DIRIN(I) * (-0.4) - IF (NF .LT. 3) GO TO 4 -C stop after three failures - BESTX = X(I) - DIRIN(I) = DIRIN(I) * 3.0 - AMING = F - GO TO 8 -C -C success - 6 BESTX = X(I) - DIRIN(I) = DIRIN(I) * 3.0 - AMING = F - CSTATU= 'PROGRESS ' - KG = 1 - NS = NS + 1 - IF (NS .LT. 6) GO TO 4 -C -C 3 failures or 6 successes or -C local minimum found in ith direction - 8 Y(I) = AMING - IF (AMING .LT. ABSMIN) JL = I - IF (AMING .LT. ABSMIN) ABSMIN = AMING - X(I) = BESTX - DO 9 K= 1, NPAR - 9 P(K,I) = X(K) - 10 CONTINUE - JH = NPARP1 - AMIN=Y(JL) - CALL MNRAZZ(YNPP1,PBAR,Y,JH,JL) - DO 20 I= 1, NPAR - 20 X(I) = P(I,JL) - CALL MNINEX(X) - IF (ISW(5) .GE. 1) CALL MNPRIN(5,AMIN) - EDM = BIGEDM - SIG2 = EDM - NCYCL=0 -C . . . . . start main loop - 50 CONTINUE - IF (SIG2 .LT. EPSI .AND. EDM.LT.EPSI) GO TO 76 - SIG2 = EDM - IF ((NFCN-NPFN) .GT. NFCNMX) GO TO 78 -C calculate new point * by reflection - DO 60 I= 1, NPAR - PB = 0. - DO 59 J= 1, NPARP1 - 59 PB = PB + WG * P(I,J) - PBAR(I) = PB - WG * P(I,JH) - 60 PSTAR(I)=(1.+ALPHA)*PBAR(I)-ALPHA*P(I,JH) - CALL MNINEX(PSTAR) - CALL FCN(NPARX,GIN,YSTAR,U,4,FUTIL) - NFCN=NFCN+1 - IF(YSTAR.GE.AMIN) GO TO 70 -C point * better than jl, calculate new point ** - CSTATU = 'PROGRESS ' - DO 61 I=1,NPAR - 61 PSTST(I)=GAMMA*PSTAR(I)+(1.-GAMMA)*PBAR(I) - CALL MNINEX(PSTST) - CALL FCN(NPARX,GIN,YSTST,U,4,FUTIL) - NFCN=NFCN+1 -C try a parabola through ph, pstar, pstst. min = prho - Y1 = (YSTAR-Y(JH)) * RHO2 - Y2 = (YSTST-Y(JH)) * RHO1 - RHO = 0.5 * (RHO2*Y1 -RHO1*Y2) / (Y1 -Y2) - IF (RHO .LT. RHOMIN) GO TO 66 - IF (RHO .GT. RHOMAX) RHO = RHOMAX - DO 64 I= 1, NPAR - 64 PRHO(I) = RHO*PBAR(I) + (1.0-RHO)*P(I,JH) - CALL MNINEX(PRHO) - CALL FCN(NPARX,GIN,YRHO, U,4,FUTIL) - NFCN = NFCN + 1 - IF (YRHO .LT. AMIN) CSTATU = 'PROGRESS ' - IF (YRHO .LT. Y(JL) .AND. YRHO .LT. YSTST) GO TO 65 - IF (YSTST .LT. Y(JL)) GO TO 67 - IF (YRHO .GT. Y(JL)) GO TO 66 -C accept minimum point of parabola, PRHO - 65 CALL MNRAZZ (YRHO,PRHO,Y,JH,JL) - GO TO 68 - 66 IF (YSTST .LT. Y(JL)) GO TO 67 - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - GO TO 68 - 67 CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - 68 NCYCL=NCYCL+1 - IF (ISW(5) .LT. 2) GO TO 50 - IF (ISW(5) .GE. 3 .OR. MOD(NCYCL, 10) .EQ. 0) CALL MNPRIN(5,AMIN) - GO TO 50 -C point * is not as good as jl - 70 IF (YSTAR .GE. Y(JH)) GO TO 73 - JHOLD = JH - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - IF (JHOLD .NE. JH) GO TO 50 -C calculate new point ** - 73 DO 74 I=1,NPAR - 74 PSTST(I)=BETA*P(I,JH)+(1.-BETA)*PBAR(I) - CALL MNINEX (PSTST) - CALL FCN(NPARX,GIN,YSTST,U,4,FUTIL) - NFCN=NFCN+1 - IF(YSTST.GT.Y(JH)) GO TO 1 -C point ** is better than jh - IF (YSTST .LT. AMIN) CSTATU = 'PROGRESS ' - IF (YSTST .LT. AMIN) GO TO 67 - CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C . . . . . . end main loop - 76 IF (ISW(5) .GE. 0) WRITE(ISYSWR,'(A)') - + ' SIMPLEX MINIMIZATION HAS CONVERGED.' - ISW(4) = 1 - GO TO 80 - 78 IF (ISW(5) .GE. 0) WRITE(ISYSWR,'(A)') - + ' SIMPLEX TERMINATES WITHOUT CONVERGENCE.' - CSTATU= 'CALL LIMIT' - ISW(4) = -1 - ISW(1) = 1 - 80 DO 82 I=1,NPAR - PB = 0. - DO 81 J=1,NPARP1 - 81 PB = PB + WG * P(I,J) - 82 PBAR(I) = PB - WG * P(I,JH) - CALL MNINEX(PBAR) - CALL FCN(NPARX,GIN,YPBAR,U,4,FUTIL) - NFCN=NFCN+1 - IF (YPBAR .LT. AMIN) CALL MNRAZZ(YPBAR,PBAR,Y,JH,JL) - CALL MNINEX(X) - IF (NFCNMX+NPFN-NFCN .LT. 3*NPAR) GO TO 90 - IF (EDM .GT. 2.0*EPSI) GO TO 1 - 90 IF (ISW(5) .GE. 0) CALL MNPRIN(5, AMIN) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnstat.F b/graphics/Qat/QatDataModeling/src/mnstat.F deleted file mode 100644 index 0954f90175b..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnstat.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: mnstat.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnstat.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSTAT(FMIN,FEDM,ERRDEF,NPARI,NPARX,ISTAT) -#include "QatDataModeling/d506dp.inc" -CC User-called -CC Provides the user with information concerning the current status -CC of the current minimization. Namely, it returns: -CC FMIN: the best function value found so far -CC FEDM: the estimated vertical distance remaining to minimum -CC ERRDEF: the value of UP defining parameter uncertainties -CC NPARI: the number of currently variable parameters -CC NPARX: the highest (external) parameter number defined by user -CC ISTAT: a status integer indicating how good is the covariance -CC matrix: 0= not calculated at all -CC 1= approximation only, not accurate -CC 2= full matrix, but forced positive-definite -CC 3= full accurate covariance matrix -CC -#include "QatDataModeling/d506cm.inc" - FMIN = AMIN - FEDM = EDM - ERRDEF = UP - NPARI = NPAR - NPARX = NU - ISTAT = ISW(2) - IF (EDM .EQ. BIGEDM) THEN - FEDM = UP - ENDIF - IF (AMIN .EQ. UNDEFI) THEN - FMIN = 0.0 - FEDM = UP - ISTAT= 0 - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnstin.F b/graphics/Qat/QatDataModeling/src/mnstin.F deleted file mode 100644 index a58c244403f..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnstin.F +++ /dev/null @@ -1,184 +0,0 @@ -* -* $Id: mnstin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnstin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSTIN(CRDBUF,IERR) -#include "QatDataModeling/d506dp.inc" -CC Called from MNREAD. -CC Implements the SET INPUT command to change input units. -CC If command is: 'SET INPUT' 'SET INPUT 0' or '*EOF', -CC or 'SET INPUT , , ', -CC reverts to previous input unit number,if any. -CC -CC If it is: 'SET INPUT n' or 'SET INPUT n filename', -CC changes to new input file, added to stack -CC -CC IERR = 0: reading terminated normally -CC 2: end-of-data on primary input file -CC 3: unrecoverable read error -CC 4: unable to process request -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CRDBUF*(*),CUNIT*10,CFNAME*64,CGNAME*64,CANSWR*1 - CHARACTER CMODE*16 - LOGICAL LOPEN,LREWIN,NONAME,LNAME,MNUNPT - NONAME = .TRUE. - IERR = 0 - IF (INDEX(CRDBUF,'*EOF') .EQ. 1) GO TO 190 - IF (INDEX(CRDBUF,'*eof') .EQ. 1) GO TO 190 - LEND = LEN(CRDBUF) -C look for end of SET INPUT command - DO 20 IC= 8,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 25 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 53 - 20 CONTINUE - GO TO 200 - 25 CONTINUE -C look for end of separator between command and first argument - ICOL = IC+1 - DO 50 IC= ICOL,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 50 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 53 - GO TO 55 - 50 CONTINUE - GO TO 200 - 53 IC = IC + 1 - 55 IC1 = IC -C see if "REWIND" was requested in command - LREWIN = .FALSE. - IF (INDEX(CRDBUF(1:IC1),'REW') .GT. 5) LREWIN=.TRUE. - IF (INDEX(CRDBUF(1:IC1),'rew') .GT. 5) LREWIN=.TRUE. -C first argument begins in or after col IC1 - DO 75 IC= IC1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 75 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 200 - GO TO 80 - 75 CONTINUE - GO TO 200 - 80 IC1 = IC -C first argument really begins in col IC1 - DO 100 IC= IC1+1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 108 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 108 - 100 CONTINUE - IC = LEND + 1 - 108 IC2 = IC-1 -C end of first argument is in col IC2 - 110 CONTINUE - CUNIT = CRDBUF(IC1:IC2) - WRITE (ISYSWR,'(A,A)') ' UNIT NO. :',CUNIT - READ (CUNIT,'(BN,F10.0)',ERR=500) FUNIT - IUNIT = FUNIT - IF (IUNIT .EQ. 0) GO TO 200 -C skip blanks and commas, find file name - DO 120 IC= IC2+1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 120 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 120 - GO TO 130 - 120 CONTINUE - GO TO 131 - 130 CONTINUE - CFNAME = CRDBUF(IC:LEND) - NONAME = .FALSE. - WRITE (ISYSWR, '(A,A)') ' FILE NAME IS:',CFNAME -C ask if file exists, if not ask for name and open it - 131 CONTINUE - INQUIRE(UNIT=IUNIT,OPENED=LOPEN,NAMED=LNAME,NAME=CGNAME) - IF (LOPEN) THEN - IF (NONAME) THEN - GO TO 136 - ELSE - IF (.NOT.LNAME) CGNAME='unknown' - WRITE (ISYSWR,132) IUNIT,CGNAME,CFNAME - 132 FORMAT (' UNIT',I3,' ALREADY OPENED WITH NAME:',A/ - + ' NEW NAME IGNORED:',A) - ENDIF - ELSE -C new file, open it - WRITE (ISYSWR,135) IUNIT - 135 FORMAT (' UNIT',I3,' IS NOT OPENED.') - IF (NONAME) THEN - WRITE (ISYSWR,'(A)') ' NO FILE NAME GIVEN IN COMMAND.' - IF (ISW(6) .LT. 1) GO TO 800 - WRITE (ISYSWR,'(A)') ' PLEASE GIVE FILE NAME:' - READ (ISYSRD,'(A)') CFNAME - ENDIF - OPEN (UNIT=IUNIT,FILE=CFNAME,STATUS='OLD',ERR=600) - WRITE (ISYSWR,'(A)') ' FILE OPENED SUCCESSFULLY.' - ENDIF -C . . file is correctly opened - 136 IF (LREWIN) GO TO 150 - IF (ISW(6) .LT. 1) GO TO 300 - WRITE (ISYSWR,137) IUNIT - 137 FORMAT (' SHOULD UNIT',I3,' BE REWOUND?' ) - READ (ISYSRD,'(A)') CANSWR - IF (CANSWR.NE.'Y' .AND. CANSWR.NE.'y') GO TO 300 - 150 REWIND IUNIT - GO TO 300 -C *EOF - 190 CONTINUE - IF (NSTKRD .EQ. 0) THEN - IERR = 2 - GO TO 900 - ENDIF -C revert to previous input file - 200 CONTINUE - IF (NSTKRD .EQ. 0) THEN - WRITE (ISYSWR, '(A,A)') ' COMMAND IGNORED:',CRDBUF - WRITE (ISYSWR, '(A)') ' ALREADY READING FROM PRIMARY INPUT' - ELSE - ISYSRD = ISTKRD(NSTKRD) - NSTKRD = NSTKRD - 1 - IF (NSTKRD .EQ. 0) ISW(6) = IABS(ISW(6)) - IF (ISW(5) .GE. 0) THEN - INQUIRE(UNIT=ISYSRD,NAMED=LNAME,NAME=CFNAME) - CMODE = 'BATCH MODE ' - IF (ISW(6) .EQ. 1) CMODE = 'INTERACTIVE MODE' - IF (.NOT.LNAME) CFNAME='unknown' - IF (MNUNPT(CFNAME)) CFNAME='unprintable' - WRITE (ISYSWR,290) CMODE,ISYSRD,CFNAME - 290 FORMAT (' INPUT WILL NOW BE READ IN ',A,' FROM UNIT NO.',I3/ - + ' FILENAME: ',A) - ENDIF - ENDIF - GO TO 900 -C switch to new input file, add to stack - 300 CONTINUE - IF (NSTKRD .GE. MAXSTK) THEN - WRITE (ISYSWR, '(A)') ' INPUT FILE STACK SIZE EXCEEDED.' - GO TO 800 - ENDIF - NSTKRD = NSTKRD + 1 - ISTKRD(NSTKRD) = ISYSRD - ISYSRD = IUNIT -C ISW(6) = 0 for batch, =1 for interactive, and -C =-1 for originally interactive temporarily batch - IF (ISW(6) .EQ. 1) ISW(6) = -1 - GO TO 900 -C format error - 500 CONTINUE - WRITE (ISYSWR,'(A,A)') ' CANNOT READ FOLLOWING AS INTEGER:',CUNIT - GO TO 800 - 600 CONTINUE - WRITE (ISYSWR, 601) CFNAME - 601 FORMAT (' SYSTEM IS UNABLE TO OPEN FILE:',A) -C serious error - 800 CONTINUE - IERR = 3 - 900 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mntiny.F b/graphics/Qat/QatDataModeling/src/mntiny.F deleted file mode 100644 index 8e19219b105..00000000000 --- a/graphics/Qat/QatDataModeling/src/mntiny.F +++ /dev/null @@ -1,28 +0,0 @@ -* -* $Id: mntiny.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mntiny.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNTINY(EPSP1,EPSBAK) -#include "QatDataModeling/d506dp.inc" -CC Compares its argument with the value 1.0, and returns -CC the value .TRUE. if they are equal. To find EPSMAC -CC safely by foiling the Fortran optimizer -CC - PARAMETER (ONE=1.0) - EPSBAK = EPSP1 - ONE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnunpt.F b/graphics/Qat/QatDataModeling/src/mnunpt.F deleted file mode 100644 index 9f52452db09..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnunpt.F +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: mnunpt.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnunpt.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - LOGICAL FUNCTION MNUNPT(CFNAME) -C is .TRUE. if CFNAME contains unprintable characters. - CHARACTER CFNAME*(*) - CHARACTER CPT*80, CP1*40,CP2*40 - PARAMETER (CP1=' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm') - PARAMETER (CP2='nopqrstuvwxyz1234567890./;:[]$%*_!@#&+()') - CPT=CP1//CP2 - MNUNPT = .FALSE. - L = LEN(CFNAME) - DO 100 I= 1, L - DO 50 IC= 1, 80 - IF (CFNAME(I:I) .EQ. CPT(IC:IC)) GO TO 100 - 50 CONTINUE - MNUNPT = .TRUE. - GO TO 150 - 100 CONTINUE - 150 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnvers.F b/graphics/Qat/QatDataModeling/src/mnvers.F deleted file mode 100644 index 357929ded75..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnvers.F +++ /dev/null @@ -1,27 +0,0 @@ -* -* $Id: mnvers.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnvers.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNVERS(CV) -#include "QatDataModeling/d506dp.inc" -CC Returns the Minuit version in CV, char*6 -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CV - CV = CVRSN - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnvert.F b/graphics/Qat/QatDataModeling/src/mnvert.F deleted file mode 100644 index bc15574dd17..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnvert.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: mnvert.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnvert.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:54 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNVERT(A,L,M,N,IFAIL) -#include "QatDataModeling/d506dp.inc" -CC inverts a symmetric matrix. matrix is first scaled to -CC have all ones on the diagonal (equivalent to change of units) -CC but no pivoting is done since matrix is positive-definite. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION A(L,M) ,PP(MNI), Q(MNI), S(MNI) - IFAIL=0 - IF (N .LT. 1) GO TO 100 - IF (N .GT. MAXINT) GO TO 100 -C scale matrix by sqrt of diag elements - DO 8 I=1,N - SI = A(I,I) - IF (SI) 100,100,8 - 8 S(I) = 1.0/SQRT(SI) - DO 20 I= 1, N - DO 20 J= 1, N - 20 A(I,J) = A(I,J) *S(I)*S(J) -C . . . start main loop . . . . - DO 65 I=1,N - K = I -C preparation for elimination step1 - IF (A(K,K) .EQ. ZERO) GO TO 100 - Q(K)=1./A(K,K) - PP(K) = 1.0 - A(K,K)=0.0 - KP1=K+1 - KM1=K-1 - IF(KM1)100,50,40 - 40 DO 49 J=1,KM1 - PP(J)=A(J,K) - Q(J)=A(J,K)*Q(K) - 49 A(J,K)=0. - 50 IF(K-N)51,60,100 - 51 DO 59 J=KP1,N - PP(J)=A(K,J) - Q(J)=-A(K,J)*Q(K) - 59 A(K,J)=0.0 -C elimination proper - 60 DO 65 J=1,N - DO 65 K=J,N - 65 A(J,K)=A(J,K)+PP(J)*Q(K) -C elements of left diagonal and unscaling - DO 70 J= 1, N - DO 70 K= 1, J - A(K,J) = A(K,J) *S(K)*S(J) - 70 A(J,K) = A(K,J) - RETURN -C failure return - 100 IFAIL=1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnwarn.F b/graphics/Qat/QatDataModeling/src/mnwarn.F deleted file mode 100644 index 5d116a7b9c9..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnwarn.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: mnwarn.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnwarn.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNWARN(COPT,CORG,CMES) -C If COPT='W', CMES is a WARning message from CORG. -C If COPT='D', CMES is a DEBug message from CORG. -C If SET WARnings is in effect (the default), this routine -C prints the warning message CMES coming from CORG. -C If SET NOWarnings is in effect, the warning message is -C stored in a circular buffer of length MAXMES. -C If called with CORG=CMES='SHO', it prints the messages in -C the circular buffer, FIFO, and empties the buffer. -#include "QatDataModeling/d506dp.inc" -#include "QatDataModeling/d506cm.inc" - CHARACTER COPT*1, CORG*(*), CMES*(*), CTYP*7 - PARAMETER (MAXMES=10) - CHARACTER ORIGIN(MAXMES,2)*10, WARMES(MAXMES,2)*60 - COMMON/MN7WRC/ORIGIN, WARMES - COMMON/MN7WRI/NFCWAR(MAXMES,2),ICIRC(2) - CHARACTER ENGLSH*20 -C - IF (CORG(1:3).EQ.'SHO' .AND. CMES(1:3).EQ.'SHO') GO TO 200 -C Either print warning or put in buffer - IF (COPT .EQ. 'W') THEN - ITYP = 1 - IF (LWARN) THEN - WRITE (ISYSWR,'(A,A/A,A)') ' MINUIT WARNING IN ',CORG, - + ' ============== ',CMES - RETURN - ENDIF - ELSE - ITYP = 2 - IF (LREPOR) THEN - WRITE (ISYSWR,'(A,A/A,A)') ' MINUIT DEBUG FOR ',CORG, - + ' ============== ',CMES - RETURN - ENDIF - ENDIF -C if appropriate flag is off, fill circular buffer - IF (NWRMES(ITYP) .EQ. 0) ICIRC(ITYP) = 0 - NWRMES(ITYP) = NWRMES(ITYP) + 1 - ICIRC(ITYP) = ICIRC(ITYP) + 1 - IF (ICIRC(ITYP) .GT. MAXMES) ICIRC(ITYP) = 1 - IC = ICIRC(ITYP) - ORIGIN(IC,ITYP) = CORG - WARMES(IC,ITYP) = CMES - NFCWAR(IC,ITYP) = NFCN - RETURN -C -C 'SHO WARnings', ask if any suppressed mess in buffer - 200 CONTINUE - IF (COPT .EQ. 'W') THEN - ITYP = 1 - CTYP = 'WARNING' - ELSE - ITYP = 2 - CTYP = '*DEBUG*' - ENDIF - IF (NWRMES(ITYP) .GT. 0) THEN - ENGLSH = ' WAS SUPPRESSED. ' - IF (NWRMES(ITYP) .GT. 1) ENGLSH = 'S WERE SUPPRESSED.' - WRITE (ISYSWR,'(/1X,I5,A,A,A,A/)') NWRMES(ITYP), - + ' MINUIT ',CTYP,' MESSAGE', ENGLSH - NM = NWRMES(ITYP) - IC = 0 - IF (NM .GT. MAXMES) THEN - WRITE (ISYSWR,'(A,I2,A)') ' ONLY THE MOST RECENT ', - + MAXMES,' WILL BE LISTED BELOW.' - NM = MAXMES - IC = ICIRC(ITYP) - ENDIF - WRITE (ISYSWR,'(A)') ' CALLS ORIGIN MESSAGE' - DO 300 I= 1, NM - IC = IC + 1 - IF (IC .GT. MAXMES) IC = 1 - WRITE (ISYSWR,'(1X,I6,1X,A,1X,A)') - + NFCWAR(IC,ITYP),ORIGIN(IC,ITYP),WARMES(IC,ITYP) - 300 CONTINUE - NWRMES(ITYP) = 0 - WRITE (ISYSWR,'(1H )') - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnwerr.F b/graphics/Qat/QatDataModeling/src/mnwerr.F deleted file mode 100644 index 6dd9715bffc..00000000000 --- a/graphics/Qat/QatDataModeling/src/mnwerr.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: mnwerr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnwerr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNWERR -#include "QatDataModeling/d506dp.inc" -CC Calculates the WERR, external parameter errors, -CC and the global correlation coefficients, to be called -CC whenever a new covariance matrix is available. -CC -#include "QatDataModeling/d506cm.inc" -C calculate external error if v exists - IF (ISW(2) .GE. 1) THEN - DO 100 L= 1, NPAR - NDEX = L*(L+1)/2 - DX = SQRT(ABS(VHMAT(NDEX)*UP)) - I = NEXOFI(L) - IF (NVARL(I) .GT. 1) THEN - AL = ALIM(I) - BA = BLIM(I) - AL - DU1 = AL + 0.5 *(SIN(X(L)+DX) +1.0) * BA - U(I) - DU2 = AL + 0.5 *(SIN(X(L)-DX) +1.0) * BA - U(I) - IF (DX .GT. 1.0) DU1 = BA - DX = 0.5 * (ABS(DU1) + ABS(DU2)) - ENDIF - WERR(L) = DX - 100 CONTINUE - ENDIF -C global correlation coefficients - IF (ISW(2) .GE. 1) THEN - DO 130 I= 1, NPAR - GLOBCC(I) = 0. - K1 = I*(I-1)/2 - DO 130 J= 1, I - K = K1 + J - P(I,J) = VHMAT(K) - 130 P(J,I) = P(I,J) - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IERR) - IF (IERR .EQ. 0) THEN - DO 150 IIN= 1, NPAR - NDIAG = IIN*(IIN+1)/2 - DENOM = P(IIN,IIN)*VHMAT(NDIAG) - IF (DENOM.LE.ONE .AND. DENOM.GE.ZERO) THEN - GLOBCC(IIN) = 0. - ELSE - GLOBCC(IIN) = SQRT(1.0-1.0/DENOM) - ENDIF - 150 CONTINUE - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/stand.F b/graphics/Qat/QatDataModeling/src/stand.F deleted file mode 100644 index 64941ea7d8c..00000000000 --- a/graphics/Qat/QatDataModeling/src/stand.F +++ /dev/null @@ -1,25 +0,0 @@ -* -* $Id: stand.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: stand.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE STAND -#include "QatDataModeling/d506dp.inc" -CC optional user-supplied subroutine is called whenever the -CC command "standard" appears. -CC - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/trick.cc b/graphics/Qat/QatDataModeling/src/trick.cc deleted file mode 100644 index f7f55fb2071..00000000000 --- a/graphics/Qat/QatDataModeling/src/trick.cc +++ /dev/null @@ -1,16 +0,0 @@ -/*************************************************************************** - trick.cc - description - ------------------- - begin : Thu Dec 23 2004 - copyright : (C) 2004 by Joseph F. Boudreau - email : boudreau@pitt.edu - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ diff --git a/graphics/Qat/QatPlotSystem/CMakeLists.txt b/graphics/Qat/QatPlotSystem/CMakeLists.txt deleted file mode 100644 index 4f7af3be5e1..00000000000 --- a/graphics/Qat/QatPlotSystem/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Package: QatPlotSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatPlotWidgets - graphics/Qat/QatPlotting - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatPlotSystem ) - diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h deleted file mode 100644 index cc407539b52..00000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _PLOTSYSTEM_H_ -#define _PLOTSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class PlotSystem:public DASystem { - - Q_OBJECT - - -public: - - PlotSystem(); - - virtual ~PlotSystem(); - - virtual QString name() { return QString("PlotSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual void update(); - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual QByteArray saveCache(); - - virtual void restoreFromCache (QByteArray ba); - - virtual PlotSystem *clone() const; - - virtual void dblClicked1D(const Hist1D *); - virtual void dblClicked2D (const Hist2D *); - virtual void dblClickedMan(const HistogramManager *); - virtual void dblClickedVisFunction(const VisFunction *); - - public slots: - - void callUpdate(); - void setNormalize(bool); - - private: - - // It is illegal to copy or assign: - PlotSystem(const PlotSystem &); - PlotSystem & operator=(const PlotSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class PlotSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h deleted file mode 100644 index b693bec4dd2..00000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _PLOTSYSTEMMAINWIDGET_H_ -#define _PLOTSYSTEMMAINWIDGET_H_ -#include <QtGui/QWidget> -class PlotView; -namespace Ui { - class PlotSystemMainWidget; -} - -class PlotSystemMainWidget: public QWidget { - - Q_OBJECT - public: - - PlotSystemMainWidget(QWidget *parent=NULL); - - ~PlotSystemMainWidget(); - - PlotView *plotView() const; - - - public slots: - void setDimension(int w, int h); - - - private: - - class Clockwork; - Clockwork *c; - - -}; - -#endif diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h deleted file mode 100644 index 56b5b044fe9..00000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _PLOTSYSTEMMENU_H_ -#define _PLOTSYSTEMMENU_H_ -#include <QtGui/QWidget> -namespace Ui { - class PlotSystemMenu; -} - -class PlotSystemMenu: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - PlotSystemMenu(QWidget *parent=NULL); - - // Destructor: - ~PlotSystemMenu(); - - bool autorange () const; - void setAutorange (bool flag); - - bool normalize () const; - void setNormalize (bool flag); - - bool variable () const; - void setVariable (bool flag); - - bool square () const; - void setSquare (bool flag); - - bool rect () const; - void setRect (bool flag); - - signals: - - void normalizeHistos(bool flag); - void reDimension(int w, int h); - - private slots: - - void SSNormalize(int); - - void setPlotDimensions(bool unused); - - private: - - class Clockwork; - Clockwork *c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp deleted file mode 100644 index bc9f3694862..00000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp +++ /dev/null @@ -1,679 +0,0 @@ -#include <QObject> -#include "QatPlotSystem/PlotSystem.h" -#include "QatPlotSystem/PlotSystemMainWidget.h" -#include "QatPlotSystem/PlotSystemMenu.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/PlotHist2D.h" -#include "QatPlotting/PlotFunction1D.h" -#include "QatPlotting/PlotWave1D.h" -#include "QatPlotting/VisFunction.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatPlotWidgets/PlotFunction1DDialog.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotWidgets/PlotHist2DDialog.h" -#include "QatPlotWidgets/PlotDirDialog.h" -#include "QatPlotWidgets/PlotView.h" -#include <QtGui/QTextEdit> -#include <iostream> -#include <stdexcept> -#include <sstream> -#include <map> -class PlotSystemMainWidget; -class PlotSystem::Clockwork { -public: - PlotSystemMainWidget *plotSystemMainWidget; - PlotSystemMenu *plotSystemToolWidget; - - std::map<const Hist1D *, PlotHist1D *> plotHist1DMap; - std::map<const Hist1D *, PlotHist1D *> plotHist1DMapNormalized; - std::map<const Hist2D *, PlotHist2D *> plotHist2DMap; - std::multimap<const VisFunction *, PlotFunction1D *> visFunctionMap; - - PlotHist1DDialog *dialog1; - PlotHist2DDialog *dialog2; - PlotDirDialog *dialogDir; - PlotFunction1DDialog *dialogVis; - std::vector<Hist1D *> normalizedHistograms; - - void setProperties(const Hist1D *h, PlotHist1DProperties & prop) { - - { - std::map<const Hist1D *, PlotHist1D *>::const_iterator x=plotHist1DMap.find(h); - if (x!=plotHist1DMap.end()) (*x).second->setProperties(prop); - } - { - std::map<const Hist1D *, PlotHist1D *>::const_iterator x=plotHist1DMapNormalized.find(h); - if (x!=plotHist1DMapNormalized.end()) (*x).second->setProperties(prop); - } - } - PlotFunction1D *makePlot(const VisFunction *visFunction, unsigned int i) { - PlotFunction1D *newPlot=NULL; - if (visFunction->getFunction(i)->dimensionality()==1) { - newPlot= - visFunction->getDomainRestriction(i) ? - new PlotFunction1D(*visFunction->getFunction(i), *visFunction->getDomainRestriction(i)): - new PlotFunction1D(*visFunction->getFunction(i)); - PlotFunction1D::Properties prop; - prop.pen.setWidth(3); - newPlot->setProperties(prop); - } - if (visFunction->getFunction(i)->dimensionality()==2) { - newPlot= - visFunction->getDomainRestriction(i) ? - new PlotWave1D(*visFunction->getFunction(i), *visFunction->getDomainRestriction(i)): - new PlotWave1D(*visFunction->getFunction(i)); - PlotWave1D::Properties prop; - prop.pen.setWidth(3); - newPlot->setProperties(prop); - } - return newPlot; - } -}; - - -PlotSystem::PlotSystem ():c(new Clockwork()) { - QRectF rect; - - c->plotSystemMainWidget=new PlotSystemMainWidget(); - c->plotSystemToolWidget=new PlotSystemMenu(); - c->dialog1=NULL; - c->dialog2=NULL; - c->dialogDir=NULL; - c->dialogVis=NULL; - connect (c->plotSystemToolWidget, SIGNAL(normalizeHistos(bool)), this, SLOT(setNormalize(bool))); - connect (c->plotSystemToolWidget, SIGNAL(reDimension(int, int)), c->plotSystemMainWidget, SLOT(setDimension(int, int))); -} - -PlotSystem::~PlotSystem() { - for (std::map<const Hist1D *, PlotHist1D *>::iterator m=c->plotHist1DMap.begin();m!=c->plotHist1DMap.end();m++) { - delete (*m).second; - } - for (std::map<const Hist1D *, PlotHist1D *>::iterator m=c->plotHist1DMapNormalized.begin();m!=c->plotHist1DMapNormalized.end();m++) { - delete (*m).second; - } - for (std::map<const VisFunction *, PlotFunction1D *>::iterator m=c->visFunctionMap.begin();m!=c->visFunctionMap.end();m++) { - delete (*m).second; - } - for (unsigned int n=0;n<c->normalizedHistograms.size();n++) delete c->normalizedHistograms[n]; - delete c; -} - -QWidget *PlotSystem::mainWidget() const { - return c->plotSystemMainWidget; -} - -QWidget *PlotSystem::toolWidget() const { - return c->plotSystemToolWidget; -} - -void PlotSystem::update() { - - // Clear the main widget: - PlotView *plotView=c->plotSystemMainWidget->plotView(); - plotView->clear(); - - // Handle the 1D Plots: - - QRectF r; - bool plotsSelected=false; - - for (unsigned int i=0;i<hist1DSet()->size();i++) { - - plotsSelected=true; - const Hist1D *hist1D=(*hist1DSet())[i]; - { - std::ostringstream message; - message << "Presenting 1D Histogram: " << hist1D->name() - << " min=" << hist1D->min() - << " max=" << hist1D->max() - << " nBins=" << hist1D->nBins() - << " minContents=" << hist1D->minContents() - << " maxContents=" << hist1D->maxContents() - << " mean=" << hist1D->mean() - << " rms=" << sqrt(hist1D->variance()) - << " under/over=" << hist1D->underflow() <<"/" << hist1D->overflow() - << " sum=" << hist1D->sum() - - << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - { - PlotHist1D *plotHist1DStd=NULL, *plotHist1DNormalized=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - - // Put the basic plot: - plotHist1DStd=new PlotHist1D(*hist1D); - c->plotHist1DMap[hist1D]=plotHist1DStd; - - // Put the normalized plot: - Hist1D normalizedHist=*hist1D; - if (normalizedHist.sum()!=0) normalizedHist *= (1/normalizedHist.sum()); - normalizedHist *= (1/normalizedHist.binWidth()); - c->normalizedHistograms.push_back(new Hist1D(normalizedHist)); - plotHist1DNormalized=new PlotHist1D(*c->normalizedHistograms.back()); - c->plotHist1DMapNormalized[hist1D]=plotHist1DNormalized; - - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1DStd->setProperties(prop); - plotHist1DNormalized->setProperties(prop); - - } - else { - plotHist1DStd = (*h).second; - std::map<const Hist1D *, PlotHist1D *>::const_iterator i=c->plotHist1DMapNormalized.find(hist1D); - plotHist1DNormalized = (*i).second; - plotHist1DNormalized->setProperties(plotHist1DStd->properties()); - } - PlotHist1D *plotHist1D = c->plotSystemToolWidget->normalize() ? plotHist1DNormalized : plotHist1DStd; - - - if (!plotHist1D) throw std::runtime_error("Error locating 1D Plot"); - r |= plotHist1D->rectHint(); - plotView->add(plotHist1D); - } - } - - - // Handle the 2D plots: - for (unsigned int i=0;i<hist2DSet()->size();i++) { - plotsSelected=true; - const Hist2D *hist2D=(*hist2DSet())[i]; - PlotHist2D *plotHist2D=NULL; - - { - std::ostringstream message; - message << "Presenting 2D Histogram: " << hist2D->name() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - - if (!plotHist2D) throw std::runtime_error("Error locating 2D Plot"); - r |= plotHist2D->rectHint(); - plotView->add(plotHist2D); - - } - - // Handle the Function Plots - for (unsigned int i=0;i<visFunctionSet()->size();i++) { - plotsSelected=true; - const VisFunction *visFunction=(*visFunctionSet())[i]; - PlotFunction1D *plotFunction1D=NULL; - - { - std::ostringstream message; - message << "Presenting Vis Function: " << visFunction->name() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - - // std::map<const VisFunction *, PlotFunction1D *>::const_iterator h=c->visFunctionMap.find(visFunction); - std::pair< - std::map<const VisFunction *, PlotFunction1D *>::const_iterator, - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - > ret=c->visFunctionMap.equal_range(visFunction); - if (ret.first==ret.second) { - for (unsigned int i=0;i<visFunction->getNumFunctions();i++) { - plotFunction1D = c->makePlot(visFunction,i); - c->visFunctionMap.insert(std::make_pair(visFunction, plotFunction1D)); - r |= visFunction->rectHint(); - plotView->add(plotFunction1D); - } - } - else { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - begin=ret.first, - end=ret.second, - h=begin; - while (h!=end) { - - plotFunction1D = (*h).second; - r |= visFunction->rectHint(); - plotView->add(plotFunction1D); - - h++; - - } - } - - - } - - if (plotView->isLogY() || plotView->isLogX()) c->plotSystemToolWidget->setAutorange(false); - if (plotsSelected && c->plotSystemToolWidget->autorange() ) plotView->setRect(r); - plotView->update(); -} - -QByteArray PlotSystem::saveState() { - Serializer serializer(3); - serializer.save((bool) c->plotSystemToolWidget->autorange()); - serializer.save((bool) c->plotSystemToolWidget->normalize()); - serializer.save(c->plotSystemMainWidget->plotView()); - - { - unsigned int sz=c->plotHist1DMap.size(); - serializer.save(sz); - std::map<const Hist1D *, PlotHist1D *>::iterator - begin=c->plotHist1DMap.begin(), - end =c->plotHist1DMap.end(), p=begin; - - while (p!=end) { - PlotHist1D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterH1Locator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - p++; - } - } - - { - unsigned int sz=c->plotHist2DMap.size(); - serializer.save(sz); - std::map<const Hist2D *, PlotHist2D *>::iterator - begin=c->plotHist2DMap.begin(), - end =c->plotHist2DMap.end(), p=begin; - - while (p!=end) { - PlotHist2D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterH2Locator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - p++; - } - } - - { - - unsigned int sz=c->visFunctionMap.size(); - serializer.save(sz); - std::map<const VisFunction *, PlotFunction1D *>::iterator - begin=c->visFunctionMap.begin(), - end =c->visFunctionMap.end(), p=begin; - - while (p!=end) { - const VisFunction * vis = (*p).first; - PlotFunction1D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterVisFunctionLocator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - serializer.save(vis->getNumParameters()); - for (unsigned int i=0;i<vis->getNumParameters();i++) { - serializer.save(vis->getParameter(i)->getValue()); - } - p++; - } - } - - { - serializer.save((bool) c->plotSystemToolWidget->variable()); - serializer.save((bool) c->plotSystemToolWidget->square()); - serializer.save((bool) c->plotSystemToolWidget->rect()); - } - - return serializer.result(); -} - -void PlotSystem::restoreFromState (QByteArray ba){ - Deserializer state(ba); - if (state.version()>3) throw std::runtime_error ("Wrong version code in PlotSystem::restoreFromState"); - bool autorange; - state.restore(autorange); - - bool normalize=false; - if (state.version() >=1) { - state.restore(normalize); - } - - - state.restore(c->plotSystemMainWidget->plotView()); - - c->plotSystemToolWidget->setAutorange(autorange); - c->plotSystemToolWidget->setNormalize(normalize); - - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string histoName; - PlotHist1D::Properties prop; - state.restore(histoName); - state.restore(prop); - - const Hist1D * hist = presenterH1Locator()->find(histoName); - if (hist) { - std::map<const Hist1D *, PlotHist1D *>::const_iterator p = c->plotHist1DMap.find(hist); - if (p!=c->plotHist1DMap.end()) { - (*p).second->setProperties(prop); - } - } - } - } - - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string histoName; - PlotHist2D::Properties prop; - state.restore(histoName); - state.restore(prop); - - const Hist2D * hist = presenterH2Locator()->find(histoName); - if (hist) { - std::map<const Hist2D *, PlotHist2D *>::const_iterator p = c->plotHist2DMap.find(hist); - if (p!=c->plotHist2DMap.end()) { - (*p).second->setProperties(prop); - } - } - - - } - } - - if (state.version() >=2) { - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string fcnName; - PlotFunction1D::Properties prop; - state.restore(fcnName); - state.restore(prop); - - const VisFunction * vis = presenterVisFunctionLocator()->find(fcnName); - if (vis) { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator p = c->visFunctionMap.find(vis); - if (p!=c->visFunctionMap.end()) { - (*p).second->setProperties(prop); - } - } - unsigned int npar; - state.restore(npar); - for (unsigned int i=0;i<npar;i++) { - double v; - state.restore(v); - if (vis) vis->getParameter(i)->setValue(v); - } - } - } - } - if (state.version()>=3) { - bool var; - state.restore(var); - bool square; - state.restore(square); - bool rect; - state.restore(rect); - c->plotSystemToolWidget->setVariable(var); - c->plotSystemToolWidget->setSquare(square); - c->plotSystemToolWidget->setRect(rect); - - } - -} - - - - -void PlotSystem::dblClicked1D(const Hist1D *hist1D) { - - // Make a dialog; - - if (!c->dialog1) { - c->dialog1=new PlotHist1DDialog(presenterTreeWidget()); - connect(c->dialog1, SIGNAL(updateHisto()), this, SLOT(callUpdate())); - } - - PlotHist1D *plotHist1D=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - plotHist1D=new PlotHist1D(*hist1D); - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1D->setProperties(prop); - c->plotHist1DMap[hist1D]=plotHist1D; - } - else { - plotHist1D = (*h).second; - } - c->dialog1->synchTo(plotHist1D); - c->dialog1->setWindowTitle(hist1D->name().c_str()); - c->dialog1->show(); - -} - -void PlotSystem::callUpdate() { - update(); -} -void PlotSystem::dblClickedVisFunction (const VisFunction *vf) { - // Make a dialog; - - if (!c->dialogVis) { - c->dialogVis=new PlotFunction1DDialog(presenterTreeWidget()); - connect(c->dialogVis, SIGNAL(updateFunction()), this, SLOT(callUpdate())); - } - - PlotFunction1D *plotFunction1D=NULL; - // std::map<const VisFunction *, PlotFunction1D *>::const_iterator h=c->visFunctionMap.find(vf); - std::pair< - std::map<const VisFunction *, PlotFunction1D *>::const_iterator, - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - > ret=c->visFunctionMap.equal_range(vf); - - if (ret.first==ret.second) { - - for (unsigned int i=0;i<vf->getNumFunctions();i++) { - plotFunction1D = c->makePlot(vf,i); - c->visFunctionMap.insert(std::make_pair(vf,plotFunction1D)); - } - // MAKE ALL PLOT FUNCTIONS - } - else { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - begin=ret.first, - end=ret.second, - h=begin; - while (h!=end) { - plotFunction1D = (*h).second; - break; // GET ANY OLD PLOT FUNCTION - h++; - } - } - c->dialogVis->synchTo(plotFunction1D); - c->dialogVis->clearParameters(); - - for (unsigned int i=0;i<vf->getNumParameters();i++) { - c->dialogVis->addParameter(vf->getParameter(i)); - } - - c->dialogVis->setWindowTitle(vf->name().c_str()); - c->dialogVis->show(); -} -void PlotSystem::dblClicked2D (const Hist2D *hist2D) { - // Make a dialog; - - if (!c->dialog2) { - c->dialog2=new PlotHist2DDialog(presenterTreeWidget()); - connect(c->dialog2, SIGNAL(updateHisto()), this, SLOT(callUpdate())); - } - - PlotHist2D *plotHist2D=NULL; - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - c->dialog2->synchTo(plotHist2D); - c->dialog2->setWindowTitle(hist2D->name().c_str()); - c->dialog2->show(); -} -void PlotSystem::dblClickedMan(const HistogramManager *dir) { - - if (!c->dialogDir) { - c->dialogDir=new PlotDirDialog(presenterTreeWidget()); - connect(c->dialogDir, SIGNAL(updateManager()), this, SLOT(callUpdate())); - } - // - // First pass: create plots (if necessary) and make collection. - // - std::vector<PlotHist1D*> p1DSet; - std::vector<PlotHist2D*> p2DSet; - // 2D Histograms: - for (HistogramManager::H1ConstIterator h1=dir->beginH1();h1!=dir->endH1();h1++) { - - const Hist1D *hist1D=*h1; - PlotHist1D *plotHist1D=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - plotHist1D=new PlotHist1D(*hist1D); - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1D->setProperties(prop); - c->plotHist1DMap[hist1D]=plotHist1D; - } - else { - plotHist1D = (*h).second; - } - p1DSet.push_back(plotHist1D); - } - // 2D Histograms: - for (HistogramManager::H2ConstIterator h2=dir->beginH2();h2!=dir->endH2();h2++) { - - const Hist2D *hist2D=*h2; - PlotHist2D *plotHist2D=NULL; - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - p2DSet.push_back(plotHist2D); - } - - c->dialogDir->synchTo(p1DSet, p2DSet); - c->dialogDir->setWindowTitle(dir->name().c_str()); - c->dialogDir->show(); -} - -void PlotSystem::setNormalize(bool) { - std::ostringstream message; - message << "Normalizing 1D histograms " << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - update(); -} - - - - - -QByteArray PlotSystem::saveCache() { - Serializer serializer(0); - { - unsigned int sz=c->visFunctionMap.size(); - serializer.save(sz); - std::map<const VisFunction *, PlotFunction1D *>::iterator - begin=c->visFunctionMap.begin(), - end =c->visFunctionMap.end(), p=begin; - - while (p!=end) { - const VisFunction * vis = (*p).first; - const std::string *fullyQualifiedName = presenterVisFunctionLocator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - } - else { - serializer.save("Unknown"); - } - serializer.save(vis->getNumParameters()); - for (unsigned int i=0;i<vis->getNumParameters();i++) { - serializer.save(vis->getParameter(i)->getValue()); - } - p++; - } - } - - - return serializer.result(); -} - -void PlotSystem::restoreFromCache (QByteArray ba){ - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in PlotSystem::restoreFromCache"); - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string fcnName; - state.restore(fcnName); - const VisFunction * vis = presenterVisFunctionLocator()->find(fcnName); - if (vis) { - unsigned int npar; - state.restore(npar); - for (unsigned int i=0;i<npar;i++) { - double v; - state.restore(v); - if (vis) vis->getParameter(i)->setValue(v); - } - } - } - } -} - - - - - - -//=====================Boilerplate======================// -PlotSystem *PlotSystem::clone() const { - return new PlotSystem(); -} - -DASystem *PlotSystemFactory::newSystem() const { - return new PlotSystem(); -} - -Q_EXPORT_PLUGIN2(PlotSystemPlugin, PlotSystemFactory) diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp deleted file mode 100644 index 151c50540fd..00000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "QatPlotSystem/PlotSystemMainWidget.h" -#include "ui_PlotSystemMainWidget.h" -class PlotSystemMainWidget::Clockwork { -public: - Ui::PlotSystemMainWidget ui; -}; -PlotSystemMainWidget::PlotSystemMainWidget (QWidget *parent ):QWidget(parent),c(new Clockwork()) { - c->ui.setupUi(this); - c->ui.plotView->setBox(false); -} -PlotView *PlotSystemMainWidget::plotView() const { - return c->ui.plotView; -} -PlotSystemMainWidget::~PlotSystemMainWidget () { - delete c; -} - -void PlotSystemMainWidget::setDimension(int w, int h) { - if (w==0 && h==0) { - QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - sizePolicy.setHorizontalStretch(10); - sizePolicy.setVerticalStretch(10); - c->ui.plotView->setMinimumSize(600,600); - c->ui.plotView->setMaximumSize(0xFFFFFF,0xFFFFFF); - c->ui.plotView->setSizePolicy(sizePolicy); - } - else { - c->ui.plotView->setFixedSize(w,h); - } -} diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui b/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui deleted file mode 100644 index 63a8b9bc392..00000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui +++ /dev/null @@ -1,69 +0,0 @@ -<ui version="4.0" > - <class>PlotSystemMainWidget</class> - <widget class="QWidget" name="PlotSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>744</width> - <height>618</height> - </rect> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout" > - <item> - <spacer name="horizontalSpacer" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>1</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="PlotView" native="1" name="plotView" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > - <horstretch>10</horstretch> - <verstretch>10</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>600</width> - <height>600</height> - </size> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>1</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>PlotView</class> - <extends>QWidget</extends> - <header>QatPlotWidgets/PlotView.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp deleted file mode 100644 index a1a32b2eed8..00000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include "QatPlotSystem/PlotSystemMenu.h" -#include "ui_PlotSystemMenu.h" -#include <iostream> -class PlotSystemMenu::Clockwork { -public: - Ui::PlotSystemMenu ui; -}; -PlotSystemMenu::~PlotSystemMenu() { - delete c; -} - -PlotSystemMenu::PlotSystemMenu (QWidget *parent ):QWidget(parent),c(new Clockwork()) { - c->ui.setupUi(this); - connect(c->ui.normalizeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SSNormalize(int))); - connect(c->ui.squareButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); - connect(c->ui.rectButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); - connect(c->ui.variableButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); -} -bool PlotSystemMenu::autorange () const { - return c->ui.autorangeCheckBox->isChecked(); -} -void PlotSystemMenu::setAutorange(bool flag) { - c->ui.autorangeCheckBox->setChecked(flag); -} - -bool PlotSystemMenu::variable () const { - return c->ui.variableButton->isChecked(); -} -void PlotSystemMenu::setVariable(bool flag) { - c->ui.variableButton->setChecked(flag); -} - -bool PlotSystemMenu::square () const { - return c->ui.squareButton->isChecked(); -} -void PlotSystemMenu::setSquare(bool flag) { - c->ui.squareButton->setChecked(flag); -} - -bool PlotSystemMenu::rect () const { - return c->ui.rectButton->isChecked(); -} -void PlotSystemMenu::setRect(bool flag) { - c->ui.rectButton->setChecked(flag); -} - -bool PlotSystemMenu::normalize () const { - return c->ui.normalizeCheckBox->isChecked(); -} -void PlotSystemMenu::setNormalize(bool flag) { - emit normalizeHistos(flag); - c->ui.normalizeCheckBox->setChecked(flag); -} -void PlotSystemMenu::SSNormalize(int cbState) { - if (cbState==Qt::Checked) { - emit normalizeHistos(true); - } - emit normalizeHistos(false); -} -void PlotSystemMenu::setPlotDimensions(bool) { - - bool var = c->ui.variableButton->isChecked(); - bool square = c->ui.squareButton->isChecked(); - bool rect = c->ui.rectButton->isChecked(); - if (var) emit reDimension(0,0); - if (square) emit reDimension(600,600); - if (rect) emit reDimension(800,600); - -} diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui b/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui deleted file mode 100644 index 226af0ec329..00000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui +++ /dev/null @@ -1,74 +0,0 @@ -<ui version="4.0" > - <class>PlotSystemMenu</class> - <widget class="QWidget" name="PlotSystemMenu" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>800</width> - <height>94</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="Ignored" hsizetype="Ignored" > - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_2" > - <item> - <widget class="QCheckBox" name="autorangeCheckBox" > - <property name="text" > - <string>Auto Range</string> - </property> - <property name="shortcut" > - <string>R</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="normalizeCheckBox" > - <property name="text" > - <string>Normalize histograms</string> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout" > - <item> - <widget class="QRadioButton" name="variableButton" > - <property name="text" > - <string>Variable</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="squareButton" > - <property name="text" > - <string>Square</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="rectButton" > - <property name="text" > - <string>Rect</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro b/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro deleted file mode 100644 index 3117722c4de..00000000000 --- a/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=PlotSystemMainWidget.ui PlotSystemMenu.ui - -SOURCES += PlotSystem.cpp PlotSystemMainWidget.cpp PlotSystemMenu.cpp -HEADERS += ../QatPlotSystem/PlotSystem.h ../QatPlotSystem/PlotSystemMainWidget.h ../QatPlotSystem/PlotSystemMenu.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatPlotWidgets/CMakeLists.txt b/graphics/Qat/QatPlotWidgets/CMakeLists.txt deleted file mode 100644 index 1e32919f68f..00000000000 --- a/graphics/Qat/QatPlotWidgets/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################ -# Package: QatPlotWidgets -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotWidgets ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatPlotting ) - -# External dependencies: -find_package( CLHEP ) -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui QtSvg ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPlotWidgets QatPlotWidgets/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatPlotWidgets - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${QT4_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} QatPlotting ${QT4_LIBRARIES} GL ) - diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h deleted file mode 100644 index 88e3954029c..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h +++ /dev/null @@ -1,61 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// AbsRangeDivider. This class takes the extremites of a range of values // -// and figures out how to subdivide it, providing also information about // -// the range // -// // -// // -//---------------------------------------------------------------------------// -#ifndef _AbsRangeDivider_h_ -#define _AbsRangeDivider_h_ -#include "QatPlotWidgets/RangeDivision.h" -class AbsRangeDivider { - -public: - - - // Default constructor; - AbsRangeDivider(); - - // Destructor: - virtual ~AbsRangeDivider(); - - // Set the range: - virtual void setRange(double min, double max)=0; - virtual void setMin(double min)=0; - virtual void setMax(double max)=0; - - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const=0; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const= 0; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const =0; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h deleted file mode 100644 index 8876135f6b5..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef QATPLOTWIDGETS_CUSTOMRANGEDIVIDER_H -#define QATPLOTWIDGETS_CUSTOMRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include "QatPlotWidgets/RangeDivision.h" -#include <vector> -class CustomRangeDivider : public AbsRangeDivider { - - public: - // Constructor: - CustomRangeDivider(); - - // Destructor: - ~CustomRangeDivider(); - - // Insert a subdivision. The label is cloned & the clone managed. - void add (double x, QTextDocument *label=NULL); - - // Get the number of subdivision: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision ( int i) const; - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - - private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h deleted file mode 100644 index ce164358953..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef QATPLOTWIDGETS_LABELEDITORDIALOG_H -#define QATPLOTWIDGETS_LABELEDITORDIALOG_H -#include "QatPlotWidgets/characterwidget.h" -#include <QScrollArea> -#include <QDialog> -#include <QTextEdit> - -class LabelEditorDialog: public QDialog - { - Q_OBJECT - - public: - - // Constructor: - LabelEditorDialog(QWidget *parent = 0); - - // Destructor: - ~LabelEditorDialog(); - - // Get the text editor: - const QTextEdit *textEdit() const; - QTextEdit *textEdit(); - - private slots: - - void textFamily( const QString &f ); - void textSize(int i); - void textBold(); - void textItalic(); - void textScript(); - void textColor(); - void toggleChars(); - void updateCharFormat(const QTextCharFormat &f); - - - private: - - class Clockwork; - Clockwork *m_c; - - - }; -#endif - diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h deleted file mode 100644 index 2ea0905a324..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LinearRangeDivider. This class takes a range of values and divides it // -// up in a way that is appropriate for linear scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LINEARRANGEDIVIDER_H -#define QATPLOTWIDGETS_LINEARRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LinearRangeDivider:public AbsRangeDivider { - -public: - - // Constructor - LinearRangeDivider(); - - // Destructor - virtual ~LinearRangeDivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h deleted file mode 100644 index 745592fda6e..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LinearSubdivider. This class takes a range of values and divides it // -// up in a way that is appropriate for linear scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LINEARSUBDIVIDER_H -#define QATPLOTWIDGETS_LINEARSUBDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LinearSubdivider:public AbsRangeDivider { - -public: - - // Constructor - LinearSubdivider(); - - // Destructor - virtual ~LinearSubdivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h deleted file mode 100644 index ee2d32cb3a2..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LogRangeDivider. This class takes a range of values and divides it // -// up in a way that is appropriate for log scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LOGRANGEDIVIDER_H -#define QATPLOTWIDGETS_LOGRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LogRangeDivider:public AbsRangeDivider { - -public: - - // Constructor - LogRangeDivider(); - - // Destructor - virtual ~LogRangeDivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h deleted file mode 100644 index eea1ab78ca4..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LogSubdivider. This class takes a range of values and divides it // -// up in a way that is appropriate for log scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LOGSUBDIVIDER_H -#define QATPLOTWIDGETS_LOGSUBDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LogSubdivider:public AbsRangeDivider { - -public: - - // Constructor - LogSubdivider(); - - // Destructor - virtual ~LogSubdivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h deleted file mode 100644 index 083918c8b76..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef QATPLOTWIDGETS_PVCONTROL_H -#define QATPLOTWIDGETS_PVCONTROL_H -#include "QatPlotWidgets/PlotView.h" -#include <QtGui/QDialog> - -namespace Ui { - class PVControl; -} - -class PVControl:public QDialog { - - Q_OBJECT - - public: - PVControl(PlotView * parent, const QRectF &rect); - ~PVControl(); - - QRectF rect(); - PlotView::Style xAxisStyle(); - PlotView::Style yAxisStyle(); - - public slots: - - // This one sets the rectangle externally: - void setRect(const QRectF & rect); - - void setXMin(int); - void setXMax(int); - void setYMin(int); - void setYMax(int); - void setLabelXSizePercentage(int); - void setLabelYSizePercentage(int); - - void changeXMin (); - void changeXMax (); - void changeYMin (); - void changeYMax (); - -signals: - - void rectChanged(const QRectF &); - void labelHome(); - void editXAxisFont(); - void editYAxisFont(); - void labelXSizePercentageChanged(qreal); - void labelYSizePercentageChanged(qreal); - - private: - - Ui::PVControl & ui(); - - class Clockwork; - Clockwork *m_c; - - friend class PlotView; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h deleted file mode 100644 index 4dd0b58b7c3..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef QATPLOTWIDGETS_PARAMETERDIALOG_H -#define QATPLOTWIDGETS_PARAMETERDIALOG_H -#include "CLHEP/GenericFunctions/Parameter.hh" -#include <QtGui/QDialog> -class ParameterDialog:public QDialog { - -Q_OBJECT - - public: - - // Constructor: - ParameterDialog(QWidget *parent, Genfun::Parameter *par); - - // Destructor: - virtual ~ParameterDialog(); - - - public slots: - - void updateParameter(int val); // val from 0 to 99 - - signals: - - void updateFunction(); - - private: - - // Illegal operations: - ParameterDialog(const ParameterDialog &); - ParameterDialog & operator=(const ParameterDialog &); - - // Internals: - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h deleted file mode 100644 index 64c9f7506c6..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTDIRDIALOG_H -#define QATPLOTWIDGETS_PLOTDIRDIALOG_H -class PlotHist1D; -class PlotHist2D; -#include <QtGui/QDialog> -class PlotDirDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotDirDialog(QWidget *parent); - - // Destructor: - virtual ~PlotDirDialog(); - - // Synch to (*copy* the vector!) - void synchTo(std::vector<PlotHist1D*>, std::vector<PlotHist2D*>); - - public slots: - - void setSymbolSize1D(int); - void togglePlotStyle1D(bool); - - void setLineWidth1D(int); - void toggleLineColor1D(bool); - void toggleBrushColor1D(bool); - void toggleLineStyle1D(bool); - void toggleBrushStyle1D(bool); - - void setLineWidth2D(int); - void toggleLineColor2D(bool); - void toggleBrushColor2D(bool); - void toggleLineStyle2D(bool); - void toggleBrushStyle2D(bool); - - signals: - - void updateManager(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h deleted file mode 100644 index 9cf421f2bdd..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTFUNCTION1DDIALOG_H -#define QATPLOTWIDGETS_PLOTFUNCTION1DDIALOG_H -#include "CLHEP/GenericFunctions/Parameter.hh" -class PlotFunction1D; -#include <QtGui/QDialog> -class PlotFunction1DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotFunction1DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotFunction1DDialog(); - - void synchTo(PlotFunction1D *); - void clearParameters(); - void addParameter(Genfun::Parameter * p); - - public slots: - - void setLineWidth(int); - void toggleLineColor(bool); - void toggleLineStyle(bool); - void changeParameter(int row, int column); - void popParameterDial(int row, int column); - - void synchToFunction(); - - signals: - - void updateFunction(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h deleted file mode 100644 index 0392595dc1d..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTHIST1DDIALOG_H -#define QATPLOTWIDGETS_PLOTHIST1DDIALOG_H -#include <QtGui/QDialog> -class PlotHist1D; -class PlotHist1DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotHist1DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotHist1DDialog(); - - void synchTo(PlotHist1D *); - - public slots: - - void setLineWidth(int); - void setSymbolSize(int); - void toggleLineColor(bool); - void toggleBrushColor(bool); - void toggleLineStyle(bool); - void toggleBrushStyle(bool); - void togglePlotStyle(bool); - - signals: - - void updateHisto(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h deleted file mode 100644 index bdaeeaf6739..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTHIST2DDIALOG_H -#define QATPLOTWIDGETS_PLOTHIST2DDIALOG_H -#include <QtGui/QDialog> -class PlotHist2D; -class PlotHist2DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotHist2DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotHist2DDialog(); - - void synchTo(PlotHist2D *); - - public slots: - - void setLineWidth(int); - void toggleLineColor(bool); - void toggleBrushColor(bool); - void toggleLineStyle(bool); - void toggleBrushStyle(bool); - - signals: - - void updateHisto(); - - private: - - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h deleted file mode 100644 index 8dcb969bbc8..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h +++ /dev/null @@ -1,148 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTVIEW_H -#define QATPLOTWIDGETS_PLOTVIEW_H - -#include <QtGui/QGraphicsView> -#include "QatPlotting/AbsPlotter.h" -class QTextEdit; -class AbsRangeDivider; -class PlotView: public QGraphicsView, public AbsPlotter { - - Q_OBJECT - - public: - - // Type definitions: - enum Style {LINEAR, LOG}; - - // Constructor - PlotView(QWidget *parent=0); - - // Constructor: - PlotView(const QRectF * rect, Style xStyle=LINEAR, Style yStyle=LINEAR, bool createRangeDividers=true, QWidget *parent=0); - - // Destructor: - ~PlotView(); - - // Set the Range Divider - void setXRangeDivider(AbsRangeDivider * xDivider); - - // Create or re-create a Range Divider (according to current type) - AbsRangeDivider *createXRangeDivider(bool set=true); - - // Set the Range Divider - void setYRangeDivider(AbsRangeDivider * yDivider); - - // Create or re-create Range Divider (according to current type). - AbsRangeDivider *createYRangeDivider (bool set=true); - - // Resize: - virtual void resizeEvent (QResizeEvent *event); - - // Get various sorts of plot information: - // 1. The rectangle, in plot space: - virtual QRectF * rect(); - virtual const QRectF * rect() const; - - // 2. The scene: - virtual QGraphicsScene* scene(); - - // 3. The group where items are placed. - virtual QGraphicsItemGroup *group(); - - // 4. The matrix used in placing those items: - virtual QMatrix matrix(); - - // Add a plotable item to this plotter: - virtual void add (Plotable *); - - - // Accessors: - virtual bool isBox() const; - virtual bool isGrid() const; - virtual bool isXZero() const; - virtual bool isYZero() const; - virtual qreal statBoxX() const; - virtual qreal statBoxY() const; - virtual bool isLogX() const; - virtual bool isLogY() const; - virtual qreal labelXSizePercentage() const; - virtual qreal labelYSizePercentage() const; - - // Clear the Plots, and the rectangle as well: - virtual void clear(); - - // Get the text edits holding the text labels: - QTextEdit *titleTextEdit(); - QTextEdit *xLabelTextEdit(); - QTextEdit *yLabelTextEdit(); - QTextEdit *vLabelTextEdit(); - QTextEdit *statTextEdit(); - - QFont & xAxisFont() const; - QFont & yAxisFont() const; - - // Start Animating - virtual void startAnimating(int frameRateMillisec); - - // Stop Animating - virtual void stopAnimating(); - - public slots: - - void setGrid(bool flag); - void setXZero(bool flag); - void setYZero(bool flag); - void setLogX(bool flag); - void setLogY(bool flag); - void setBox(bool flag); - void setLabelPos(qreal x, qreal y); - void setLabelXSizePercentage(qreal perCento); - void setLabelYSizePercentage(qreal perCento); - - // Set the Plot Rectangle (may need synchController as well); - virtual void setRect(const QRectF & ); - - - void save (const std::string & filename); - - void updateTitle(); - void updateXLabel(); - void updateYLabel(); - void updateVLabel(); - void updateStat(); - void recreate(); - - void labelHome(); - void editXAxisFont(); - void editYAxisFont(); - void copy(); - void save(); - void print(); - - - private: - - // Clockwork: - class Clockwork; - Clockwork *m_c; - - // Illegal operations: - PlotView & operator = (const PlotView &); - PlotView(const PlotView &); - - // Create - void create(); - - private slots: - - void animate(); - - signals: - - void pointChosen(double x, double y); - friend class GraphBoxItem; - -}; - - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h deleted file mode 100644 index 4ff88310551..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef QATPLOTWIDGETS_RANGEDIVISION_H -#define QATPLOTWIDGETS_RANGEDIVISION_H -#include <QtGui/QTextDocument> - -class RangeDivision { - - public: - - // Constructor: - RangeDivision(double value); - - // Copy Constructor: - RangeDivision(const RangeDivision & right); - - // Assignment operator: - RangeDivision & operator=(const RangeDivision & right); - - // Destructor; - ~RangeDivision(); - - - // Value Accessors: - const double & x() const; - - // Text Accessor. - QTextDocument *label() const; - - // Set Document (deep copy): - void setLabel(QTextDocument *doc); - - private: - - double m_x; - QTextDocument *m_label; - - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h deleted file mode 100644 index 73d3fcccebe..00000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved. -** -** This file is part of the example classes of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License version 2.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of -** this file. Please review the following information to ensure GNU -** General Public Licensing requirements will be met: -** http://www.trolltech.com/products/qt/opensource.html -** -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://www.trolltech.com/products/qt/licensing.html or contact the -** sales department at sales@trolltech.com. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#ifndef CHARACTERWIDGET_H -#define CHARACTERWIDGET_H - -#include <QtGui/QFont> -#include <QtCore/QPoint> -#include <QtCore/QSize> -#include <QtCore/QString> -#include <QtGui/QWidget> - -class QMouseEvent; -class QPaintEvent; - -class CharacterWidget : public QWidget -{ - Q_OBJECT - -public: - CharacterWidget(QWidget *parent = 0); - QSize sizeHint() const; - -public slots: - void updateFont(const QFont &font); - void updateSize(const QString &fontSize); - void updateFamily(const QString &fontFamily); - void updateStyle(const QString &fontStyle); - void updateFontMerging(bool enable); - -signals: - void characterSelected(const QString &character); - -protected: - void mouseMoveEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent *event); - void paintEvent(QPaintEvent *event); - -private: - QFont m_displayFont; - int m_columns; - int m_lastKey; - int m_squareSize; -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp deleted file mode 100644 index 95973990413..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/AbsRangeDivider.h" -AbsRangeDivider::AbsRangeDivider() { -} - -AbsRangeDivider::~AbsRangeDivider() { -} diff --git a/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp deleted file mode 100644 index d5fb128642d..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "QatPlotWidgets/CustomRangeDivider.h" -// Constructor: -CustomRangeDivider::CustomRangeDivider(): - m_min(0),m_max(0){ -} - -// Destructor: -CustomRangeDivider::~CustomRangeDivider(){ -} - -// Insert a subdivision: -void CustomRangeDivider::add (double x, QTextDocument *label){ - m_subdivision.push_back(RangeDivision(x)); - if (label) m_subdivision.back().setLabel(label); // internally this copies. -} - -// Get the number of subdivision: -int CustomRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & CustomRangeDivider::getSubdivision ( int i) const{ - return m_subdivision[i]; -} - - -// Set the range: -void CustomRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - -} - -// Set the range: -void CustomRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void CustomRangeDivider::setMax(double max){ - setRange(m_min,max); -} - -// Get the validity of each subdivision: -bool CustomRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png deleted file mode 100644 index 662e77317fe33d71324104668fc0493dc342bc1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 zcmeAS@N?(olHy`uVBq!ia0y~yVB`g|t2x+!WS-pB1O^7C1D-C9Ar*7p-Z9LRb`)?u zDEjcXeC3m#PQ?@XY7u(7wCbJRy8HfJk9z&v>O<Aub+31=+d3_7z5Ip!+v+$aUZ2nV zaYTPf+<N=>u~H6`^n2Co6~9*fjjWH=<5l?e-uv-8{W)>#_kTZBvA^^WlfkL=(~sSa zx7Zu^KXR`(vq#+?6T6Sx%dfwF57PbV{L+snL6Y_L?=LY-`o8pI3t031@=S)4zb{oB z68Bqw{r>&kCJjgCwZ*N^e|t@zDf#B*3$MSv?R_gGaS|+;FT0<iC&}M={q^PdmNKe* zGx<_g`wD0{VWI5pb%GM7A%^5kKi~n@TK)P5Yl29%RMlR)uRtGdT)y!7>tLYkga`^n z@BZ3-AOd1Y@@^KlO(3neqmSz|EWQD9^GcwvI&FFP#?7yq&NhLd(EVF$<5`YD43WOA zYA^|;_5MApI!1}3AUFGi!t+h$i?6?~zyb)b(6zk3N(R#)hTPC=oCwzX?b=7~0~#cR z89ZdSm%SEm+z2t`SQ%$e3MdA)Z|{p|a3dki;32zjYxI7Oo>Z_Q=G(jzR6xPKZ!b6r ofl}f-dq$gfpoeQr8lLFCxV!1b4&MH6z$DG!>FVdQ&MBb@0E+j7c>n+a diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png deleted file mode 100644 index 2eb109a0d751f9aad7e35ee088dcc7913cfd8966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 550 zcmeAS@N?(olHy`uVBq!ia0y~yVB`U^t2o$zq*p`kZ=k?iPZ!6KiaBrZ82ULIinuze zC;j&}3z^?^?08Y*0pn1vb*Gi5c)T}#{zvBE@4s@%J%-P9>htpR|M!2p|6XQo<7y7J z37lZGcb>lOe0^7jx~hFTp_~f8E9}<P<^6m+zx2)9w}01g{ZVXUOd*KgB{Fye@$EZ@ zH*DYj9@PSfHCV}=?Tk7=oKwty_};yJ`-``*ty7Y4P$Pt%$+2yC0>o!+d8(^_|2ub4 zYDZTB!%TvxTH?SYAU6AM0QB2$YxnF2S_FLtR4_1})4hL~;e$LlifS2;=3kj}KHNha P82=2Ou6{1-oD!M<OjW{` diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png deleted file mode 100644 index 68a18666f588dd6261f243bacf36218e0f9095db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@t2o$zq;vM!MxelLPZ!6KiaBp@IdU}z2)G<H zeDcqI-V=t8J53X=ZWD|#J)7Ql_b<<Z&g3)^mV#HM-}xE-zh16TR$gXqKjHM#^CxvV z6e^n;Cb2TAAfs}DqMbIy+)N(t6dF<-89b5DN!gYdz4LdP7$#YBC`1Z41R<d!cE#zZ zjkhZ_JmF*V5M!Ajf`slko_PA{4A8orqt?O06MJA*#qZ5vI{%GTWaezE+eLk)z}RN+ MboFyt=akR{03xWJ!T<mO diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png deleted file mode 100644 index 7db91356386ca40eda4177d6775aec58de1a34a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631 zcmeAS@N?(olHy`uVBq!ia0y~yU<9$NIM{%s`#jk_3=B+mo-U3d6?5L++Sn)JAmHp+ zyzBq}CygQkJLWc)guc98Vfy-Q{`<Y}88z%CKY9H4asS7?;<4BFm-$b!uV;Foe*a$e z{r}&3nLgb6yoe!he@)<??{z<8KUo8nq<vq+;Ah6QU{fH&<nv<xr~fZ3js0J4yD^Y~ zS(-KArba`jHCOEQ^Y2_4=j4buq%LMqd#6znyM9!`&<Kb5p0D1EHOOn#XwJ>#m}~}2 OPz;`~elF{r5}E*`oAv?# diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png deleted file mode 100644 index 1eaea6a1badc95f6e3005fdcfc4310f973d37ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmeAS@N?(olHy`uVBq!ia0y~yVB`j}D>&GI<kKnFI~f?5(mY)pLn`LHy=9oi94Nqi z;p3#=@;}w5`rb$j;n+0cyH(`gpVlu*&;6V?bLYD3w6t@U%BMH|u|9t$hFPHEZoF9j z_xc&ud*lAs|0?dA&N|`euKypV<f}wZn?E`Ij!wgc=V>3m0r@}$Ywn$9>Zr*RtN-h( za{5#8=bqWD0-H8pc>Oi|eH!DDH##YiWt$nQ-spU(s=ZPj$slOW9Xai;PJ^5^_ujbu z-}1y9&YW|amTJzu;P^SG_1E3^PG=R^xOqbA&9h7|HjWxI$iwC*<0jUMXDe3bBmom1 NgQu&X%Q~loCIGnCLWckV diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png deleted file mode 100644 index afb3872640a02c618628d72bdf55bf17692db86e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 562 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@D>>MJ<kA28^??FEJzX3_D(1Ysq1boCL4f7p zrmg?$KUEyO=)H$c@Ia8!;=tAGiqCD%{a%}Y`<&(FsMoo_e>44geCu1z{`!?$uIayF zY&oADr?vL$>szdhD$*_2c2zSRWLvoPT$v-oNg(}B&S8UN#@fxX0uGyi^lo;69D%6U zIpQo6K=eCC7N8cZ+oM|P7EBMVp4;sI$N6CHzGBDTr{_JEMg!9VgQu&X%Q~loCIA(h B>k<F} diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png deleted file mode 100644 index c1eba0eedf41689f3c1aaf66efa7b8cadaf0ea67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 666 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@D>>MJ<kA28^%)qL5<OiULn`LHy|pn*J5Yc* zVC~2M^`ER<J(AtTmvtR{Zc-Wbwg02*_1gRE8F=Q^|F5u-^PKd1UuxvE`u}VTcHFB^ z+VkK4li&L5_5Sah7_{;QHtAG1Gkja8vi?bN-RBoyfAPOMzMjEz-v7VS?$e&0KdZ;F zU{mvj*I&1mJ2Fg_ZP7V>PocrqnqzO={ofz89o{IUMB1f@vjp691ZustTcP0;pVPF| ze1QY=WLx6azyJF~RG|!Lh5RONrWJ1#zEst|jTLZ6Wmi1C$($qMJfGA0>)-4Ca0ys* zL{8(s$;uc~CQ!9^-#4(O6H;$VvusFbUwHj>wS66H2gvgFH$XRoY>%%7TY6&C8(yXx zn?VlTE5D!V2+;DU&ShYi#;sq!7i?)t<Tp0PH(&?e>yKwl0$Tn_5#rMI*RS6LTM7vT zumj%%y}z+}Lh8>6V3z`I&jtk)$c1|y8LGh!{Qfw+;fCXhO*JQmUGPl$!%)!he(HmW Swza@C$KdJe=d#Wzp$PybelgSl diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png deleted file mode 100644 index 1f0ba1353ed491de62498036b331463b71decd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 573 zcmeAS@N?(olHy`uVBq!ia0y~yU<9$NIM{%s`#jk_3=B*xo-U3d6?5L+GUQ`&<Y95V z@qhnMg^eeC+UK~0-r~HNx#3%7?Df}-ACCU~%FpmF|8KyYV!7vU?hD3V|Gzw1#Gz_e zAj8o`440le7jFOWvTNP_73*0Ob_6n<T*NS`Tx8d}^z9lAPuv()x|uxg1-{sIuU41g za4(aG80&;Ri!YSg?sjEVG3Qc<6mj^}=XCw+yKF{@JQ0UYKs~ap>t5f~<x<#*FsnSC z`#`~BhDks@?=?zd&*uT95N7TD9mUWl%{oDcOQF(z;p?h0pp{5w-M!9aa7Uvd1*pfG zEB5+kpxcWOX1(7h*6<MF%z1Z#&POuq`&I@XBxk+>Iv>fb-9z2W`9_CVr5b64lmU|k NgQu&X%Q~loCIBXd>iPfx diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png deleted file mode 100644 index c8c5a8e5bb0838d62e9d59725f979cdd8d19c004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmeAS@N?(olHy`uVBq!ia0y~yU}OcdOF7tpr2FA7Pk;hzJzX3_D(1YsWyt4bDByf> z!teP%ot+PA*D$3;E#GD~DgONDJ^Tl*+diLD{eI{7ckV?y|KxxAEA+!#|33SJ>E4VS zOBq^%7@Ra27K$`%2%d2IX&KjnwB-yfqcYSFgARTz>G1h?xU%;E<B!49)z4*}Q$iB} De}S{{ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png deleted file mode 100644 index 9c6c087f8c5346dc6d6e87119e95585b822604b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 715 zcmeAS@N?(olHy`uVBq!ia0y~yVB`U^YdF||<eZy*&lnh(CV9FzhE&XXd*`6n;Q#@L zi)LT`+gFw-GHOS?i)NWzbk6UKSoq-yQ+A#|bDUS<#=qb44C@|${M(-UdzQTM<}ZrX z+b_TV`u^r^gN8Smhi|BR-!=L7%X)9z|9N|PnNPf1e{WJuA=9g`zaCdfvrX80$Dk~{ zs%!Q2*ZnWkkF_zDu(3^$lyLY~@%6N^-O{VCzuud~ApYTX^dxP6hrMy{XU{vpX_G5a zYV@~c+V>+>d;i_I*T$Fv(eq5MEpGjJkR5jpUwHj>=k`Q~nbi_id+oj&ze{A`=HXE= zHfT6w%d<Cbel^hMo$U*+zb?){%wY80;7e8QyIcu}v;>Bkjf^Sp5?_4%bqDBtG{wR8 zkLB1l95}#W#EfCbcQYP^Vt(iK*Po9%h-x8psg1E<cV!!+&JPyLl}V=x6jk2<6DfnI LtDnm{r-UW|0K`&W diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png deleted file mode 100644 index 005dbdb99690b4b697271b2f6b436a0a38fc4dd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 zcmeAS@N?(olHy`uVBq!ia0y~yVB`j}t2o$z<cgTGCI$wk1D-C9Ar*7p-Z_|cn?b-e z@aF&jXT8F;M7(xNHoh%6caybd>D(Ev75$%W_Rl;2yin$N;k@UD3$MTa|Noz5mDPrG zk8RGcf89U-Q|sl|U)R5n6?6D>JhkxW7yUVL>+5UZZ(^9VKTd4A|KCF|zy7-ZU5{Jg z=X0R+7O-^e|KFC|vl4nsB4h6T1?kU!<1V`4+;+Y0)3^5*RPFuubnj^<54Y(@pDwRc z{95(*d-ZhI2{wM!VpV(Xz5tEdm=1JDFwhPmu+Ucwp?$W`!+6&uo_AV*eS2L9<Leun zFTDP`R(daQ#PNBpaqIK<%kO1{F#SO`y@`DB_1Bf%It@oavRH)j&+iOn&W4yGA9}#* zo6eW2+ShLR%-6t9x&7WfpAo{u=PEn6LvI)7T|FQLF$L)JK3nd+arbv!yxmX=cFMQk z7o(v}e6B(`^xK?h(+zE4Q+@@qu1N-aJnxHHf-ES2_WiB<A_ie1oPf`vgE;thewCkd eKn|3gSeKrkd@#?J{Rc2fGkCiCxvX<aXaWG=gp#TN diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png deleted file mode 100644 index 8794e64484ccbec0a2b5f41b0ab2e6fb6a9c7657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmeAS@N?(olHy`uVBq!ia0y~yU=#+jYdP3}WTQg68c^V(r;B4q#hkZy47r#b1za6t z_xzveUR;`b;5tW;=sPuGTdQB!w_f|p^kM1a>--G=nrAR@8ZrtcF{vD3@whY3UZ#B? z!~3;c{r+pRPpH`GV>gxkLC<Lxj}FcW0>TQ4Y7S054K2u8P$X=H6J`VP99v<9hej|% zQB+`RO+3$XBkeqkMEZFaj~)07N7j17m~q=pW5#1ZETl)+T@bC`d>V3rxDbe2hK`py Z*%O;g9<!df{S+9-44$rjF6*2UngDPdoFxDN diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png deleted file mode 100644 index ba4b2cc894c76118882947ecb1df3d0767891caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1654 zcmV-+28sEJP)<h;3K|Lk000e1NJLTq009#K004am1^@s6fgpz_000I(Nkl<Zc%1Fs z+qR=B5Jq9yBk%vnx-Ytujs}rK0aeBPE_<Z26yXm7V%Ycn*dBxso<0(F9FJe!Ma}Wf zI#w%c>j2jAy8eS?rMZ4rO@kd(iD@iAn{e=x47irt#9Mz*e|jbW;tkMJ?{!8WfiM9g zECq)agbCnK?=Xz@eE#eD7Xd7TFaaQ<_%`QhU`N}%X6ksg9V=j2a%xy&L|C%HGK;Mb zfxMo(b{Gv48ZBxNEdHgk;paAoAVIBb-6353$jJq!hSANt0um~1avE}vGA`{{aGQf+ z2$i%^?Jjj4T8@F935Ge2gFyLf<_~tSzfG86D6fG+Z=Nv01lAv-dm}*3qG1w3pr95s zvq9gkU6^!C)c<nyOcr3_SO5DMXUqZ-9%ngae=Re@#5fB<QL5)TX$_4TPx-bU!~64} z@V{G5-%{w-EBNRNXT7|DZDZR;07BS;0DuU>1b_&_1b_%;a}cHZ9Y@fKFj-8m@pgj5 zuiSM%goz_FCgx_Y3Go_W8g@909mDs(#lFA$)UcJAXX_QyOORNpFZkoT4utoM%kL@% z7dMZFFdA{K2oPMo>%`|ahYR{lLtxB6fFQ@RV<xKxLka0JB0zj|9VP@uJ*l!IK>WJa z5wl@JP@G9MT0#UdIrZX|`@uI2o8ID=rt<Q#liD5cL0NmPcxo7EptbqT2ye5uIe-S9 zdR(n|&<}tJ!UTW_!UTYbWyVZKzx;_u_^}!nVUpW$djyKs(R`qnyE-2Ylcz_GN0V%@ zsX!@NA3=!JvsiW-+QAGZ*Xp#+#NtKvM&n!caAqx7MqO7Iw>h48eX+MEgl-(OIoP(1 z27-3<OcdcI-LQ->QD8)f5E$r<Fqw!DfhTO+IDv*Y-lLq>y<W5|#-wL5fTbRYm6@cX z^$*I<N!#(1xE}jyO<L}LCj8pvvs_t#QlFP}u{jceR>yI$&ICZa5CUNWKn7s~Km=g| zKm=36K!wtI3oUCwYUCa}vpKk>t!hX#NNwk2$y51<ecx|Om-P~Q&<LPGDie~oIhrf5 z_Mp>Tc0dni$4oSCB1C{-WoE-<+jIm90RsGCI!v~0PM{DVz^|V$>CrHIH@?q<MuS4- z>F<mPn^gnU@)WCgr`a5>kIK)!m1*^K&eqOP^BN1x^9d6!cz-4D<pHc=IsHH(gj0AB zB=E%i0IWrX2t1-^0zkwkOc=Qa(1M-`01?GwCb>Nr#s$VX?GT<QcW+a=J$lpH&snpg zbtbhJZ{`K6T_Kw~*A*8|X?<r5#>lz;Vc+*7x1v~D*;%ttto8h)LxzU8E)6}T;+|~D z=14s&w`AdIXoUQdqm+gKxhkoDD%P2JY<Rij7?4MK%LyT5x2vgPvdT7mETiv_@|-U_ zOtigh*+Ph<<PHp%{4(@FBSo&PFd<0#C<&C<|LuhUL5;^Sk*u_<+}4ahgNHUlHk76( z0@x%ro6~Z?ZoL=6FF!2EX(P3Dx$8O;0JgO5kz5iFgb9EwPf?*_(Ha2#o@N!<f&f6Z z@2yA)69COZ2!sg$87~d5*hJdhz!%pIn!L8{x3W@6&$Lc>5i-75-^K8>(^~Wc#uuL< zPHTnyM!l&s>)J-AhCS{tf-|m-Up0H_NNkhQ?ZxF(R$#uCc32WH$8r1%6G8;QlT`bD z5h7UKh%ts0+DG$pdN%3lYlTWU(yTgF@^>{|^OB9Zsvq?0b;1P5Jx!I&0?&16_U?z# z@f4mK#y88=!E<<|)LgS3OFnpN7$+9T4^|D4H!bH+m|(c?%CGG$il|4JU@F4E51twZ zAc8OfP%L(PYUVb_@+?Csy8h7Yt}UwG&t#<l`Nm7np;dA@{nH09*NAIFVBwC~OSrHG z0&888*PbxJ5Zt=y(&Gn&Fu`y<*ELViUMOJ#H|YI5lU#j#MVP>)(US@m!%I3?2opd+ zkMJ59P$m18+#yT=rAiyKbogAqj~AE2J&U&(+a}wa8BqpL;X;^TI;&yODs|qepwUuZ z*D)8u1XE~f5L#I)pAZ6JGQ+5fGV?JBYmEWz*aH@T2=+4pAc8OfAc8OfAc6r{xT1Xs z(DT4FVFFdOhe0dp^&^^gN+e7$o%aCAWxX8!2U0;H2Vv7zCjbBd07*qoM6N<$g5CuE AJpcdz diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png deleted file mode 100644 index 89f554ae220f2a18ff7c72d8a3fb27e4cc9e660a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@t2o$zq;vM!Mxa2ur;B4q#hkZSHVQTv2prgO zVB`N2{M-+$G?#G3{G2tjobk_&Yf)^Be|D9#GdwrqP>^Jqz{BLh#;DTFFv*eOq(VcA ofWxRT`C;;M=FGdi2Nv4xe9ZAY<4GhVFlHD$UHx3vIVCg!02PUEg8%>k diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png deleted file mode 100644 index 9791ef60fec27961f9671f104c92e6e6eba2dd23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 zcmeAS@N?(olHy`uVBq!ia0y~yU}OWb>p4IqZ+=cAP+*Fui(^Q|oVV8uxehb%usBBl zuire!Y(uYSGJD!D=FskQclYu&=zspgc;NRPuES?!jQ5)#xp(j1{%>|{3N4Hri40B> z4FaP~vcuugox87JDmRpWG-OcZao}JUIK*&-UCf?y{SOym3t%)cc)I$ztaD0e0ssmN BYg_;T diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png b/graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png deleted file mode 100644 index ea0012958c317c53a572877a6f1b49c6df223c74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16048 zcmc(`XH-*N+wY5rNEJcpodf~`BE1uO66v5w5s=<HNR>#DDumFa_l^{)f;1^orAtRz z009B%1VVDS@B4Y)=iU44J@(jN&RJt5Gi%Okww3F*{#UZ*jMCPGkdrWw;Njts!=TE# zczCx8@bK`hiEiKI$Wu8V-6X_rP(#m~6#Dl|b-+>X=0m5p`ZJZAl$4b8!Gi~kjEroI ztN>Ov06RN37d!7Gc3xgyK_L!dVPP=|fRrpyT3T8j!l|UBq@vFC^chG^O-<8)Ti1kJ zPfzceIgg?3BjcOH@sYVZucf7>T_C@sqoYgcWA}*1o;OFdfM3FsfPjFYRKegZ!O+mq zusordn3&i~VPvgHVq#+QXVKIzVi`9_r+Dr+@q&Va!eNP$G0BRGin_YGFJHcNcXtmB z4NXo?E-Wmpudna!?w*{SV6j-e3T;_DJlPbOvcfap`8^Y2%Xx{(MnN(6U;c9mRv$z( z5+7?kRa3GYj@`rIs^yj#n7L@{e_zF>7ZY2;5U0NPnAZtKQ!E8;-Mi%xc1Kb%u7-&m z@|7~_@**B{*3maOe!!Yp5MZQ@V1R6%J5qU^Ec+R`S&gygffZ#H;bB;!Q=)6iOTY=_ z7h;T+oeK5$+0@Os-LCdc&W+h$M%R=a3jZ<p2=o6t@1JV-iFf{Pp!BAR_<uF@uWHC# zmcKv!WiI)zhW_1G-v4D${gb~&*rtxCS-~xY{5?}Ph(SC6MMUZmrs5$2OCYv#LWa+& znj{W5hUSV+ic%=n!~%)(VaGo<o~+O^<9)b0@EN@$L;j^Al#MbLHTQZU>n&FStf9Hd z*XqsVgl-QM8}Ux9xMQmflUv-qw?h$y%kQmfK7QL)h>uil8EP>tb~<IZG#gI{YW?2j zr1qj}M}r~OAm_P(Eh;!Ys+Yt=#mD6CIt!Xn<;TJ;NoYSsMb!@IX}OeEmk4c6q_ka6 zavRG`O#G7!r6)4Mz%tWO9fMCSB74Vn@-2H56<2cWr9Pt{N&KGbJ~CBV<Js0Kr{8{~ z97LZ|x4Izd5l`^@Jjir|eh<Jpy;^HT)&q(LfUB;=R~!_(j5nb)KVAaLj)N&+_f)xA z_mKrH3?M(|6mNQ=xPGlg)^~nw?a(fHHll$7#j2HwH>Iz;`y+#94=m3xf3$!QrWaPL zB+DVYhR~`;hJhAi7OSwgmB!XKqzfq#fJacs!c%r`Yu<phNW;`@Ng;x?ajmrTzO@HM zkU}8Ai_hSfBKU6cUd}+-cUGE<T?(qusWj^iG2>@CJYZIravj}s*9!I~?`v~EUP+Rf z4R85s&ezzr79-QW!~*)msk!{=$6<YBv`s}jwl$^t?7gaT!AuR)#=#Z9nGX67@)PC5 zskeR#Lb^U}Tu&$~IwlB2d)83IMV^z|JWM%3WbmnfIFXL(G#nly?@K6v(P`v=|M()Y z+8M0Qb%p9zPz*7&7=nRy9$&KQJpR<(YTHlQ-M}e&9;U{&Z3y+R_X!4?LoYyq-CKB2 zuPi4oK2I^_iJtLCQE^sQ_lc|Stok$4pok>9LYT}I;^F~({ggDQUme3bZUpd$xt75m zB2ZKsreJ_uGP|VL;O?~vTnB+w^Y@a0Irb@!yW3Iz!^U5(`(Gqn|Ie9!@pTFK3%Xy3 z{{g!H1uOr7^<Rwr!|y+p|BKiEp7}qu_&;>>57Yl{^Iw+#0sXSz!xez<0@wKJzvlkW zr9d)iOjubAXN1@-zU0;F@=_2W*=os>9nS&@C@99)5ihgHtDA-aiDs2Ccu-}4U*pni z(6`0L-=hqU<oeH9#$#v(+98|opgTeviAT$E%KS;cnWO9qzkJ+P8Dt52{|3pbZ`k&| zYro~*H=SpKO9Q<iZ<FtO{yNmt^nR^2x8TvGUP@I5QBu|1JPNh-NH5U@0*<+<)4fPf zl!9XQs41dw;l0&5{e#}|pMA>pObIQ8&X%!}n4dY%ggriVdx(APwiacby3PzzM6D*s z3iGu2Qb*Z_Lp?pN-|+9W=F7YT+Cph=kIzU|hOrnzFHQ??v#p;0dJn6hJ`-aB(k3>= z4Y<T99<ha4ymMtDCnCTSQ^vInpKYFAauDARhP*VJuLyBvP2&Py`|)GO4^$P0_q7qQ zdI+#{nm>SxC4a`8r<xr;)C#7_nIhxwkfC?xeRtOs*MdCc7}#;!g>c9=gj!wM0Oxl5 zfJ?inky3RZ7j0r%o-5!|XK0&#c(Bd0@RdL3mZSezVb1laY5ImLM=E2|YWPO~aAe5{ z&GQprg4`9s>mNq0uIF(*42fyKUa+OjIH^As<JxGG=GtJ1CwR0*4(%5jO@fngSPV6_ zJsD70@Ouj1%u!ExvJgF(_#|C<!4R>S=zi@O%0LT?;n==Hc2;qj3)#bf*JdF%)XaiV zTTXlLVXhRG`MXvHmT7hD30!gdFfSk=6zaxLG_za72KkGZzwXd~;d66}bB~ML@)b@g zm;nSDFi3O-E68?*{9A;kIQ}Le@h><2-<7O(|7}kCU%bTp?erQq>O%2%Cf|QC#Q(SA zh!UR?vC^DCN+AX}mj8&3(ckjrK(#|D_qTaXE?6<{?{@xE=N}|*ivQ6x?SJ?4Z#r(~ z^e++m&lJ(*Od1JR`1GV9b`viv7{bOQO{dbgU!N(T55*JIV;%uLKexl&Haa$=Xe&4W z(jR#l@3|b&X@;L47I^)~Ip)s$FXB&ZzBmkDMJOfELtDNvcs1Bv>&E@9KEIK}v$SaQ zAC*mpvnDfNC8GZ&EkNTa;g5A}(4)8D(WA@k(&Okgl?1<dr+yHlQ9;ubG(YVfu)sS( zmYuz=Hl>a{R8-6UZeTOg(*M*198nNouf9(u*LHHFF5ml2?hOSRL<~6y-p>hpVcue) z<@!|MMvS(pXY_<6_-wmp@chLRVqnR(q5(<i$i+l67yGOkHXdi7pJLGN@{4Y{I`7ql z*PW6ashgoQ%cqPIBs^5X7EI**>i{|W7wbuDWXJw*kYT}e^z8i0HL2H%KyTU9A0#j* zcH;B*h0?@!8P@$GK2t><^6C+WT@j6sg(2YvbpD9)EujNMFGx^nR6y%Sj$+ALvEFv{ z2|w$QQ;atKvl|0nk;8ya%IgRpeVBTsl7~nE)?LTZa!}SA*ZA^YkIB8wACEo?%z|cO z95|Tm9NXH+AL%9re%&>T(r2?*0A9a5;f?2$NQe&9U5@+Vd>=SNMqC!?ejnJgfeb)3 zRuvbA$&uF`MI$tKYy6c1O`jCh++btWQ{i-Fo)D9LoYYJ9JF%A44XzBBy5T0nu$s&4 z&*e-$HPl}k8K2W68xE|Ra#rv1rE(sSWg>x@2;ehR)TFZKD#^>G*XK9)cp1bIMUH<O zp1Tiw0I2{<B_I`mpJ~E&z5gBH{I__=ZaFn*rlT*M;3n9MFL>krkV!$Z1u2;>coU%+ zM=-J9Aa{e?zmio9(bkRY+wJ}pDE(F8-$^Fx-$nob75wUu1$XJPwpDhA+zj?V^Sm_M z<kq^0<@jpQq#<rq)^`i1m339A(WWXzw~9ossI`9!mO(1L<|N`H7+J>+vYnfj1~lV# zRF2dLzbOj!Z%2eK<Mq-f8n*DbX52k`m8)!df;RXka?31mrm<O&qN}4QuNetpOOLW9 z;n;Oa<)efAwqI7;HiD+00<!p@`?L{q@3tv@LQc(v#L@+K_Hq6d!7Wor%7xs}qHu}l z-*dT5QDNS3PZc8xD|<y9wN(f%v!PGC(=Eih9|O1xYpHrsxb+t%8rmL&8`%nJ<P`6K zR<||2tgcf%u0YENf>9SD9zED_Ym)>mH5b<#C@9|rciyL>YUZ1@{rxq*UOr%b_tKy2 zOQJRv<I@H+ZVe_%qQIBmDl5pp(vpisFth527x*tZu0c&w;~JB@v=uw3fB%@a&TSK# zSLOV@|3V=Ts(&Bm!*kQ4?gu}3S381&<mprvB@R05Tp=X6vn*s>^4O_zXgAj-S(LsZ zX2C&n77W2BezNjnjv5{0ZXCT2Oxp97UzZJOhTrENNge)@vB&S2jTm}mTCI50X4G&` zN>1wR9#lqpbU4*qDR7;TY#8{SYy9<e#lTD>Ef*RqxdweS5iGA;9YT$6-y6DVFHAno zllwYUe$`S)&r(+_->Wx$Yh5w_&V+OJ#6biTtBE)x^H3%^QpCOfX+D6SUOB{3;j?MP zfAjsnl;n=&CF{yBqI*VnA-7dn8nNGTMoi4Th8F+;&&78f%N!u^J@DEk8`E-qRTmT& zS-9+cz$bs}5_oPe`8W>$1SVGzpx*dcJ_iNYjRV;bje$fB7XdMC<FtPRAp!0}Q;s0q zg2Ijg|6=6ttV@pne)hjG`2QyBMCE@sz`y%%{{<EVcX`zRzm=)sFJ-dOTn^zb!6~EG zhsz(-+e|+TL~!~b3CQ|qZv!(~??v8?x~nAXz*+Had}#<8<^NCER<6`wHx3`f4p-Je z?}>@{%_wwr;2hZGfYuZirN5f~1`XoFil@@HUt9HoC%{7ZOeH9_<bC<`4}qio!Xg!7 zOLje%<%*XuAyR{~e`yy0UQp;id82l2nfOrX$pSvroV@=-=!qDcDX>EQ9%1j3;`}?I z;)6RHG&aWhf#wN`2MX!nJAax1oDw7h8-<eHU14fmDXi7`QeOlP=EnGR4~gMYmwuvv z6$t8sc^bvCh|psy^b&!P6JEjrX(TO-dX}y$!Bbg^RsZ~2>ZShit?PC=Up!OwPU!b= zS5#@0s)?+~ZVZr&j%Aav>t$e9z&)M<@6ICEdPy?a&?$rjio%P!hu<@b3}v?(l>Y)` zO){5_t7;TQ%gs(}#Xh5MU7S8umnl@Twn!LnoKR8{fX;#Pw{*o$&+@jZ?zRpG`uDso z>>!KuQBSQDeqyCI$GKJd_!w&tWb2*Sg#Ylvcj&M@pJN5Szldg0#l4+r{{ZIu&X21% z#{OtUeg}D9-b8&hC3%Nz<AS$ud#D9J!y~%&oRUpv;O)!37yv~=ZH_QmJtWxtXOZCT zz34!<h3dP<4%E>HZiPnGtYz}OX}5?CZDcoCL)lC|tsv(|{HatE?Y?X`s(RSXf*5s! zXJ?#qE(c`EV?&iyKjHOXzQ8+tA7%Sw2Npy2@H+S#S%#FB;c#dB?YG7xHRn=qFKeAn z_!h@kx12^5bgxO+wAj&{bZn3c)Bp?YVcO$+h;4fy5MOKS^g!h(hVb@Gh+Ese|3rcP z<G4CqW&sFwZFgUu|J+tbQo#;1XL(0Lq8!c)@#>W!GPG|n(ot^D=Y~xHH;NYaZ0b+^ zQLZ^jq?cQ37V<;XJTot5W@eh|$qbu8)?Q$S*l+dfb_0fK<3c6Y3PTA=)cm{N{K%TF zJnj3$d)eNaSJrQiuvV_;AK(90yexTVs!-j^^}MPIYCS<<&kgWN@cv@|REq6<!2yZ2 zT4sXn@DR7jP%Z;>1)~h?$7!I9Clve&{R?G8&4o#*m=Dg)OD^Ikj!GS38KPH1*wWfH z_-Se>(j3@82lH~vPt9EcdK;Ppt*?Ws1qjuih{QiMVeA%5=;neA@~G7@J*h8zSSbN} z3}Fh#>&&K@=7)3p+J2j4V<j@`M`VJ&Qh}n}yf`KEwHVo>$O9L9bY5UI=##ykBqSXJ z?4AN)nE)8lF8UF@EwNC&HJ^JpomxUJIa`!Yy^-iI$``<5RkD~B?sbF^?@L6#n~8*j z$iwJDLd`Oym7NW;N0K9wN!CF{JJu=M&MbigipYo6^*rBBM~b`!dN*@?Vt*~MQ;g9H zWhv5Ou#XPovKP&-{P7eS$)ytwghc0x;%Wz@JyE}OxKBzsd7`PTcas=Se?bL}`%a)4 zExg7tJ!9i}989rAmFo{F6KFz!_Pf(5ECaTjI^ij26@1Kl>N2D!I&`FokNhpbL~nHY zZfP*20*gMW=!RCRorntwC2<r%`4bD@imS94+?ndHP<e?=Lat+;Xc!s#6VykZedEi@ zEzNk{AiZWp;I#DPhkTmUMr`=eDh;A(tbiUg;HEmr>?g4%_lb0h$c|DwUvNxc8>mJD ziwA5Xb@!1;QMydt!IhKIJ#<gsrRk(kQE`f3kP74a@jxCUVSb^d_`(SLafiJIZ+=ax zE$(24sdr2!bSZJ<3zhfi-^M%v5RSydCZ48Bg#r|GnABXAe|!Mbv<kzJzbrZE^V_sX z#VIcf4HAI2RCXK@R*w>DyqBKMwp1a?o+Un1$^kA?HhF6!8;ys?U@z)FeasxoOD=*a z#v08}xre6;L#b63*W^VR=!^)Qm!Ra!26xD!^LrObcBbXxE|j{s2MddY>+J|`_q|k( z%jY)9kBh2E;EHN4%%-28YpmjBPFPK%vOg$veVRb$Tc~ZXizg9MtjQ>)7VBHs8Mzj^ zHZPT@x;XK*-?-0fk^VGExaI9gBso(_e=MEHeZPvg3K=a8*1KWi`0hStI>5C%)>|h4 zc_Z7+By5H6gz3NpaB`kL8t7yqPAy_+)B}z7UFm!dD@VSD4bKuAzc_lESD)N(11+a$ z@`_`*BaiTnC>zod2rZ8LauCe;1W(UaGtS0EyXhrQw3rw~<kfwqPc9nK^)zLhDtGg_ zt=ITqo_9^Cw1E_mOpY__<D_49nGDj@iz@RVodl~D6H(rARY?x>)#>>$KTE<_I})(X zMX2D^!ELp>l2ofTyF(kEav8?QFSg&y_&@wqS~VoOb34xE9YY#f8R+fxa}nZzyD+Nh zs!<c&nddi7`L;oA?+-gn&r*(bI7{d?$B9^o)LyhYZxdA_M;#ruKa;WODWavUOhw9q zjz~7)Csf5-e^K^RwrBTLWfFKEPc|Q#4;?j2W*}FOF3bz9pskfp;4(@KYq%Xf_5H*m zv<xDXYrXvL$L>6(=_7KMn%Bde?#5fHWSzs#E9D`SJR-kz*es-8?VbqTPh}Exof6+t zeL<+ABwT9A{y`Uzt1>_BUdjatq=%}K>36d6GZ*x`dGayj;kdKu)N~Vb8}!UWrwURa z2nmg{*XoU)_=h)>cyw8nT=u|R+!#k$0e0*jth7$bB?$;(mZc&i)_8ilSn4=@Lw!|s zlJo?!iQe~kfD&a_27-iebWaa7BTX%GO``kEiTJaqBm292b(!X(y(%B_?Ajxy5~2wt z5;&7Dt&G}~AwE&m@QPFgda2cDFNvlE(|&U(T`K2FX@XvXexb8Tx;%frf8lLc|A;3R zpWBiJyW1MQ=NZd#UF0$bI*nDxl8VTu3ba*!%EyM4={Z<2v^0}!+1I6W=WrPwHhDmu zoqx+PdGA46No}9<xII-J&b{qwx1HImXB_cROXKF7wZ1o^O#%pSr=GG`^Ks_)%}CL# zo(gUrSM&o^sWOHF=mqigO7IDtw?797MR&H`5y%95OVH-D+j}-8?-csv^`T4LL{<8v zQH<{}`*wqL88o=oJCnUl^)C6+px*4~KLUCPqo)W1+pg)NPI_y_7<Ik7_=E_C?YRz; zFEpM$^pXDBYKX!zJx8*)fSCNWI7R(TzkaHX{@T|w@j%KTNYuUGKnVTS&gH{F69<j2 z<@Zk@gA;~i?jh6Rg#7GECt^;r6StHY(qhU??6%)B7&?+|wj&vRGAO&LRLL0i5M(~e zOS$PC<)UmW?<MveK7=k;zJhU25O7mb>=F4lAb>NWd~rgZ+BUw$^^QDA^W}Kvp}pfY zVI&r?uV)IGY^S!(wUQ1EY%n&fct^6uX%hp_0$xjMqS=;DrmDjDu2Q*bo<$=lXeniA z?h@r6RgPEp9eV5{jLHmk(?yPbfz+arx$HlLf$sVS?ulrxvfam&?kPr;D5#MXwU;Ba zhY~@aoMJ4KEIzNdl^X}>4~=`%%e%EH!FDy)kAK8|mn9ZU|0zlc8=syiP=4&!joz&k z@gAe!PVQ(B#8*$=G)g3bb<WZ|k_R3d6TY6G)_IWcY-(dD^DB)C<aA%~_WSLX%pdFF z`q7V8NdlP;`Hw_GuBx-q6+hqpa2J1h*P_@3Rdu`Uk7M(bAN}J6(2+PHI-$}|<IjLR zRSxBsywPGIT;_Y5GEUko#KV@>V{8QnV`G3`t-7a0CK(`ks<bYA(GbUl6k1(PFV4@% z4o0T5A$bpcQv3tC#l>SLOS}gL-f;?q-pvA~#vz=9N(gQh{z+z@IQbRlQlyhTxxP_h zTOyOj`%(o$@^9%`=DRIMp|w>g#}5PR<x?&YA;pi$H1=`7xs7Ei=E-@|U&blE+TmD! z%52sDQnRfse58L~um+aCKnBy>`h}$SyX^ziV6O3scar3o02xLX0;Fxr*o82Z0w#x? z{AM=a0_?>_lX!G?>p}{s9FPr3xt0<dF*+}eY14F=XT^68ouf$GnoB;=xm3$usfHJ2 zd>{VtOvuBdNK=I@oTY(Gc77wSzGz*2*IH16s^Rqn`yLU)NkZ0Uq-?>&PuMyLC;tY2 zv#PS6#vf%(L@-<XF?$8dFQ^^O(U$J8jTD97i3moa?7Up}_sS;aU!DJW;Oj~a5&Bq1 zyNfc)ir#rEPL&eJ68*?Ip%WMdc^$|QaK{$vKQJ-|Fy9i+QN0DReo)lE=}_o&z%Wt3 z<@rk0Hu>EE(tC=)7tpLyb<Zidb3qrd8$V)&e{Qz=jdC{00LEH-he=R0n(DJb$%od; z$l%fUsSJYAsKFSvfj`iBc9Spnq8NE-MCckdYYHyL2?ZY1K{B|?kje<U`+#ZF=(l>4 zC{75*abD^ZE?qg${x-{OLdr-5r0Hitqz$T4ERLpK)<X?}dN@7*;WNIlL2<D~o+iPe zqpGK2%3C0dSPg7~jP6SwqsUwS!W2Y7co$h-1JhSl*OnUPd2=HI@5n2b>Ysd_W@lD& zjhgSs_GV>kihh*33K7t>x_-51tI-8<53UN`XMNs1r9)nGO7#1{q_ZY&my&}1Ekh+I zB-w2$1Xu}~m=={NRMv{mUMt-VYO>3ZV2Z5dRWtW!!16JQ+U7lv#688*`S)b$3?tG% zZ_&Ma)<@I&y?MN{0rD6?xEcGlC?n?WEhfwRpHerWn&tpG*$LwseFNKHNZo>`k3}6- zjMDE7khg#Tkt@HgBM_j!y~FxYul|$10p<OPK{Po7KoO_<M)c~{r$1<bUyt-H-k)hF zs&4|YQcv_-4SU>NS??b8EP1YXro?UY#VLA+8(aa}bEQNi6Z{LOBB_A1uL_mc#+yJF zV$NCORf$C)qFvcgLCuHkJbW8^7GKhPb=?3Gs~`Ca-@+SfFv!`YG25M$;;=<{!)@1N zkuf*BOcDBw0MzEA`w|ZMN;Z?zIuTRW*iv(UV7HVK!p=YR<y&N<OBt=chHT43N$4=_ z<63Foz;;<6fgHncTg{A%-SsL)=NI$u2i(n~`5(8Zm%@yoK|oks<pY0Zo*lPv-K)g{ zBu}2kQbSvVcrAirYi#0{UemOLGVIYU2=b-w58iT2p0>XTjh=z5G*z+Y{+pwImklXk zdqj`qL}OJ2B8#AN`V<H<%J7etM4Qxr1olraz}E^c`{V*CD|h8%p7?o$>ds4D-rN*z z>h3?7bl<8ris=ll<lTJ|-|RZo%4?okcH7}uR|6Zfu<wVE`pS&DcWf@ZgStEkQw67k z**!n6EW@XM05r*MBeyuL0x`Ed(`gFaX#J(r=@taP4C#6hwJ%_a`~mj`BJT)qJ;XL_ z#O_y?j{H&euXyORZ}>3TW_V0rt^8-IIp3Ppw{ef6E-8?W0fS(7e;oZ|ui;#Z3PstF z`N>`Dd%SW%pKrIdx3OyFQl<&e#B5D)wln$z6T5WZSX3;C;=2|>UaYLFi@K@0dAeEv znFjQpKg#HJQ_Tcs6c{*ZxXCi4erk%_mHFgjxDET5%0>(?v<!D_mcB*v8~~~kR<jAh zgYO<IBryJ1OXFY|<*$`{&J~&9Bs-8=0EwDUgjTl6ZbhE|NZtw)S5JO&Vz(bdH${-L z(LgV#RJvJXgm~XgX8C#Km3v{F?-QS%8G0LGT*y-I9f|RH)lEz(h`KbGE|k6bOL3-{ zf|>-C%Y&nO?PAyVCqbzPo23rTFmsdD*xI1#yG>`AMJ>jFtUFFm)!(ldyyf7vSaEpP zatwG9(dITC;?Yl;V`raGC~g$|&XrC`VwcQ>Ie-^VkZQkDEYPv-k>^q9lD3s;5My5R zr|#`qDZPx(<`2N9XCJ!i%1i*SR{R2JtE4AN{v?-Wq%uPOI3?2y+C?)N({c(`9lNk< zEQ&s-WNC3M_wet*AiV=)`hKb-I09Vrn+i?>5_099xDVPM4=lD3IDEt?y_<jsJ`&AQ zlBMGPIkMPaha)*MYik_&uJc;cSKtTc`NuFLe=9yh`iN&6?u3>&y8+uzZk~#|g&YU; zBHo!m=4tQPg7W!kLz1Zj9*drOmPhwrK^5DYpdL|1bnuH%nH<M-zBq$$4~tQ=Jn`Db zvsYp<BS}y0$&J|PuVpg|I;lJ>ks!I9YQ60aU5P9&fJ&cTbb2g}8Ipv6o(EU%F0f|^ zd0<HG;)%*0s?2O^ez1W7$?0VH!*q#b6IdMgJ(8j|JREjwtB~I<WB{tgJ(aF{U9xMk zt|YDEVvs+|?PR|n|Lz<~XP5M}2&fJ$9w}G!v8oCnHKrvPV?E7V*oL`Wrra~>T+(V* zhD+D$NuyvU2*)*`p}+N2fy7gDm!g-~zx-b8eDqy4^#{b`(v2hZX!nZ=>bx@9Ti#n{ zEj^u>`YGR1D?YR_ao!~%(cZ|Nt`xnJ_P`RB{5XIS3%yH_&in1X`ReQnl(S`Q-7@<} zQaAf`-Fjx>>TUZwk0HorUE6diPXuOOZK6$r3}s?rF#O#qrJ)SMIaMIfM_2|xziFck z*v%xx2Qhr?HdfO>GWwZaHJSs~$qL21uiI-}*Q&QelaPW5TCS%lhqLoVNQ(X8zNA0U zHM7uyS%1dRWR;(^5RIy;;Q=JkmxwV&jm4g}-o-_ZrfE8LV^C=LlxMC&D*D^)*DKmd zQl$<~fA%Cs?uXXJOiZ6P9C6>B3VnE*e2@ISIQ!d72d#T4tLZZOTABswah){H5rr|N z=kL!OObLZTrFh+4_gMl7p4QKm!(z>Mjm``$gcZoR8fR@|Ph7~MSx>l+-jUsSVkzX! zcI0K?L#GENOZVMWE}8kBs10fZtq(r;W~3d4UPfHMW9t3%ey3$xP2*&0E)nODMR>$~ zc-9(g-gacrQtmMlpcXMDeosMBWnwf~tVqpo)+P@Tpe8zRy%SbR`WCDUoWs04c^9kq z(ByMTg@Vy(kNV+&Ih)HTt4B$BkWJWw^-daz^*2SE)hl$}Rj~!lpLlP52$olG5<P{s z^7bdf2@oO%&HTq8594pI;0M$FxQM=I8gO9fuIcD=Hac!1Fu|FVOJ$gLs{ESG3(wf} zt2Nnv%Gm|Auh<IBMaEyCjd@z%<qTKGf$Ob^7f-NMyx#BgNp^HzF%OPT2^E3N=b-XN zzchq+uZW6Sm%6Of0tg*FP?Kyf>-8W8x~hH=Z;zK`Dz)CQ(!^0|NhZz_40V-nMuq&0 zm{K@Pa3a^leg2O>roPXMcw1X<9nLkUG(wIFyBQo!rKv1V85u68VHWXqe8jryCcm^9 zKeOK-Bk$xjd;j8SmO{WyEt)I)!RWr_<_32-FPXny{*32s!ub5a-Ms$e;+A)y(uI$) zqJ%96>pRG3hRf@4b-9`ei^o-OGdBi$3@qLjSFLg~NZGhKGa2YUN$U57F!{c9W@R(9 z5V#yW%py7x(K3~tC<&etB>jAUgP6{xNIXO<Ce2;MNAG%u<NCP-uvypHU74CkUq^}1 ztl8S&%O~%U(eKyig~=6lKmEt0W1meEi~*zvX<VS-&qh(XWw-qae%5hA2$fgoH@{og zKItI#6DEX=FbexW`NLAG66bievOcy1xT{8Hvu0XXR6!<tl=(^c-W>X89<qYIZ`l9c zx1K=8*sE`B?LLK*gNza$9Cw6Yey%kGtp$J(Xj8y9-Tf#Q8y4B}OlvmY=lH7L(n8mu zY}!%26NXSp_=aHCdpa5ao-+$(gq7C)zGC+u2l<ptv7nIr)heHH;Qkjor|`#9wC}f) ziiDe-!Zo`xCGe`1-0mK|<Vhmxw-uh8HXM>~8@>`!IDT?prbg63s>Zr)%F5YgpGR$L z5<od;$g)k+J~`kKyfZgd{ZqG^)Z?ee#8&lg(g7)n@#dHDPUQvxkWy#=*V3y&i3rQg zs>V@$Mt_2=1X)W9Fr7aEg<LwNQiu6^|48NHsY@;=lt)ZoPX)C%+tLZcowqZ74{Z8i z$R+9feWm{jUwZwb;5FoJ0jd4Qd-S7M5m)vN1Xl0JI$t1ixxR8QMjhGsqrXl8g!S@m znOPf69r6L;0qfV@50)Luo7bELie1!LAv-nY(Z8pd1~`dT8`qdaC4C>D`UCrNGZ{?! zUpy$8V4gdu-gWc{yFAGQwbTq}9<mU$jlBBSYPkR!sQGHz_W&V*;?`i$Z>{V%wyJv> z`r}!E3xVwCjL)`Ngb5(OU&ODrm_z?0E71E6<X%;2+C3e9;XQw_)9PU=NTdl)Z`@aG z&cohGeK0^zNk+Tkf=ASv)uwgIZCIX^AqN|?x&pir`%%=N$$(yVz}IvVEklmLO&BZ6 zI4nwA4_adtE}ZYIbS}oe_xV}=;%8joL2I%Am;U67_Vk_h4;T0&5oAi@c;on9Dq|C( zKryLklreKUujkghlrW-o*=ISE#LH0Ok4Di_T^aAO)6VNUQGhGD-EVhk{8L;<-R4XH zqSX~4M#pezsz&x<N9Ja*wUz{nw=MO1Rt#J>K56>B{jT-L<|otRz8W@L8`?yGu(N=$ z*(d8Z4x`br-+V`(-07fg?e@(loB9r}Jz97f{shaf@y%fC@gf8V{o>oV4qm<RoC$BD zy83xg$wc|`g5Ds8bdcVJao^5vggN$w2x-KtUWql?f@vz`cVwEe{W~)K=%X?JtQDfL zl(VmWMRkyUf57#!BtbCx>{rjM@Jzaw^<(<DMcmNa2SA*_Z79<JuEtCdY3#uGyS_pC zY`a{oJreO(m12ws{LH~G;*~T8d%NP9m%gjV#cjiHNhaWs8<E%#Nh`Q3c*!xVFV`Wi zv<n9z`_F&tIOBiTAXtK}V}Be0e>-Ou3zclM*?m8$9`$Eq0xHDwwJj0+-r2$@-Vz{K zW4n2nYGwU$^~{q<Mls!X!CAaX(t)qePRBW1s}vZjE0FMkoLosr5UH-~ra;7b+<mL; zxJs0(&P(s-KFd((3Q|B8sI|jky~{>_Me_Lx9Yp83Yu%HjDSE$LTT~)TGuu}3!05?j z>rbx&%I0*_Ig?|fkAg@0W$~s|-+P2&TG<|GNWbGSG=f?&7G}`whT~KP(ump8S~=d3 z$M=XMy}to1Z3AGvPD4h;l_{Z57+C2LE8HJvp$7iS46G@2=1Zd$^v`D;sDFHwZOhDg zWDTAXMc0e-MLZ<wNSL8Qs6BeTiir9A>RC)o=9+@8hEN6Lk9-0leEEHHHuRXUi)cJC zUP8dz&rn4%k85+$-xVo$6CFIgU&+K5+^l^&%X%yxezT^BUD8EiK%iuCG6!Aq&^WiM z5D~=o-Q_WFt!nR`qNxj8w}%9C-*!|R?C_!j<#%TA-TQ!6yQ+l|x=q7=(tIqhc2f)i zkl))-Rb#=Um%HdujNVN(!WXB>gV7HM_03k88KSMMISg%!?37*?7!k-%(Bkvt;C1yC z-c_b2H3?*5rlE+WhhEJq&@q`T>JKR_-7M?51F5rmUMVqV*Ve{WF2k4hQLCzzs=?0k z_s(<+@Pjhvb(naArJW5EjFiLh^wG4R%5SpW;$A6oGPYJ)zusQwvP*k=wt5D1@~dFz zHIq9qnI+Nh!#A=*js|ZF-_MoOeA)7MCcm~;-8?iZOB;;dZEB0}xs&)LO*upU+s`GH z-jMG#vQdp0B22<Fvmn|iqk6&Dr@;46l_Ork&!`ZIWl0eNV)s@&Vzkp7>!es?hD*Q9 zAK?1|*IRcJ9{Wx?zElWCJ-+X8*O;Wx_T|`p19#xDI!76(((Ab^bht)`=`c0;{0+B^ zd?KVz$W{rc@#*USv?Oo*;gC*>t>?-0)yZd6uYg?#cMvUhO_XVANn@D{C$;2yb?1hS zs%!kXsk}pYbHFDSY82%ol0QrutR;<s<*0Z3uXn+6VuLZZ4Y<$CXC*b)+mtI!JX0QE zNbkwQ76lG-yt>SFCkS{nG^FY$cwMziD~Dc~-#R)T`tl8%V+X%fzETfrU&jV<2C+hV z*O#smUrTeDm2CO!)6q_T5#|7KvLAH;aObigd^ATp{CB`XXkO>O`qtVvJO^W!lP~IV zrcL0}b;R7AAavfLr=%;c;zPk&pC6Ma5y7v4jnJh5#PL0QcJnr0RDIA?F;mQ?SQsn3 zk4&Kl#cDb(m)!S}lmmzEI<vk`)wezB`Z~IBP!FdF;&P2S6JUKA7wroFmH?O@x?;6? zu#9u+d)S7jfO^MiOZ`A+sSFo8V1Ct0x?t<WZ3KUQ<$QU6uWNMv;9?`9Z<NkL>sE4( zBoj55P6cEu?&HI{oHH@B45s75!2%>Cae+QQ-5a(knbTld9A;w(R9w4Pmm`M;&C4Zr z;Lu)I?*JW?M~!;8s56{{XP}RnOW0y)PQBKj7%W^cXz*TQ%o%eW3y$j%O%8lrr+4N& zX`EtgA*)Y5$R{Pfk9@FX%h>=oTy7?V{k}`<>WKT2)Q9qW<9wwzEmvkHvaS`xjtz;0 zFO;%=VWKvZLM2dSp7$N}0vf)TEPE;YLXx$I;Mot7<<P~hM{)BLYW%no=YH4~ivHqH zzlGU67Cg1tUjK$4UW3xA2N&%r1tO#m;k-duW}F2Eq%L=7{ovQQVN%bQi~$_;XMcGc zAV|IkKe0T?#*}aP^mdztg{l3aLvDo+#cW4R3Or*`Len?D6CT5ADPg^?j7()r+rMOB zF^OImn6r}XGik0MPMquoKpU6T;Ckb$VY6MXf%h=Mc4H>)Gf@i%EJ@t}h3&G)9kACt z2uI@+=F15>g%urq!~)9TN4-h3%bGBGfd!BadL#in9&~t})ZY<xCVQGQBbQ+&7kwuE z(lpgWN*R_BZ}k(GcUX5gxi@*J#TOSn3QU#QnlaObpY?UGn|<UNCqy=l-Wk%>40-m# zR6FvST*JoU+%sM7-97=wobRgx{P%^A`w+B^%hP*4uNy~qJ3Kccz6pFo==Og*(8{=Z zFpBMY6qx&IeZcmJvbl1!mi%%^gFTyy$2A6_E}3yVs2JRNiFD}b-VkuaCG>-9iND{a zF(pPj&TFOri8(84+B!`%i_G!jnlBkAs&HLsfkVFwtWo8c7rMABU0}Gg=D|Ho%i~3b z6khmaX!Q`psI%VBVv0L&qAg69<INHRFkS2kmjW&wV|#tI*BLYQVCPN{N_{9nydGzS z0rouIPo<go6F=lEn@<O2R39fIRP;MUHt6)r%@<M>{}LH2Ib!7Qu%aVz7_w(&E#V4Z z6QbFxGZaG_pXSVAPinhukS$o@g$}E|V|EU$yh$vW3T$lstM&7>__`~Icq4u_MpCYC zx}ofGBKxMWIZ48zejwl~S2bx6{Y*wvPPaqFdnp<6@xeXP!LrH=d2GbPB{@+F3*xjh z9CGIF(XYCMM1<cJu`vwI?QEat6dNzTegjF^4}q5$J#8Fvyd1^4fVsKEB+fYtwN0xt z7xT_?a_+`Inj|kjh+x|<uyKp>9uvi(82J<~uVH!A-uWbJ$q9R*@VgNZ7mj4ZcJiPk zspCOQ_R&C9j`BfTW`mZz)Lx(BPxDjP%rgK#i0Xyrp&lBxww5D=xznBF_3S$CC3@;& z;Un%BYEtX=vaKRt8+;B9nT9h4nSkw;{FM7fHzU9O%&Hb)lR*b|OXZP%JV3Ru#gdm{ zhIrh4#J!}ZC3nYu6^wo2tbj9Q{agg1%(pWWXHO~W<cPVotgk>Rn4|&2s~o9%cuO|H z24w|Y(dm@j1OQb>Qv~Ns<9w+WE=p9doZ?69aNt+J137l!78fH#GlX)SCFjep_i@iJ z;9Zy7%yu~|p40RrzwjrzPxdL+s$8hrKa<d^{c5?5grh^1oy3{T$4~?KG0Y#aqidwq z%bPJ@SWhN|vTpC3Exare_+FH7jwqM=5PG()J9Gun@A!-yN?|R2H;xNU_;Rs81=qW> zqE0-)#r4mzg`SZb;<l0oNyQ?kT;I&nVin(a=q#`P+7C0RIgVHh*8gIjU3tC##k3+< z?=e5v-Y2puQ_=4!3J!h<F2w-M!nP8H+NIUAb4$PPXc@klmV3zy8>q>~@y*5s$LEAJ zP&KA-Tna>Hrt=lx?)AWH8F8R-?0H#~*?_bQ?isrOTJZbl)dl&0UN}|vVbN&n7jcDF zqlY-}bLf??geAp<<jbZaQ{)gSTaKdN7k-qLHRmUkjD>yGXvyn*TuxjjVS`|A-|Ixy zky*OAJuofUkiTwTpr^G8CU?i<=y=q#G5C`$#=Y>{mdsIQ04>GA+}X4ltBcEHoQ(M) zW31dW5XFJv)Zhj)7ib*8i73MWDwbdG)TKuEgWudgmE9ATbOzgBq1-WBoZWpg9g{&B zKj8O*#J*)A{M9;g*9rHlyZ0&F)OSJk*P|cbw7jSXW9}qFh#7IC^>R^g6WK@6thS%# z;SR^lu!iZci$_-mE<%m(+V%}R8i(kHviPVZ0>{t$ce>BEBRiQb_0698;Xr02N+VAT z&j*rPeR;59>ve}9nszvQP@|do5{~hZ@j9pX(|EfrYoqUl8%JZy0QJGhK%EC+6IDzO ztFE7?S6|M{K*IA-ziZ&?sh0hs&Ggou&xPrUG#C8I0+@PIKtJbK$WlA!-7oLoIe~*1 zI(lY`vEzCjS#Ex7E7IoT0`mv;%W<qOz2#W@S;*CSmMvR}?&D>_bWQAM4EEv>_4})o zzB0;5`~robSdOw3WvjWwW#Xfwcsnqm@08WCIx_;OveY3T^#{_5E_-5$XUm*SIfktD z@UDgBsGOOO!_}?xnVYu@uWPM{PMjuUv?RRFxVL-hdmkd_AgETmTk^R=>)g!fvk{k{ z0MKa^rdUVL+QX>hPXjnB<Wkr40;Texz2wjGUJvg5Rly$oO|BX|;G3Bp#w^XMj~;3| zoERb}DdTQDdsLP}OQ>n^269Dy)HR9qqPQrL{&Tegp2Ha*g56VQUo;%5d#rw-mELJD zy?$}hfjEmXd43)R-vQfWYL9<*e115Id(Cs^>o;k*h8r8Z9-TxJ%07xq4YSb7VeM7& z5<x?jgM5M}n{1~Af+Vq9Zavy<lDJ>7M*`K=%V8ZCh!yy2ED{9XvPMH(leBWmadv%J ztqm<|0mo%p-#toP9Hyu^b@gfl!;sB-tc)EQxzxORw}1r;4B~i-NBc(qWI1AbV-6=V zdDm;=D8#bD6*(HR#R1+7+Z>gs``ss<WriB9_8WbHNk0l`&&+DH4nma3If7kA;Qp-v z9Js9^7tAA^9VAG%wE!N%ilW$~hOd6z`VPJ{Mr}o6=p3v1k1gk=j}gj26zHRkgUpzZ zl-bM2lX~EkQ=bM_(Luf7j<PptaAm~f>-Dmnn%lyGW(CCX2!W?phi#PLp*K{g;EQ7f z$Lj!hTL^YI?q(hx%3_98)q#V@KJ!9teP&>>qW}`MpFfjvfWw^M{Wx>p^xx&&XD6dZ zTc8j9l$40fRa!<O+iXlp)9M!0k9IIFk|7VlhvRe^UN%PyOW{=c_lGc<j7WG=&t|Rg zaEIja=D{CKjutsuivr&0jU6pB#(f!P^``<4f%9!c+t7Nf9f9b6byH!i)(KYn?pH08 zneSEh8-v$&9JkPdpR&wuAKSLerFE=N;TSh@e=vn=5`_9#%|(|Cv@{2}L=XpQ1Sg}x z?ybT&?w?UPX_cF2ez<@xGrEgnkH9x*2x=Vn#}38%6+@TOVYva?>#sgU9pIrU5^|=J zmI3oPX%|LYv39SM+^au_m#RTJzgId4&|p(cIWD3jk^8J(;A&YKE4@Q{3)}JF1>)y} zHf^-H2>9FZ&FHIhTQBBP&AN|#iYZjzOvt@?`Yb3maarjoM_tk$eCyQyN)<a=@O;@W zXA9SJsU0DX;}%=cQpeOQ+=kzbx-HO$4Wq|nyKb8kjCq}pU@)nTJ(J#gpF1qja<Vy7 z+83T(W`mX{9$sdrF>Ta3&cO1wXZNJM+yEb9a(d!RK8@fGQIO`ntD}-<SS0U@i@9Jk zcJS#6VEq9rVTU?ttJPiheW`2=AQ`M&i9gDE<1p$fLF%4ZovxikOwnxrXw*oLUc$vu z;{2N6+BHN3$K?{RLn{Qgy99NE&M3j#ecBs1y6YzIAjAmxsf>p=9A0~AA-ykb2bRMN zGP}waM)MgK=knEJK9nVzbyJ|t$}w~xoL#wYW~z+PZYU<J-#KUTcH*(+UcDUb`4iM3 z`G>lT%Wxm`z}G(3U_DbXb}^H6qp$i>;Fq9(-L;kn(R%;)QGe+mK{=7St_-*`1-cKF zn*i0!LksAoniU+`ma?OoR)&^&fCTB_W8%%Nv9pecLNOzW@Y_c@R#=VS1Gv1?va+ms zG*~dPj<4%pK+oquhn4k*QJ6>m!z^pU$0a1U!ENyHYC-s~%8Lc5j;IRg;auN1Gq`d< zPwzK|JuPQ)94*M!VMBs~bsc;5%YKsrN5q=v9XV!VvQp{qVIM|g*u=gG!6BPCpbU6$ zKp>hrNLO|)8Ln(xvk?u5&MDfzk8ysR)1N4y&Z36NIgc`vv2+WRLpw1KRm0@58u-Tn zR9Zo?>>tn&ulrK0ex`fJyTZl_DA<vrUml9pFi2bJjmz#Zru;(kg5(W+l6kL#p@Ri1 z4IYeZ!*Q;n>0@2`SHH&zz`0<lnF;E3lzu@vTNN@n3OmObpnk{F>!ZZ<T~A3ryHR<p zX4etil#Lb*L4t9R6@W*!8Rv0CHbM&pQqe%GRCl|gSP!v&K@Xjm2d+!dN{`^-ZAsx9 zceiJg)VGzfW1#7N$>GtwQ=T;e#q2RmJ_>!RfTcj@DD&YqRXnn9oVvq2G_d$MgCra7 z#c^EX8#J!APl2NKn}<tdd7R8p;O4DoqkweQdH_7U>gf6*TAKMaa3%>N1t&%w$UN`B zJ4)qy6?{3Guq$ab{KvC-<UsJU<iZX+);F`rnkc>3K?z@V&Ovm1p*cAX+oIUUWc3Un zU|4;$^pp*qBXcWO3()ba=(IU-@F?^b)wLSR>uKpxfLt>gY$knn-CO;+<L2s7cEkuA zqFAFa>@CGx-vy!-f=1Fn9YiSBYZMQez{i|lmp?H%SspahJ@7Zywrtm@mSb?t;MKwp zY{nnP^}fF4M7S4C6edqg2wq~jF*^1=Zxh2})bWPn*fkIh{<4#Jr#6z1Nd~tWwzu92 z#p-R)Qu=ij6M=H%ap2MX*A`n^Z7A&PCY%H29jn>eLdGk!sE{xh6<XZvBPMHha8wXw z`zWAKVA(Kd1C(|eMf*ngp15yr>)r|Y`s<mVX(WZq{j5C)T=Ip_>hWIkB!=M(i`STb zbPij)`F)b{6$!#cZfuQRx*Ma;TR*nn{P?mCx)-Ht#tpWXu8fKY>D+EdHC){EPl5qE z1qya<foYYGT{)1f$G?UIT7YO3;CX6)ha?(Ok1eV?7zNKi&)Hg5wqmt@fgN>0mkloa zwYvYIcI|7bxNcelU0{PR(nnlm1D~U%C%@c1w|YM~%9DQN<C6VhS?_nhng64XG99_+ z*R+#LD*?6FZL3YAF6LixO?UqDci`WflVVVI3BU*a2J%CCR)h+U#l6sTbIHNFy+&!l za7kaI)ewIq8>Az;;O_<8dRgz^2o8vme#xl)QZ-}ph-9|p>*qcK$4fQpX~X-<ex0Xr zaLsC>n~iy^fA$j#;@^YlUDXhme#y3BY)=!lA9jtmJ=B(cx?NNOjl4>9NcqGYa<d-W z-Iroi2kHd?wm(XrN-wB+hJVCgJwpqlBND{PaBnmioH_6M--8(Me-wdGH~E?ymJM#( z8S}(FMGJb=`^4D*ZTe}bz1WpK+>QCG!zuy!Zu+L~aiy==Zg#&dEWDk5|5WFeq?G#a zEYL0D0$W*On_m&I5lg}yTdqpG5lIVt9lyU8JgYe*@HWa`N_u#eN;-*kjZ3_~*{>GX s9qg#^pA9HCTd4oqww3~TjJwN_E$=y<XTyH8%N!4;qN!Y^_$uW80VV2zuK)l5 diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/black.png b/graphics/Qat/QatPlotWidgets/src/ICONS/black.png deleted file mode 100644 index ea9ccdb5c071335697d8e25fb417eefb31fa986e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzJx>?Mkcif|=L{Jc40sw0qW;e_ om#l4KG`jkF!`?Z}Kov+Jq*hUg(f(@ZgL;slr>mdKI;Vst0Fk8_#Q*>R diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/blue.png b/graphics/Qat/QatPlotWidgets/src/ICONS/blue.png deleted file mode 100644 index 3a4dcc71ae673666f7f08cdadedd79dcae3cb89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|=L{Jc6nGA7X!>Ny oE?FJKe0F7}ZkhRWpbBIVDsRBWxL>%{WG6_})78&qol`;+0ExyIZ~y=R diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png b/graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png deleted file mode 100644 index ea0012958c317c53a572877a6f1b49c6df223c74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16048 zcmc(`XH-*N+wY5rNEJcpodf~`BE1uO66v5w5s=<HNR>#DDumFa_l^{)f;1^orAtRz z009B%1VVDS@B4Y)=iU44J@(jN&RJt5Gi%Okww3F*{#UZ*jMCPGkdrWw;Njts!=TE# zczCx8@bK`hiEiKI$Wu8V-6X_rP(#m~6#Dl|b-+>X=0m5p`ZJZAl$4b8!Gi~kjEroI ztN>Ov06RN37d!7Gc3xgyK_L!dVPP=|fRrpyT3T8j!l|UBq@vFC^chG^O-<8)Ti1kJ zPfzceIgg?3BjcOH@sYVZucf7>T_C@sqoYgcWA}*1o;OFdfM3FsfPjFYRKegZ!O+mq zusordn3&i~VPvgHVq#+QXVKIzVi`9_r+Dr+@q&Va!eNP$G0BRGin_YGFJHcNcXtmB z4NXo?E-Wmpudna!?w*{SV6j-e3T;_DJlPbOvcfap`8^Y2%Xx{(MnN(6U;c9mRv$z( z5+7?kRa3GYj@`rIs^yj#n7L@{e_zF>7ZY2;5U0NPnAZtKQ!E8;-Mi%xc1Kb%u7-&m z@|7~_@**B{*3maOe!!Yp5MZQ@V1R6%J5qU^Ec+R`S&gygffZ#H;bB;!Q=)6iOTY=_ z7h;T+oeK5$+0@Os-LCdc&W+h$M%R=a3jZ<p2=o6t@1JV-iFf{Pp!BAR_<uF@uWHC# zmcKv!WiI)zhW_1G-v4D${gb~&*rtxCS-~xY{5?}Ph(SC6MMUZmrs5$2OCYv#LWa+& znj{W5hUSV+ic%=n!~%)(VaGo<o~+O^<9)b0@EN@$L;j^Al#MbLHTQZU>n&FStf9Hd z*XqsVgl-QM8}Ux9xMQmflUv-qw?h$y%kQmfK7QL)h>uil8EP>tb~<IZG#gI{YW?2j zr1qj}M}r~OAm_P(Eh;!Ys+Yt=#mD6CIt!Xn<;TJ;NoYSsMb!@IX}OeEmk4c6q_ka6 zavRG`O#G7!r6)4Mz%tWO9fMCSB74Vn@-2H56<2cWr9Pt{N&KGbJ~CBV<Js0Kr{8{~ z97LZ|x4Izd5l`^@Jjir|eh<Jpy;^HT)&q(LfUB;=R~!_(j5nb)KVAaLj)N&+_f)xA z_mKrH3?M(|6mNQ=xPGlg)^~nw?a(fHHll$7#j2HwH>Iz;`y+#94=m3xf3$!QrWaPL zB+DVYhR~`;hJhAi7OSwgmB!XKqzfq#fJacs!c%r`Yu<phNW;`@Ng;x?ajmrTzO@HM zkU}8Ai_hSfBKU6cUd}+-cUGE<T?(qusWj^iG2>@CJYZIravj}s*9!I~?`v~EUP+Rf z4R85s&ezzr79-QW!~*)msk!{=$6<YBv`s}jwl$^t?7gaT!AuR)#=#Z9nGX67@)PC5 zskeR#Lb^U}Tu&$~IwlB2d)83IMV^z|JWM%3WbmnfIFXL(G#nly?@K6v(P`v=|M()Y z+8M0Qb%p9zPz*7&7=nRy9$&KQJpR<(YTHlQ-M}e&9;U{&Z3y+R_X!4?LoYyq-CKB2 zuPi4oK2I^_iJtLCQE^sQ_lc|Stok$4pok>9LYT}I;^F~({ggDQUme3bZUpd$xt75m zB2ZKsreJ_uGP|VL;O?~vTnB+w^Y@a0Irb@!yW3Iz!^U5(`(Gqn|Ie9!@pTFK3%Xy3 z{{g!H1uOr7^<Rwr!|y+p|BKiEp7}qu_&;>>57Yl{^Iw+#0sXSz!xez<0@wKJzvlkW zr9d)iOjubAXN1@-zU0;F@=_2W*=os>9nS&@C@99)5ihgHtDA-aiDs2Ccu-}4U*pni z(6`0L-=hqU<oeH9#$#v(+98|opgTeviAT$E%KS;cnWO9qzkJ+P8Dt52{|3pbZ`k&| zYro~*H=SpKO9Q<iZ<FtO{yNmt^nR^2x8TvGUP@I5QBu|1JPNh-NH5U@0*<+<)4fPf zl!9XQs41dw;l0&5{e#}|pMA>pObIQ8&X%!}n4dY%ggriVdx(APwiacby3PzzM6D*s z3iGu2Qb*Z_Lp?pN-|+9W=F7YT+Cph=kIzU|hOrnzFHQ??v#p;0dJn6hJ`-aB(k3>= z4Y<T99<ha4ymMtDCnCTSQ^vInpKYFAauDARhP*VJuLyBvP2&Py`|)GO4^$P0_q7qQ zdI+#{nm>SxC4a`8r<xr;)C#7_nIhxwkfC?xeRtOs*MdCc7}#;!g>c9=gj!wM0Oxl5 zfJ?inky3RZ7j0r%o-5!|XK0&#c(Bd0@RdL3mZSezVb1laY5ImLM=E2|YWPO~aAe5{ z&GQprg4`9s>mNq0uIF(*42fyKUa+OjIH^As<JxGG=GtJ1CwR0*4(%5jO@fngSPV6_ zJsD70@Ouj1%u!ExvJgF(_#|C<!4R>S=zi@O%0LT?;n==Hc2;qj3)#bf*JdF%)XaiV zTTXlLVXhRG`MXvHmT7hD30!gdFfSk=6zaxLG_za72KkGZzwXd~;d66}bB~ML@)b@g zm;nSDFi3O-E68?*{9A;kIQ}Le@h><2-<7O(|7}kCU%bTp?erQq>O%2%Cf|QC#Q(SA zh!UR?vC^DCN+AX}mj8&3(ckjrK(#|D_qTaXE?6<{?{@xE=N}|*ivQ6x?SJ?4Z#r(~ z^e++m&lJ(*Od1JR`1GV9b`viv7{bOQO{dbgU!N(T55*JIV;%uLKexl&Haa$=Xe&4W z(jR#l@3|b&X@;L47I^)~Ip)s$FXB&ZzBmkDMJOfELtDNvcs1Bv>&E@9KEIK}v$SaQ zAC*mpvnDfNC8GZ&EkNTa;g5A}(4)8D(WA@k(&Okgl?1<dr+yHlQ9;ubG(YVfu)sS( zmYuz=Hl>a{R8-6UZeTOg(*M*198nNouf9(u*LHHFF5ml2?hOSRL<~6y-p>hpVcue) z<@!|MMvS(pXY_<6_-wmp@chLRVqnR(q5(<i$i+l67yGOkHXdi7pJLGN@{4Y{I`7ql z*PW6ashgoQ%cqPIBs^5X7EI**>i{|W7wbuDWXJw*kYT}e^z8i0HL2H%KyTU9A0#j* zcH;B*h0?@!8P@$GK2t><^6C+WT@j6sg(2YvbpD9)EujNMFGx^nR6y%Sj$+ALvEFv{ z2|w$QQ;atKvl|0nk;8ya%IgRpeVBTsl7~nE)?LTZa!}SA*ZA^YkIB8wACEo?%z|cO z95|Tm9NXH+AL%9re%&>T(r2?*0A9a5;f?2$NQe&9U5@+Vd>=SNMqC!?ejnJgfeb)3 zRuvbA$&uF`MI$tKYy6c1O`jCh++btWQ{i-Fo)D9LoYYJ9JF%A44XzBBy5T0nu$s&4 z&*e-$HPl}k8K2W68xE|Ra#rv1rE(sSWg>x@2;ehR)TFZKD#^>G*XK9)cp1bIMUH<O zp1Tiw0I2{<B_I`mpJ~E&z5gBH{I__=ZaFn*rlT*M;3n9MFL>krkV!$Z1u2;>coU%+ zM=-J9Aa{e?zmio9(bkRY+wJ}pDE(F8-$^Fx-$nob75wUu1$XJPwpDhA+zj?V^Sm_M z<kq^0<@jpQq#<rq)^`i1m339A(WWXzw~9ossI`9!mO(1L<|N`H7+J>+vYnfj1~lV# zRF2dLzbOj!Z%2eK<Mq-f8n*DbX52k`m8)!df;RXka?31mrm<O&qN}4QuNetpOOLW9 z;n;Oa<)efAwqI7;HiD+00<!p@`?L{q@3tv@LQc(v#L@+K_Hq6d!7Wor%7xs}qHu}l z-*dT5QDNS3PZc8xD|<y9wN(f%v!PGC(=Eih9|O1xYpHrsxb+t%8rmL&8`%nJ<P`6K zR<||2tgcf%u0YENf>9SD9zED_Ym)>mH5b<#C@9|rciyL>YUZ1@{rxq*UOr%b_tKy2 zOQJRv<I@H+ZVe_%qQIBmDl5pp(vpisFth527x*tZu0c&w;~JB@v=uw3fB%@a&TSK# zSLOV@|3V=Ts(&Bm!*kQ4?gu}3S381&<mprvB@R05Tp=X6vn*s>^4O_zXgAj-S(LsZ zX2C&n77W2BezNjnjv5{0ZXCT2Oxp97UzZJOhTrENNge)@vB&S2jTm}mTCI50X4G&` zN>1wR9#lqpbU4*qDR7;TY#8{SYy9<e#lTD>Ef*RqxdweS5iGA;9YT$6-y6DVFHAno zllwYUe$`S)&r(+_->Wx$Yh5w_&V+OJ#6biTtBE)x^H3%^QpCOfX+D6SUOB{3;j?MP zfAjsnl;n=&CF{yBqI*VnA-7dn8nNGTMoi4Th8F+;&&78f%N!u^J@DEk8`E-qRTmT& zS-9+cz$bs}5_oPe`8W>$1SVGzpx*dcJ_iNYjRV;bje$fB7XdMC<FtPRAp!0}Q;s0q zg2Ijg|6=6ttV@pne)hjG`2QyBMCE@sz`y%%{{<EVcX`zRzm=)sFJ-dOTn^zb!6~EG zhsz(-+e|+TL~!~b3CQ|qZv!(~??v8?x~nAXz*+Had}#<8<^NCER<6`wHx3`f4p-Je z?}>@{%_wwr;2hZGfYuZirN5f~1`XoFil@@HUt9HoC%{7ZOeH9_<bC<`4}qio!Xg!7 zOLje%<%*XuAyR{~e`yy0UQp;id82l2nfOrX$pSvroV@=-=!qDcDX>EQ9%1j3;`}?I z;)6RHG&aWhf#wN`2MX!nJAax1oDw7h8-<eHU14fmDXi7`QeOlP=EnGR4~gMYmwuvv z6$t8sc^bvCh|psy^b&!P6JEjrX(TO-dX}y$!Bbg^RsZ~2>ZShit?PC=Up!OwPU!b= zS5#@0s)?+~ZVZr&j%Aav>t$e9z&)M<@6ICEdPy?a&?$rjio%P!hu<@b3}v?(l>Y)` zO){5_t7;TQ%gs(}#Xh5MU7S8umnl@Twn!LnoKR8{fX;#Pw{*o$&+@jZ?zRpG`uDso z>>!KuQBSQDeqyCI$GKJd_!w&tWb2*Sg#Ylvcj&M@pJN5Szldg0#l4+r{{ZIu&X21% z#{OtUeg}D9-b8&hC3%Nz<AS$ud#D9J!y~%&oRUpv;O)!37yv~=ZH_QmJtWxtXOZCT zz34!<h3dP<4%E>HZiPnGtYz}OX}5?CZDcoCL)lC|tsv(|{HatE?Y?X`s(RSXf*5s! zXJ?#qE(c`EV?&iyKjHOXzQ8+tA7%Sw2Npy2@H+S#S%#FB;c#dB?YG7xHRn=qFKeAn z_!h@kx12^5bgxO+wAj&{bZn3c)Bp?YVcO$+h;4fy5MOKS^g!h(hVb@Gh+Ese|3rcP z<G4CqW&sFwZFgUu|J+tbQo#;1XL(0Lq8!c)@#>W!GPG|n(ot^D=Y~xHH;NYaZ0b+^ zQLZ^jq?cQ37V<;XJTot5W@eh|$qbu8)?Q$S*l+dfb_0fK<3c6Y3PTA=)cm{N{K%TF zJnj3$d)eNaSJrQiuvV_;AK(90yexTVs!-j^^}MPIYCS<<&kgWN@cv@|REq6<!2yZ2 zT4sXn@DR7jP%Z;>1)~h?$7!I9Clve&{R?G8&4o#*m=Dg)OD^Ikj!GS38KPH1*wWfH z_-Se>(j3@82lH~vPt9EcdK;Ppt*?Ws1qjuih{QiMVeA%5=;neA@~G7@J*h8zSSbN} z3}Fh#>&&K@=7)3p+J2j4V<j@`M`VJ&Qh}n}yf`KEwHVo>$O9L9bY5UI=##ykBqSXJ z?4AN)nE)8lF8UF@EwNC&HJ^JpomxUJIa`!Yy^-iI$``<5RkD~B?sbF^?@L6#n~8*j z$iwJDLd`Oym7NW;N0K9wN!CF{JJu=M&MbigipYo6^*rBBM~b`!dN*@?Vt*~MQ;g9H zWhv5Ou#XPovKP&-{P7eS$)ytwghc0x;%Wz@JyE}OxKBzsd7`PTcas=Se?bL}`%a)4 zExg7tJ!9i}989rAmFo{F6KFz!_Pf(5ECaTjI^ij26@1Kl>N2D!I&`FokNhpbL~nHY zZfP*20*gMW=!RCRorntwC2<r%`4bD@imS94+?ndHP<e?=Lat+;Xc!s#6VykZedEi@ zEzNk{AiZWp;I#DPhkTmUMr`=eDh;A(tbiUg;HEmr>?g4%_lb0h$c|DwUvNxc8>mJD ziwA5Xb@!1;QMydt!IhKIJ#<gsrRk(kQE`f3kP74a@jxCUVSb^d_`(SLafiJIZ+=ax zE$(24sdr2!bSZJ<3zhfi-^M%v5RSydCZ48Bg#r|GnABXAe|!Mbv<kzJzbrZE^V_sX z#VIcf4HAI2RCXK@R*w>DyqBKMwp1a?o+Un1$^kA?HhF6!8;ys?U@z)FeasxoOD=*a z#v08}xre6;L#b63*W^VR=!^)Qm!Ra!26xD!^LrObcBbXxE|j{s2MddY>+J|`_q|k( z%jY)9kBh2E;EHN4%%-28YpmjBPFPK%vOg$veVRb$Tc~ZXizg9MtjQ>)7VBHs8Mzj^ zHZPT@x;XK*-?-0fk^VGExaI9gBso(_e=MEHeZPvg3K=a8*1KWi`0hStI>5C%)>|h4 zc_Z7+By5H6gz3NpaB`kL8t7yqPAy_+)B}z7UFm!dD@VSD4bKuAzc_lESD)N(11+a$ z@`_`*BaiTnC>zod2rZ8LauCe;1W(UaGtS0EyXhrQw3rw~<kfwqPc9nK^)zLhDtGg_ zt=ITqo_9^Cw1E_mOpY__<D_49nGDj@iz@RVodl~D6H(rARY?x>)#>>$KTE<_I})(X zMX2D^!ELp>l2ofTyF(kEav8?QFSg&y_&@wqS~VoOb34xE9YY#f8R+fxa}nZzyD+Nh zs!<c&nddi7`L;oA?+-gn&r*(bI7{d?$B9^o)LyhYZxdA_M;#ruKa;WODWavUOhw9q zjz~7)Csf5-e^K^RwrBTLWfFKEPc|Q#4;?j2W*}FOF3bz9pskfp;4(@KYq%Xf_5H*m zv<xDXYrXvL$L>6(=_7KMn%Bde?#5fHWSzs#E9D`SJR-kz*es-8?VbqTPh}Exof6+t zeL<+ABwT9A{y`Uzt1>_BUdjatq=%}K>36d6GZ*x`dGayj;kdKu)N~Vb8}!UWrwURa z2nmg{*XoU)_=h)>cyw8nT=u|R+!#k$0e0*jth7$bB?$;(mZc&i)_8ilSn4=@Lw!|s zlJo?!iQe~kfD&a_27-iebWaa7BTX%GO``kEiTJaqBm292b(!X(y(%B_?Ajxy5~2wt z5;&7Dt&G}~AwE&m@QPFgda2cDFNvlE(|&U(T`K2FX@XvXexb8Tx;%frf8lLc|A;3R zpWBiJyW1MQ=NZd#UF0$bI*nDxl8VTu3ba*!%EyM4={Z<2v^0}!+1I6W=WrPwHhDmu zoqx+PdGA46No}9<xII-J&b{qwx1HImXB_cROXKF7wZ1o^O#%pSr=GG`^Ks_)%}CL# zo(gUrSM&o^sWOHF=mqigO7IDtw?797MR&H`5y%95OVH-D+j}-8?-csv^`T4LL{<8v zQH<{}`*wqL88o=oJCnUl^)C6+px*4~KLUCPqo)W1+pg)NPI_y_7<Ik7_=E_C?YRz; zFEpM$^pXDBYKX!zJx8*)fSCNWI7R(TzkaHX{@T|w@j%KTNYuUGKnVTS&gH{F69<j2 z<@Zk@gA;~i?jh6Rg#7GECt^;r6StHY(qhU??6%)B7&?+|wj&vRGAO&LRLL0i5M(~e zOS$PC<)UmW?<MveK7=k;zJhU25O7mb>=F4lAb>NWd~rgZ+BUw$^^QDA^W}Kvp}pfY zVI&r?uV)IGY^S!(wUQ1EY%n&fct^6uX%hp_0$xjMqS=;DrmDjDu2Q*bo<$=lXeniA z?h@r6RgPEp9eV5{jLHmk(?yPbfz+arx$HlLf$sVS?ulrxvfam&?kPr;D5#MXwU;Ba zhY~@aoMJ4KEIzNdl^X}>4~=`%%e%EH!FDy)kAK8|mn9ZU|0zlc8=syiP=4&!joz&k z@gAe!PVQ(B#8*$=G)g3bb<WZ|k_R3d6TY6G)_IWcY-(dD^DB)C<aA%~_WSLX%pdFF z`q7V8NdlP;`Hw_GuBx-q6+hqpa2J1h*P_@3Rdu`Uk7M(bAN}J6(2+PHI-$}|<IjLR zRSxBsywPGIT;_Y5GEUko#KV@>V{8QnV`G3`t-7a0CK(`ks<bYA(GbUl6k1(PFV4@% z4o0T5A$bpcQv3tC#l>SLOS}gL-f;?q-pvA~#vz=9N(gQh{z+z@IQbRlQlyhTxxP_h zTOyOj`%(o$@^9%`=DRIMp|w>g#}5PR<x?&YA;pi$H1=`7xs7Ei=E-@|U&blE+TmD! z%52sDQnRfse58L~um+aCKnBy>`h}$SyX^ziV6O3scar3o02xLX0;Fxr*o82Z0w#x? z{AM=a0_?>_lX!G?>p}{s9FPr3xt0<dF*+}eY14F=XT^68ouf$GnoB;=xm3$usfHJ2 zd>{VtOvuBdNK=I@oTY(Gc77wSzGz*2*IH16s^Rqn`yLU)NkZ0Uq-?>&PuMyLC;tY2 zv#PS6#vf%(L@-<XF?$8dFQ^^O(U$J8jTD97i3moa?7Up}_sS;aU!DJW;Oj~a5&Bq1 zyNfc)ir#rEPL&eJ68*?Ip%WMdc^$|QaK{$vKQJ-|Fy9i+QN0DReo)lE=}_o&z%Wt3 z<@rk0Hu>EE(tC=)7tpLyb<Zidb3qrd8$V)&e{Qz=jdC{00LEH-he=R0n(DJb$%od; z$l%fUsSJYAsKFSvfj`iBc9Spnq8NE-MCckdYYHyL2?ZY1K{B|?kje<U`+#ZF=(l>4 zC{75*abD^ZE?qg${x-{OLdr-5r0Hitqz$T4ERLpK)<X?}dN@7*;WNIlL2<D~o+iPe zqpGK2%3C0dSPg7~jP6SwqsUwS!W2Y7co$h-1JhSl*OnUPd2=HI@5n2b>Ysd_W@lD& zjhgSs_GV>kihh*33K7t>x_-51tI-8<53UN`XMNs1r9)nGO7#1{q_ZY&my&}1Ekh+I zB-w2$1Xu}~m=={NRMv{mUMt-VYO>3ZV2Z5dRWtW!!16JQ+U7lv#688*`S)b$3?tG% zZ_&Ma)<@I&y?MN{0rD6?xEcGlC?n?WEhfwRpHerWn&tpG*$LwseFNKHNZo>`k3}6- zjMDE7khg#Tkt@HgBM_j!y~FxYul|$10p<OPK{Po7KoO_<M)c~{r$1<bUyt-H-k)hF zs&4|YQcv_-4SU>NS??b8EP1YXro?UY#VLA+8(aa}bEQNi6Z{LOBB_A1uL_mc#+yJF zV$NCORf$C)qFvcgLCuHkJbW8^7GKhPb=?3Gs~`Ca-@+SfFv!`YG25M$;;=<{!)@1N zkuf*BOcDBw0MzEA`w|ZMN;Z?zIuTRW*iv(UV7HVK!p=YR<y&N<OBt=chHT43N$4=_ z<63Foz;;<6fgHncTg{A%-SsL)=NI$u2i(n~`5(8Zm%@yoK|oks<pY0Zo*lPv-K)g{ zBu}2kQbSvVcrAirYi#0{UemOLGVIYU2=b-w58iT2p0>XTjh=z5G*z+Y{+pwImklXk zdqj`qL}OJ2B8#AN`V<H<%J7etM4Qxr1olraz}E^c`{V*CD|h8%p7?o$>ds4D-rN*z z>h3?7bl<8ris=ll<lTJ|-|RZo%4?okcH7}uR|6Zfu<wVE`pS&DcWf@ZgStEkQw67k z**!n6EW@XM05r*MBeyuL0x`Ed(`gFaX#J(r=@taP4C#6hwJ%_a`~mj`BJT)qJ;XL_ z#O_y?j{H&euXyORZ}>3TW_V0rt^8-IIp3Ppw{ef6E-8?W0fS(7e;oZ|ui;#Z3PstF z`N>`Dd%SW%pKrIdx3OyFQl<&e#B5D)wln$z6T5WZSX3;C;=2|>UaYLFi@K@0dAeEv znFjQpKg#HJQ_Tcs6c{*ZxXCi4erk%_mHFgjxDET5%0>(?v<!D_mcB*v8~~~kR<jAh zgYO<IBryJ1OXFY|<*$`{&J~&9Bs-8=0EwDUgjTl6ZbhE|NZtw)S5JO&Vz(bdH${-L z(LgV#RJvJXgm~XgX8C#Km3v{F?-QS%8G0LGT*y-I9f|RH)lEz(h`KbGE|k6bOL3-{ zf|>-C%Y&nO?PAyVCqbzPo23rTFmsdD*xI1#yG>`AMJ>jFtUFFm)!(ldyyf7vSaEpP zatwG9(dITC;?Yl;V`raGC~g$|&XrC`VwcQ>Ie-^VkZQkDEYPv-k>^q9lD3s;5My5R zr|#`qDZPx(<`2N9XCJ!i%1i*SR{R2JtE4AN{v?-Wq%uPOI3?2y+C?)N({c(`9lNk< zEQ&s-WNC3M_wet*AiV=)`hKb-I09Vrn+i?>5_099xDVPM4=lD3IDEt?y_<jsJ`&AQ zlBMGPIkMPaha)*MYik_&uJc;cSKtTc`NuFLe=9yh`iN&6?u3>&y8+uzZk~#|g&YU; zBHo!m=4tQPg7W!kLz1Zj9*drOmPhwrK^5DYpdL|1bnuH%nH<M-zBq$$4~tQ=Jn`Db zvsYp<BS}y0$&J|PuVpg|I;lJ>ks!I9YQ60aU5P9&fJ&cTbb2g}8Ipv6o(EU%F0f|^ zd0<HG;)%*0s?2O^ez1W7$?0VH!*q#b6IdMgJ(8j|JREjwtB~I<WB{tgJ(aF{U9xMk zt|YDEVvs+|?PR|n|Lz<~XP5M}2&fJ$9w}G!v8oCnHKrvPV?E7V*oL`Wrra~>T+(V* zhD+D$NuyvU2*)*`p}+N2fy7gDm!g-~zx-b8eDqy4^#{b`(v2hZX!nZ=>bx@9Ti#n{ zEj^u>`YGR1D?YR_ao!~%(cZ|Nt`xnJ_P`RB{5XIS3%yH_&in1X`ReQnl(S`Q-7@<} zQaAf`-Fjx>>TUZwk0HorUE6diPXuOOZK6$r3}s?rF#O#qrJ)SMIaMIfM_2|xziFck z*v%xx2Qhr?HdfO>GWwZaHJSs~$qL21uiI-}*Q&QelaPW5TCS%lhqLoVNQ(X8zNA0U zHM7uyS%1dRWR;(^5RIy;;Q=JkmxwV&jm4g}-o-_ZrfE8LV^C=LlxMC&D*D^)*DKmd zQl$<~fA%Cs?uXXJOiZ6P9C6>B3VnE*e2@ISIQ!d72d#T4tLZZOTABswah){H5rr|N z=kL!OObLZTrFh+4_gMl7p4QKm!(z>Mjm``$gcZoR8fR@|Ph7~MSx>l+-jUsSVkzX! zcI0K?L#GENOZVMWE}8kBs10fZtq(r;W~3d4UPfHMW9t3%ey3$xP2*&0E)nODMR>$~ zc-9(g-gacrQtmMlpcXMDeosMBWnwf~tVqpo)+P@Tpe8zRy%SbR`WCDUoWs04c^9kq z(ByMTg@Vy(kNV+&Ih)HTt4B$BkWJWw^-daz^*2SE)hl$}Rj~!lpLlP52$olG5<P{s z^7bdf2@oO%&HTq8594pI;0M$FxQM=I8gO9fuIcD=Hac!1Fu|FVOJ$gLs{ESG3(wf} zt2Nnv%Gm|Auh<IBMaEyCjd@z%<qTKGf$Ob^7f-NMyx#BgNp^HzF%OPT2^E3N=b-XN zzchq+uZW6Sm%6Of0tg*FP?Kyf>-8W8x~hH=Z;zK`Dz)CQ(!^0|NhZz_40V-nMuq&0 zm{K@Pa3a^leg2O>roPXMcw1X<9nLkUG(wIFyBQo!rKv1V85u68VHWXqe8jryCcm^9 zKeOK-Bk$xjd;j8SmO{WyEt)I)!RWr_<_32-FPXny{*32s!ub5a-Ms$e;+A)y(uI$) zqJ%96>pRG3hRf@4b-9`ei^o-OGdBi$3@qLjSFLg~NZGhKGa2YUN$U57F!{c9W@R(9 z5V#yW%py7x(K3~tC<&etB>jAUgP6{xNIXO<Ce2;MNAG%u<NCP-uvypHU74CkUq^}1 ztl8S&%O~%U(eKyig~=6lKmEt0W1meEi~*zvX<VS-&qh(XWw-qae%5hA2$fgoH@{og zKItI#6DEX=FbexW`NLAG66bievOcy1xT{8Hvu0XXR6!<tl=(^c-W>X89<qYIZ`l9c zx1K=8*sE`B?LLK*gNza$9Cw6Yey%kGtp$J(Xj8y9-Tf#Q8y4B}OlvmY=lH7L(n8mu zY}!%26NXSp_=aHCdpa5ao-+$(gq7C)zGC+u2l<ptv7nIr)heHH;Qkjor|`#9wC}f) ziiDe-!Zo`xCGe`1-0mK|<Vhmxw-uh8HXM>~8@>`!IDT?prbg63s>Zr)%F5YgpGR$L z5<od;$g)k+J~`kKyfZgd{ZqG^)Z?ee#8&lg(g7)n@#dHDPUQvxkWy#=*V3y&i3rQg zs>V@$Mt_2=1X)W9Fr7aEg<LwNQiu6^|48NHsY@;=lt)ZoPX)C%+tLZcowqZ74{Z8i z$R+9feWm{jUwZwb;5FoJ0jd4Qd-S7M5m)vN1Xl0JI$t1ixxR8QMjhGsqrXl8g!S@m znOPf69r6L;0qfV@50)Luo7bELie1!LAv-nY(Z8pd1~`dT8`qdaC4C>D`UCrNGZ{?! zUpy$8V4gdu-gWc{yFAGQwbTq}9<mU$jlBBSYPkR!sQGHz_W&V*;?`i$Z>{V%wyJv> z`r}!E3xVwCjL)`Ngb5(OU&ODrm_z?0E71E6<X%;2+C3e9;XQw_)9PU=NTdl)Z`@aG z&cohGeK0^zNk+Tkf=ASv)uwgIZCIX^AqN|?x&pir`%%=N$$(yVz}IvVEklmLO&BZ6 zI4nwA4_adtE}ZYIbS}oe_xV}=;%8joL2I%Am;U67_Vk_h4;T0&5oAi@c;on9Dq|C( zKryLklreKUujkghlrW-o*=ISE#LH0Ok4Di_T^aAO)6VNUQGhGD-EVhk{8L;<-R4XH zqSX~4M#pezsz&x<N9Ja*wUz{nw=MO1Rt#J>K56>B{jT-L<|otRz8W@L8`?yGu(N=$ z*(d8Z4x`br-+V`(-07fg?e@(loB9r}Jz97f{shaf@y%fC@gf8V{o>oV4qm<RoC$BD zy83xg$wc|`g5Ds8bdcVJao^5vggN$w2x-KtUWql?f@vz`cVwEe{W~)K=%X?JtQDfL zl(VmWMRkyUf57#!BtbCx>{rjM@Jzaw^<(<DMcmNa2SA*_Z79<JuEtCdY3#uGyS_pC zY`a{oJreO(m12ws{LH~G;*~T8d%NP9m%gjV#cjiHNhaWs8<E%#Nh`Q3c*!xVFV`Wi zv<n9z`_F&tIOBiTAXtK}V}Be0e>-Ou3zclM*?m8$9`$Eq0xHDwwJj0+-r2$@-Vz{K zW4n2nYGwU$^~{q<Mls!X!CAaX(t)qePRBW1s}vZjE0FMkoLosr5UH-~ra;7b+<mL; zxJs0(&P(s-KFd((3Q|B8sI|jky~{>_Me_Lx9Yp83Yu%HjDSE$LTT~)TGuu}3!05?j z>rbx&%I0*_Ig?|fkAg@0W$~s|-+P2&TG<|GNWbGSG=f?&7G}`whT~KP(ump8S~=d3 z$M=XMy}to1Z3AGvPD4h;l_{Z57+C2LE8HJvp$7iS46G@2=1Zd$^v`D;sDFHwZOhDg zWDTAXMc0e-MLZ<wNSL8Qs6BeTiir9A>RC)o=9+@8hEN6Lk9-0leEEHHHuRXUi)cJC zUP8dz&rn4%k85+$-xVo$6CFIgU&+K5+^l^&%X%yxezT^BUD8EiK%iuCG6!Aq&^WiM z5D~=o-Q_WFt!nR`qNxj8w}%9C-*!|R?C_!j<#%TA-TQ!6yQ+l|x=q7=(tIqhc2f)i zkl))-Rb#=Um%HdujNVN(!WXB>gV7HM_03k88KSMMISg%!?37*?7!k-%(Bkvt;C1yC z-c_b2H3?*5rlE+WhhEJq&@q`T>JKR_-7M?51F5rmUMVqV*Ve{WF2k4hQLCzzs=?0k z_s(<+@Pjhvb(naArJW5EjFiLh^wG4R%5SpW;$A6oGPYJ)zusQwvP*k=wt5D1@~dFz zHIq9qnI+Nh!#A=*js|ZF-_MoOeA)7MCcm~;-8?iZOB;;dZEB0}xs&)LO*upU+s`GH z-jMG#vQdp0B22<Fvmn|iqk6&Dr@;46l_Ork&!`ZIWl0eNV)s@&Vzkp7>!es?hD*Q9 zAK?1|*IRcJ9{Wx?zElWCJ-+X8*O;Wx_T|`p19#xDI!76(((Ab^bht)`=`c0;{0+B^ zd?KVz$W{rc@#*USv?Oo*;gC*>t>?-0)yZd6uYg?#cMvUhO_XVANn@D{C$;2yb?1hS zs%!kXsk}pYbHFDSY82%ol0QrutR;<s<*0Z3uXn+6VuLZZ4Y<$CXC*b)+mtI!JX0QE zNbkwQ76lG-yt>SFCkS{nG^FY$cwMziD~Dc~-#R)T`tl8%V+X%fzETfrU&jV<2C+hV z*O#smUrTeDm2CO!)6q_T5#|7KvLAH;aObigd^ATp{CB`XXkO>O`qtVvJO^W!lP~IV zrcL0}b;R7AAavfLr=%;c;zPk&pC6Ma5y7v4jnJh5#PL0QcJnr0RDIA?F;mQ?SQsn3 zk4&Kl#cDb(m)!S}lmmzEI<vk`)wezB`Z~IBP!FdF;&P2S6JUKA7wroFmH?O@x?;6? zu#9u+d)S7jfO^MiOZ`A+sSFo8V1Ct0x?t<WZ3KUQ<$QU6uWNMv;9?`9Z<NkL>sE4( zBoj55P6cEu?&HI{oHH@B45s75!2%>Cae+QQ-5a(knbTld9A;w(R9w4Pmm`M;&C4Zr z;Lu)I?*JW?M~!;8s56{{XP}RnOW0y)PQBKj7%W^cXz*TQ%o%eW3y$j%O%8lrr+4N& zX`EtgA*)Y5$R{Pfk9@FX%h>=oTy7?V{k}`<>WKT2)Q9qW<9wwzEmvkHvaS`xjtz;0 zFO;%=VWKvZLM2dSp7$N}0vf)TEPE;YLXx$I;Mot7<<P~hM{)BLYW%no=YH4~ivHqH zzlGU67Cg1tUjK$4UW3xA2N&%r1tO#m;k-duW}F2Eq%L=7{ovQQVN%bQi~$_;XMcGc zAV|IkKe0T?#*}aP^mdztg{l3aLvDo+#cW4R3Or*`Len?D6CT5ADPg^?j7()r+rMOB zF^OImn6r}XGik0MPMquoKpU6T;Ckb$VY6MXf%h=Mc4H>)Gf@i%EJ@t}h3&G)9kACt z2uI@+=F15>g%urq!~)9TN4-h3%bGBGfd!BadL#in9&~t})ZY<xCVQGQBbQ+&7kwuE z(lpgWN*R_BZ}k(GcUX5gxi@*J#TOSn3QU#QnlaObpY?UGn|<UNCqy=l-Wk%>40-m# zR6FvST*JoU+%sM7-97=wobRgx{P%^A`w+B^%hP*4uNy~qJ3Kccz6pFo==Og*(8{=Z zFpBMY6qx&IeZcmJvbl1!mi%%^gFTyy$2A6_E}3yVs2JRNiFD}b-VkuaCG>-9iND{a zF(pPj&TFOri8(84+B!`%i_G!jnlBkAs&HLsfkVFwtWo8c7rMABU0}Gg=D|Ho%i~3b z6khmaX!Q`psI%VBVv0L&qAg69<INHRFkS2kmjW&wV|#tI*BLYQVCPN{N_{9nydGzS z0rouIPo<go6F=lEn@<O2R39fIRP;MUHt6)r%@<M>{}LH2Ib!7Qu%aVz7_w(&E#V4Z z6QbFxGZaG_pXSVAPinhukS$o@g$}E|V|EU$yh$vW3T$lstM&7>__`~Icq4u_MpCYC zx}ofGBKxMWIZ48zejwl~S2bx6{Y*wvPPaqFdnp<6@xeXP!LrH=d2GbPB{@+F3*xjh z9CGIF(XYCMM1<cJu`vwI?QEat6dNzTegjF^4}q5$J#8Fvyd1^4fVsKEB+fYtwN0xt z7xT_?a_+`Inj|kjh+x|<uyKp>9uvi(82J<~uVH!A-uWbJ$q9R*@VgNZ7mj4ZcJiPk zspCOQ_R&C9j`BfTW`mZz)Lx(BPxDjP%rgK#i0Xyrp&lBxww5D=xznBF_3S$CC3@;& z;Un%BYEtX=vaKRt8+;B9nT9h4nSkw;{FM7fHzU9O%&Hb)lR*b|OXZP%JV3Ru#gdm{ zhIrh4#J!}ZC3nYu6^wo2tbj9Q{agg1%(pWWXHO~W<cPVotgk>Rn4|&2s~o9%cuO|H z24w|Y(dm@j1OQb>Qv~Ns<9w+WE=p9doZ?69aNt+J137l!78fH#GlX)SCFjep_i@iJ z;9Zy7%yu~|p40RrzwjrzPxdL+s$8hrKa<d^{c5?5grh^1oy3{T$4~?KG0Y#aqidwq z%bPJ@SWhN|vTpC3Exare_+FH7jwqM=5PG()J9Gun@A!-yN?|R2H;xNU_;Rs81=qW> zqE0-)#r4mzg`SZb;<l0oNyQ?kT;I&nVin(a=q#`P+7C0RIgVHh*8gIjU3tC##k3+< z?=e5v-Y2puQ_=4!3J!h<F2w-M!nP8H+NIUAb4$PPXc@klmV3zy8>q>~@y*5s$LEAJ zP&KA-Tna>Hrt=lx?)AWH8F8R-?0H#~*?_bQ?isrOTJZbl)dl&0UN}|vVbN&n7jcDF zqlY-}bLf??geAp<<jbZaQ{)gSTaKdN7k-qLHRmUkjD>yGXvyn*TuxjjVS`|A-|Ixy zky*OAJuofUkiTwTpr^G8CU?i<=y=q#G5C`$#=Y>{mdsIQ04>GA+}X4ltBcEHoQ(M) zW31dW5XFJv)Zhj)7ib*8i73MWDwbdG)TKuEgWudgmE9ATbOzgBq1-WBoZWpg9g{&B zKj8O*#J*)A{M9;g*9rHlyZ0&F)OSJk*P|cbw7jSXW9}qFh#7IC^>R^g6WK@6thS%# z;SR^lu!iZci$_-mE<%m(+V%}R8i(kHviPVZ0>{t$ce>BEBRiQb_0698;Xr02N+VAT z&j*rPeR;59>ve}9nszvQP@|do5{~hZ@j9pX(|EfrYoqUl8%JZy0QJGhK%EC+6IDzO ztFE7?S6|M{K*IA-ziZ&?sh0hs&Ggou&xPrUG#C8I0+@PIKtJbK$WlA!-7oLoIe~*1 zI(lY`vEzCjS#Ex7E7IoT0`mv;%W<qOz2#W@S;*CSmMvR}?&D>_bWQAM4EEv>_4})o zzB0;5`~robSdOw3WvjWwW#Xfwcsnqm@08WCIx_;OveY3T^#{_5E_-5$XUm*SIfktD z@UDgBsGOOO!_}?xnVYu@uWPM{PMjuUv?RRFxVL-hdmkd_AgETmTk^R=>)g!fvk{k{ z0MKa^rdUVL+QX>hPXjnB<Wkr40;Texz2wjGUJvg5Rly$oO|BX|;G3Bp#w^XMj~;3| zoERb}DdTQDdsLP}OQ>n^269Dy)HR9qqPQrL{&Tegp2Ha*g56VQUo;%5d#rw-mELJD zy?$}hfjEmXd43)R-vQfWYL9<*e115Id(Cs^>o;k*h8r8Z9-TxJ%07xq4YSb7VeM7& z5<x?jgM5M}n{1~Af+Vq9Zavy<lDJ>7M*`K=%V8ZCh!yy2ED{9XvPMH(leBWmadv%J ztqm<|0mo%p-#toP9Hyu^b@gfl!;sB-tc)EQxzxORw}1r;4B~i-NBc(qWI1AbV-6=V zdDm;=D8#bD6*(HR#R1+7+Z>gs``ss<WriB9_8WbHNk0l`&&+DH4nma3If7kA;Qp-v z9Js9^7tAA^9VAG%wE!N%ilW$~hOd6z`VPJ{Mr}o6=p3v1k1gk=j}gj26zHRkgUpzZ zl-bM2lX~EkQ=bM_(Luf7j<PptaAm~f>-Dmnn%lyGW(CCX2!W?phi#PLp*K{g;EQ7f z$Lj!hTL^YI?q(hx%3_98)q#V@KJ!9teP&>>qW}`MpFfjvfWw^M{Wx>p^xx&&XD6dZ zTc8j9l$40fRa!<O+iXlp)9M!0k9IIFk|7VlhvRe^UN%PyOW{=c_lGc<j7WG=&t|Rg zaEIja=D{CKjutsuivr&0jU6pB#(f!P^``<4f%9!c+t7Nf9f9b6byH!i)(KYn?pH08 zneSEh8-v$&9JkPdpR&wuAKSLerFE=N;TSh@e=vn=5`_9#%|(|Cv@{2}L=XpQ1Sg}x z?ybT&?w?UPX_cF2ez<@xGrEgnkH9x*2x=Vn#}38%6+@TOVYva?>#sgU9pIrU5^|=J zmI3oPX%|LYv39SM+^au_m#RTJzgId4&|p(cIWD3jk^8J(;A&YKE4@Q{3)}JF1>)y} zHf^-H2>9FZ&FHIhTQBBP&AN|#iYZjzOvt@?`Yb3maarjoM_tk$eCyQyN)<a=@O;@W zXA9SJsU0DX;}%=cQpeOQ+=kzbx-HO$4Wq|nyKb8kjCq}pU@)nTJ(J#gpF1qja<Vy7 z+83T(W`mX{9$sdrF>Ta3&cO1wXZNJM+yEb9a(d!RK8@fGQIO`ntD}-<SS0U@i@9Jk zcJS#6VEq9rVTU?ttJPiheW`2=AQ`M&i9gDE<1p$fLF%4ZovxikOwnxrXw*oLUc$vu z;{2N6+BHN3$K?{RLn{Qgy99NE&M3j#ecBs1y6YzIAjAmxsf>p=9A0~AA-ykb2bRMN zGP}waM)MgK=knEJK9nVzbyJ|t$}w~xoL#wYW~z+PZYU<J-#KUTcH*(+UcDUb`4iM3 z`G>lT%Wxm`z}G(3U_DbXb}^H6qp$i>;Fq9(-L;kn(R%;)QGe+mK{=7St_-*`1-cKF zn*i0!LksAoniU+`ma?OoR)&^&fCTB_W8%%Nv9pecLNOzW@Y_c@R#=VS1Gv1?va+ms zG*~dPj<4%pK+oquhn4k*QJ6>m!z^pU$0a1U!ENyHYC-s~%8Lc5j;IRg;auN1Gq`d< zPwzK|JuPQ)94*M!VMBs~bsc;5%YKsrN5q=v9XV!VvQp{qVIM|g*u=gG!6BPCpbU6$ zKp>hrNLO|)8Ln(xvk?u5&MDfzk8ysR)1N4y&Z36NIgc`vv2+WRLpw1KRm0@58u-Tn zR9Zo?>>tn&ulrK0ex`fJyTZl_DA<vrUml9pFi2bJjmz#Zru;(kg5(W+l6kL#p@Ri1 z4IYeZ!*Q;n>0@2`SHH&zz`0<lnF;E3lzu@vTNN@n3OmObpnk{F>!ZZ<T~A3ryHR<p zX4etil#Lb*L4t9R6@W*!8Rv0CHbM&pQqe%GRCl|gSP!v&K@Xjm2d+!dN{`^-ZAsx9 zceiJg)VGzfW1#7N$>GtwQ=T;e#q2RmJ_>!RfTcj@DD&YqRXnn9oVvq2G_d$MgCra7 z#c^EX8#J!APl2NKn}<tdd7R8p;O4DoqkweQdH_7U>gf6*TAKMaa3%>N1t&%w$UN`B zJ4)qy6?{3Guq$ab{KvC-<UsJU<iZX+);F`rnkc>3K?z@V&Ovm1p*cAX+oIUUWc3Un zU|4;$^pp*qBXcWO3()ba=(IU-@F?^b)wLSR>uKpxfLt>gY$knn-CO;+<L2s7cEkuA zqFAFa>@CGx-vy!-f=1Fn9YiSBYZMQez{i|lmp?H%SspahJ@7Zywrtm@mSb?t;MKwp zY{nnP^}fF4M7S4C6edqg2wq~jF*^1=Zxh2})bWPn*fkIh{<4#Jr#6z1Nd~tWwzu92 z#p-R)Qu=ij6M=H%ap2MX*A`n^Z7A&PCY%H29jn>eLdGk!sE{xh6<XZvBPMHha8wXw z`zWAKVA(Kd1C(|eMf*ngp15yr>)r|Y`s<mVX(WZq{j5C)T=Ip_>hWIkB!=M(i`STb zbPij)`F)b{6$!#cZfuQRx*Ma;TR*nn{P?mCx)-Ht#tpWXu8fKY>D+EdHC){EPl5qE z1qya<foYYGT{)1f$G?UIT7YO3;CX6)ha?(Ok1eV?7zNKi&)Hg5wqmt@fgN>0mkloa zwYvYIcI|7bxNcelU0{PR(nnlm1D~U%C%@c1w|YM~%9DQN<C6VhS?_nhng64XG99_+ z*R+#LD*?6FZL3YAF6LixO?UqDci`WflVVVI3BU*a2J%CCR)h+U#l6sTbIHNFy+&!l za7kaI)ewIq8>Az;;O_<8dRgz^2o8vme#xl)QZ-}ph-9|p>*qcK$4fQpX~X-<ex0Xr zaLsC>n~iy^fA$j#;@^YlUDXhme#y3BY)=!lA9jtmJ=B(cx?NNOjl4>9NcqGYa<d-W z-Iroi2kHd?wm(XrN-wB+hJVCgJwpqlBND{PaBnmioH_6M--8(Me-wdGH~E?ymJM#( z8S}(FMGJb=`^4D*ZTe}bz1WpK+>QCG!zuy!Zu+L~aiy==Zg#&dEWDk5|5WFeq?G#a zEYL0D0$W*On_m&I5lg}yTdqpG5lIVt9lyU8JgYe*@HWa`N_u#eN;-*kjZ3_~*{>GX s9qg#^pA9HCTd4oqww3~TjJwN_E$=y<XTyH8%N!4;qN!Y^_$uW80VV2zuK)l5 diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/circle.png b/graphics/Qat/QatPlotWidgets/src/ICONS/circle.png deleted file mode 100644 index 125977bb84ef7d16296c9be2e573e7e8238fa702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJI!_nJkcif|)4ll`3^-g?f8W1( z-K+=dESblbb8dcDv%r&k?ZF74Il0T?rX={<`hB^hTp_Am!QL1+am%rSUxIsYK3n%r z%gEa~wALd&x9)XwJfqx#$7{dE|M|cd(!kZgzG21m55f-h&ZQmoJSws;d@?+5gw%*l h{P^K4$9-OI>&17K|M#C@a{{`A!PC{xWt~$(697;IN2&k- diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png b/graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png deleted file mode 100644 index 9f24127de7c15fb0ba883d923f4e28abaae6fa9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|=L{Jc6nGA7X!>Ny qE?FJKd^Yph)*E-{Fawn!fsk7JCMNq|Z!dw&V(@hJb6Mw<&;$VG&Kl4F diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/gray.png b/graphics/Qat/QatPlotWidgets/src/ICONS/gray.png deleted file mode 100644 index 6a2ce52d756f7c4b352902e9f237afe6f0137670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzLr)jSkcif|=L{Jc40sN2Sfg=x s{t2$d{XPe(a_jkKpSA?5K>`kwbPjxCa^H~YPy!P5boFyt=akR{05r23WB>pF diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/green.png b/graphics/Qat/QatPlotWidgets/src/ICONS/green.png deleted file mode 100644 index f0b109a15b47158bec56104acf9e960ce497d478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|=L{Jc6nGA7X!>Ny oE?FJKd^WR6x6J%GPz5pwl{e^O+;3B4xgR9z>FVdQ&MBb@0E)L4(f|Me diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png b/graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png deleted file mode 100644 index 7ce50cb84e1d11e85c2db30f1280565058160017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|=L{Jc6nGA7X!>Ny qE?FJKe0JuutvBw@VFoHe0wJ{yOicFQdg^C_1U+5-T-G@yGywqJlo}8K diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png b/graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png deleted file mode 100644 index 016d8ba5a76c0112a48860254da8e5f54a1767d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzDNh&2kcif|2N@ZGye5VJ>+?Ju bK+N}S0tyU_?u-jMfE)%-S3j3^P6<r_qG1vr diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png deleted file mode 100644 index 67082c375870fa9aefa8246ebfbdd411c3d14a55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8221 zcmbuE^-~-$w}x@IB8&UNB1PIlu>y+}SlqQZixeyFZly(ckrsEi;>F#qP~07gyDf0} zzB_aOf%`*}Gm}i_%$ek!CvPHEm1Xg9sBn;wknkaL(&{f`_e*ofLV4-$sj5Vfkm$D{ z(h{1U3rB|7sWiP_*T&Tj*v!<tVqNQV${TZi%8Fl)1W)H8H&agq-*nEBNZEms+}&^? zSU|>X)QM<i6OZe*lZOmZOZSR4R!6PT%Nb3rS=XDfGQiZZ*s!&GVQKTf(i7kI2C)sn z7(;~fUNR!(5guTwmt>OycznB`j0k=P`8Q>{RhH2NKbP|o1whv^Zpjh+{5k-CPCQ`j zUd-?c>5jA~V3Y>ug4KB5cI8qBFr(~GW6H3u(}lub`Fa4!XZ7(`_WZ8pVb<%OrQPy* z%ebo8Y8L9j+`jfah++Bv-rN%ii3e)Q!I%yJdJRLm4KESo8zOI@>7&2;f2KadNFo0h zOh$abWf;+{GZ*k6g}Q2Y&M9FPqx3pJbGyFvI8^6pv%9-s;;=)gw1A3$?>?>CwPir` zX~?Y^HA~Tdg3|arurPZO@OP(|YC5STjCcB&12YbIt)la>W*l=8Vi)ZvPb?ny?5oa@ zo<~_!w(})gP7mU|YK4kE3c^Oc`vW;V3E6=!1^LPopOA$Pg3g$XwL#bq;Ku3|72*Ud zy>ws{@t6v%p$x%L{g875zs200R>u;DWJpy~6CH-jfX@1a<1&Hz0$x$o-L_krHX;cI z+B`Hy@&>t<TN1an-jV6EVCZxdf|F<c^v;QgpZOW8x6UTw*44Wmw56v$M*Tb=JK#O8 zFn?b0vw7M=h^)TgFlCT+aM%PJbstsq-pZ9|5f)wc1v+0!hA~-0c@xV|hCLsHg?fkG zpMYwk-9Mass%~=pa1K6C4D;G#`Qi8ehce8sqgr^7cI3(&u?O4+>!(YL^%R7Ql@#+q zf}wx#^8V0Jfeee`pCTrQOQ*#d#N(R3QKbWW1pHlLAL4wWrYlRSPU6&H7+P$9J8)1K z!UHivg-opr`=L|nkKo<(S6bFkHaRJF9%ypcv*z(|LaM7cDi0HJ&R!P!7tVsSSq5zx zS{=!CVJ&G&t!@`Xi7%C|);SRKXH0V{`|zl=@U=maR%q(#Z{#%(;n;F@bc^W@;sBWc za0p%I8&p&p0&h-#mZaeU8Ro)=l+y2!uTa?qe)CRXYQnU+ZS{Y)-S%EAuL}LW9DKyT zIdNRNvmC!s-$zrEFDS0X`p*#qVsw*4&TT(swk;v%{qX5aqwVJn8%$N~7KcYOZBm7y zlmkl?!41?9but$APltfNo7y`R{J&C@AG$;!hAvhrZoc*bo1p8S`s0e#z>|f!nO6K8 zT6?cr2Uid7<O^>m=pkTC<(#D1tMd`%4l)!cPY(>gfFt@Ha{61vSRnL)YtM67-M9kA z_74Ys_%{+{(=(3Y`oe!NPs1{-ye+x&-?4Y|dK~~DlM$M*OW|S$#TY-ITLH{ex?o4w zs{KxZrnY&Z3-1}l1<Mt_o?2NTL@PP(Y6o;?J1$<YiC<+sC+?iRyZ_Em<-PK;%1*() zF+--sk0dHqqB{sZKpfJf_T4b*Ged7u?>j{x)sDJo7*4VV3~wt@A`dS1dPb>MBFTnA zD2daI{EGm7a`vvkC&qqzk&L-wIoK0|1#+Jl#4|jg!m`j$a-}Hd`6W!Vx-N9m^=p#> z5JHb94v8dmGCuXNqtKiB^7g0Q#jP6JomF!?naY(KWpxXJtig_HO=^a<zZ`8tt6ODK zO0|W7DF^|q?E3D!()9qTxKh)8LecsXHe2y=m{N~ac!y+D=OII6?zW>X{NYuC;eG%h z(oTGhzb!d-xm?FTsFmmTD##VKh{3L@d&lzx2@85TE&dEV={=5Q+f-piYfU;yZi&uW zab!!=dqB$U?*b-&oMi|A_JU7O`(vPZld^KqU7zT$qXE8p<@T;Fe^Jj-{s8avt*}n4 zJh-IJmymyX6J$$Yga<ikbBosiuIgAc9;)eiL5}1=yl2Ma>a>|il74;hh6YnvrN<pZ zH~RA8)mnl2N8RDvUuS+q{F%aoxWz{r^k|cipf5|Me;^VfC@(2~XJ{Jf5*W<*5u_T; zDa`&U8D@E5a~&rcuZoGq<7|1p{Aaa&39;Y$=IbAsl=>Bv(a_iK{eP+F%NT*wt$ig} z_w}!Fpoxa^Mhn9SPLdw%Hdic`e6sRzOS-Q(c`g^%-*T9mn@Mj957kQ)9kCsG`0+^I z0!uu%6VW!+-4ErTRS4gUp}h&lJE~ayN`4AgozDEU$3XN-|6wg1^{F~|n_$+U>qhYO zJ4drv%M?kBX>g`M^g)exI5vxX1)J1_gctK}4+(RKOM^(knEO~7Wm^0Dnk7?xJvs%w zyA@&<AcwUqQmfExHe;z+>ymrL!y=|GW0F3f;DW3HT`B!);uv?QOE5L}ZW;f&Zliw# zm=?M8#G}+b8J7G$pAtZl>LOG(C+>38x5lGVAF%!9qL6@3)U)cWvs)=sc;&iR!B0F? zF3}ncGA{RTn66r>l4inP#w4%EJiO(=v8sX+F(Z~%Z=KMdAI}tC-+V>nRok<fwVn-n zGh+zIh^0e3l#B&sUm5zCFIEMuCz_#7os0%<9~O%Ib~;C@qbW0Ld%A^dljg!5GlkCN z4~#e3&hVPqYOxkK%2xu?72Mv~z&)&bGHa=xfDHDm0DbNoai607Y*GA0tejGRW~Nlb zE9$k>8A;f`_om_}6^mGeS8~I~mm{tFmgh5M0qVcXy9Nzn=6QeJ$PF{2k)S*``J-;| zn@Bp~wIb1QJ-&nE_aCNYTA26XW^JLbUDqQ+nnV!>Utckq-R8z+FJGlHsF2Rqp(Y`p zXwZiQwgyfLP2CYj9)>Qu{EDGqom*xYy<OR(XPY<^`=+}1HC1fkT+XhguePSQBZ$JP z?TwW3PifeeEX<P-oBMjsm-!IsuQ<PjbYM)~2lrn${rKh)O;%(5eYVCnj~^82La_so zdXyJ0opiX$=^;#T7=LmRg&)RvRVtg-hB3Y4qvY=4epe#xY`pWO;5Rv#uX7^lC=L6! zRH28lQ-v4Z5}atf@LVKcp}uR64152#U@fHPHF)-r@>b=G?z&?~pCPR$;HOv{u#Ovu zO&?a@GI!$`kt!bTQyy(EGvHpb8Mz)t-Rs?UL~uX=bRB%51ZB{hy3iK$4?^dbCmxP? zZM=1J(CzcnP6#-n1u5$!#$I>7W_h(DKX7MZ?!B~l<e{KJ`c=1|0oGDM^5VFw7<MIA z^|Q>ZxH5~uw|k9vwQ1D`X}SiL*wjp!5KH78c<#I%pfAQk7srpJ-~g{x<bHBx&X1Rz zO_$czj|R8rZNS06rn^RbU}5^nlNDRxZ_S2OH8*r|vyGB6H~2L*A4#_2n{TZGifx8Y zHtE9djr*p8l~|=O)m)mJe7I2rc^z>HJSg&MRO8R-alfJe#isKHmq9eExZ**b(89O) z_<k**W%{AD#&8v_(d)yji+nf-C*(t;B=$K+3a=0Pfi4XQmRGU^4=tdTNXISmnv#L* zyoL6x&+e3M`}7@-b;zKUK+L{Whu+1`A(xI4SlhJAduduL4X@uRrpaq7pjE|BsyIi# zIVyaQR>Gf|AU6~=bPw@GpCvrWnkBi*ra$X4@iLXuu5U&=<2(Qj&d#EK48?KKt7h>E zS|U7ar8pnc;}XeQX?n#gu2fj?Ht$K^nSxk0Ud6pb>mN|m8zLS@pH3P~%bTW5jB!3l zKoR^aVKub+Sanh$+!T|PuA_7c=O=b(vgkW<o~uV|=j`P-7kGKBvFb^*6Cm?q|3^N= z$T`Wr8*COVHjkWmXy@HgvJ;7@LJc>0y}c_NsY0A%e#4Y#f$1887?i%SJu;ST+SBZx z1tn2^!ix+DkJPF{6(0Hv?jhKN)2c#>8)ps!6{C_|rmV3f@X?^OVCe}4ktWY%eTR2M zJYXz$uwJR`VW7l3a%;sWGIuaxx^x@YV&j`jV@xV~6Hn%WsmSYg^!8WqJfbpzbywI( znr6KMdzv!N5CMfg2px)vR|u!D0MA_*x%&7zLU^Bm_##=hv-*Xxs2&mO?}%`3y&CV< z=X&T0=co+y+`;)Iv`r0LQey-Is`1iT(I4WLG0J=HBt~@_U0}tHfAVisr>*$-I)H)m zd-rSO$fTxZPeaa4UT*AOe}K|>B*F(WD=d2h*|+60gF0487|wcd)wUmi@y8|r9?9*` z5#>(Nh1DvOJrUnr3sfp93pv~;IGk`OQ?s6BUIFxRc}b%A_dG6JcIo3d%2c#}#sTX1 z3u!4@!H?@WM{pSyQMAiC+mB-q6?=5AKH&y#n=81{$PGmTZD=o0;`meajxAWj!sSII zmVY;X!1n<WwQGixcU<iV@=`g)V(e7X+51}%cDnl4c3cWR{=>nKHs`FFj(0N<n2COE zHnr7>8ckoBZS8=Be2n)@h((1p9iegn_^ZOvc;MB~?T{kvejZ&>NK|md>K+|9yF!UT z4;F0THo!k#l!I|FK}N!QRXTRpqj`M=@Niu_RT11aUvvE%CJNNmARL-kgJH)pEm-@= zQ_Lap?JIX4xciJThCMMrn-|*8R4m9^j2L8^WX;4~9)BGYxllzR;UDHkyn6a?hY>kM z5+r^|h5Hc8ms_{}p~jXb90<#E1HD`eJS3QaPdg@8N24(zpXkJUuW$8YyJ*QpX1@$1 zKxBS`CjM%l7LBWHQ%#_bc%p>OmLg<pZP6c&`A-|aI~<eM-v6DXvo1pA195SU^M3YS zf8yM6A_vBI0lr`^yX<ygOPnCN+hZzw|4_NXb?2Id9LzM4k;3W_+9&P2VbV2$BGmna z2KhL}=TZ6Ski1|N@bd5D0FII#uD$+{i<5;qIZ$~(dXHrN*v~08g{%PB9ViPMX*ZMz zp`#0OQi{rw8}t}S3)QKOIEPAPFlgDB8>w7x_7W5!S8C<zZ+zq?Y0}@&0BKd~Gu5E} zD;(33V>bsJiI#=cC2{1<?fKVoW8*-&2`E_K?c=bAQlkBv#qd|AVlWq(K*gq>9rhm3 z!WsNds~U22F6Bi23pLyvlhj#m&Der*aV7ldG!BqlSS0y2VHxe^zP@($r<@v0N|oYi znY_Qv-cd0+d_Zn-%+{!REn+f{<A5d3{s~<mEt51Sn0id5<h4i^r%cVTVPL$(tB#7! z`H#O_{myH@Wa+uhBkNiB&E3lGthNhXmOkC`e~rWF*+c(!g-VKD0uQc6^;SDboQ5z8 zqjc@(5g{Nc#ksD5?(dUP9w<jBgB@f>k=)`2xyYY-Fh#O>OS6SR_WjUNR=>1)8j&5f z)rPE>RB?@JT4QsI7(}vkaEroUWW@O&W(y$UMWJ4giHk7!GO%SNo#|lRDA{qk)iwkJ z+%3)wxnC7EI@ir1e_!qtg5EOJEQL)$sy*^uOSA_G1_-y{w7j+dRSiuL`#kcUgM;1E zey;;5!X`aI`ssm6+}(Ds;fsOpk@R4ev7tNIUk0s21|K-o4!j%u{UT7%d1S99Vubk5 zjP|AHcchJ94VmlWj~MR2TgF8-BJO(MKbg9Ng(9*KxwQ(^5en*mLkx=PmbxYqO1F+y zPC|&>39~VlV&=;I&hdiei2+M31@u+tcqCnYu<vh;6hBEk=6yBIVJZ_q(ZL?DSH=7N z=9Uxaw8mk0@a)A351LZoAn}S%H9i4_ZK=SD10PSFWMQ?+z(Fmw(Cfacpi28pVbnN_ z4{sEU74T#fXpCSe`U2mBXBBG_cv*;U>@AjOG9I)^S*biyW$64S6aFm`N#^j*aH$G- zsEI)yf($qT#QpKW7sP<!f7}O$Zbb8#lm!9bP%XT!k~OSx#2Z~rF*?lNuw!Gy{LixV zo``AnbmgGZiVC0*dcsl9e1&7Dl2qc6^h5Fr{UZs*j-rz!6GWdJ7K)jpV9r*0b6?QT z(dSU6i0Z&Ybef|m<wJPfE_x}#(08Y9yya9$ADb#9rJMFC2H~0vVOPwLrkjph2KU6w zin@>!@m0gIRSRtB#AS#!<yvi<)tDjr1`v+G18noCc={i$PFA-bk=u>E(@;ZG;tZ!c z*w(m8j&#yg{{%&3E|&Z3t1SDQ%f&tVH~3OEV@wC`DrE*|N}*SGo%14<^^ar}=G@m$ z)=pmGIPi6+*D-p?2Rq{`Ov6*WzX(f;3Nn86i(`3#1P*h3T9~GZq3AkJT?)Do9JNkE z7LlxHoC+1lhDs5N462#5O6*))<=N8<9~;TVXuPw+$s->^FZo;tG!}R&Z0%UsC`y=P z6<lUM^KMkhLcKxxYXdfV;%sCrGr)r2j1n}a;5ab2cU0@R&x=G-a4q?lA30vfYfuaz z3seF7_301N#H3sV!l6Er?IH5&5cFB&m{dXfxIDi%C{tyT_A)nu1Z8Bx2NnlAAHV9& zs5mdD6U`_UG)~>V_ymdh(i;~~&_^I04RHdkDjP4`{Kjp_*!_kht>YsTQr+R6vbvtF z@7mbJ_kG2otffr(TcH<_5QlUU>@BJcbvKd40LoXT%NCdLTa_ny3DM17U*$AjWGV97 z09KsW^^I!b-fk}l!OLe}9N-Sd|DCGHl>*{_N8@@;6;m}YtAr_<{ZB0GaoyFb+D0)- zYXM_F!cn<<mHY>79D{v%nz?ZFW&~UADC@$)b>!16w7T0)gObflf?moMtuZB+h8_Cm zzN0L~E7it%`0pj24aQ`yV{0HAv^fEdyT3XpBe`ba*`g;SQWG(D`du)goIwUHxph<S z!pfYauC`{yo|a_2SN?vY`Y`ZqMU}5Cc-;uU(B<FjOCWk3QI+N9mcKWtDfY*->U;^A zkx&y%O%C4oixqfkcFrEFhtp5<2Q`uY&h_6-o41;c!f3a_@?`2s+_T~$Svwo`;sxtW zcKi|jX}Z>}6OVk26qKIjo)h!Af&w`|Ue$Urb9Oc52bFXY$n7jMft%0505qTVq#mA; z?SBiOruETI-6Uz2C=9x5r;YAgaQ^U6t`DI6gVb?k!cs=RjJpCzxiquFN=;D?A~KX` zoI~z*W1s)05np4Gxs?_(D6mE$ftvl%f?QONg8Ti7sr?mROF^i_kj1GHR|=JT2hyX% zCFo~#{<fa$uQ))ncQE2(KNkTVJ0Dg;{o+3#1z&ks+9Ri^T8HIlEFM;PbVEcyh&B3q zawi_4lTv?Nq4B!2r>XQ+aJw`|VxHkKr&SwP@d}|dp~JqH98nHJ(wR6B!#nNB9Z(?g zBP&|j)z`~&-E#krWK8%~fn7~y9~nU(uj$*%fH7~YH81(7E?p$CKf-Q*55STv(6VO- z2gU$n;_``lfU|pkIyyb$*k_@YdoMQkC5jOEvDvP(dNtYr$?=8n&Aa6(a*ciHLZ02g zQ5HP|<Sn}<{$5VT{`W$WHss%?%a>bT<_19nVvASyx`fFs@<s{Y<kSZoj&n*APSSq| z)2en;9hr%Yxr)}MrJk8D`?|Y4*hQny6KV<!aIN8(aO~@)rOsiW`Is44A1Ck%9hqGi zv{PzCEw=r=fuHrVmd*imuZdt+^P~8qICcx8ovR(eQ=>IM>8zSx(Gd&ER1hM}-azn# zAuhX*&Z|lG)Rnpd0&a-|2#^LY(Vb|oi@F4+r^gmchPqgsvbwv*sa*%Gg!!BB&s2<8 z9Eprw=CYfltWrH`op7J#UCc@kgy`c@{f0E$-^F70-l~$(2tcK{9W+y}Y=%>8voSHu zm09p+0ps(Z`nXLy1A1F3aoFgV+{M?QxuBZLIGyq^<@5QF;lIRXQU^V@f*%tz;P+~W z*k#tUhc*j9s7Ort8QdbhM}Y1H?g34yW-64;juia5d})~D-f_hWwX|Zah`i=p9%Yu4 z8cOpwLLpD?VB;Ts!HyBXWqJcqlE{w6heEGf6M@?(8glLYnKTjI-#|HqOpdZQo4=1w z@cLKH>r>aQk8;?`(}8ze=q9m2i;DRqjyF$%fHgTYY-tlDuF-t&t=HiBxo8d8;Q|tP z>npwaP9%P{qLzu>AHL&W<}K@!SjG#Cc;We{=^L5nftbo3a_om}*QgJ3fhPpdPt)~0 zOtIfI1Tl9V=G7r-<nt}ebUEIHWvMmlZ*>TIs%4j_92wn0^YE-E{>j*q6njyrTPPi4 zb%1@B$f_K~9)U(&O5F9inKWph=J0hHY0zRqwnNPq<g-^>GNrc*q+Oja?IUzOm<j8G zG*y{IhXK061K}-!lM<Quu;05rPrtp+PbDp_w_kW3_{VJLT;uyP!>X^x)(u*6|IxP% z+wYOD$1?h%UY-~lwL=l-CB2`4kXTku?yAwZt-ga_XP3erqpXIhJR*#PlX{DfvH*-S z;{*GKBW{ckgoqGx#AXL3pd!Qi8D|T7oqC%GS~@Tu-`$9+o3>3P=8!5+q%=Q8!$(4E zA+5f@wKPejO7!cGUm$qx!(M%{hA$>SfEHcrL$zmNz>|F6r!}aYoB-(-_FZ0D;u!FU zA^em7hSnO66s`cz)ic|BwRagsm?XHFDBLqfq|OY~@}pFqvsSMQY`>4gVhis(P)kSl znyhwNrks$n6jVMEjOMgx(>27=S|T7XTXgLArN3HBxQA@H%_!zMyUZOIgl(=65B}Y7 z{`_iGyCyQ|*B$Gcx<0E>tI(~j^nPWXA9fn3>d}WCXXEp;%e-Ao(Yrr$<aw^pd>sq9 zKgou1Aa}cLXi2Bgz^E=D#vmxa;CkZ>S9H8Z{JOmxw}I$q(=PW8ZbR2!8Pf%RFcoxk zHLMTtJ*3{pZ|};pq`~ESL_}(w8DCr6sQbF`90-^}jig7ZloJGO*ImOy_f77@r$&M^ zrQcKHeB%WRrjoA;Mo~M_r*WWZn-E3(l(mRKU~ceu_SF3v<@0Ha#Hd|VcK`4ulP08N zE+&WSUj^o7)UJv-;C<3$C(pKuWYOjb*9|jB*>6q>NSed_p@>|?LoCt_y+II`$!;Dq zOJi}Q)a+>ywVmH(^Hx~)-64kCQ5bZjJ5QOFs?*%H_#^_0ir~FyXc37})vQQc+Yd_U z6&o}WG7t6Paf1c0ax3NKo&yIQn)wk2sI|5~Sl!;g+v0vsQLCtOWm53mXgJM{trHXG z^+^BmzJD?y|MD;}*oTqtfV2=}&<r!ejfSOe{9%w1^NQMiDvDGg;awqJ43}VkB>}?c z@z&w?L1QrK?ve=hw6B<gly6h~gN<`u%B&#G+YTt*;7n<b+=Pik7}F^dGHz~5YwJZr zp@|c>Dl=FVgtQn;C3ejiscH91T)JS1Xma3Sp$WUv%Q}V#L2hh<6E*xOo=xq?%*E-z zCO;CsAucdUy1`lkAE=i2nEe@JIfkj@ubIdc|2l<&Up1<Fx>*c&Ao{=LEZxu`^GLS( z9H70nPNNiumPl4<mi({lwfn%nV4YbZznDG#(m)21l+#@psy!S;-AAxOcYiYMC+^dH z@*uanQDgmQJ<kevS*^E~bn#mm4<8dAHw`K|jZRV|=OrcbeQ{}(8_6wnE2^Gm*<v(b zz^4uO<0znjHC$+6Bq`J{B!=M6YW7Zq(*Sn;PF>J*PZZ(k^2d2HKMY_BX9hrv#T`7W zW@hOvCOYxP<=;Yw3lY06<!cb2u4<$=9qdM?R&*#4hg(j)Z2#_St>Ifkv~T9yK30_s zR-S>H`)31lyasyy-{Exb^Gad*rrl%AT(N0K_m<1I++QkwsVZB0%v7PCSJh<+L!_kG zYEXwz!-Q6q^q_ER!Zim}FK6gl;abm!>AO1kkxJU<02F27No%%GE$>ddn!5w6GX!za z21e9RoW0}I(V#UJ#LItdI|y_UiM^P%-+!)W+}@>jxAz47l+_o*but|`mP!hE7jwm6 z|0?S?%Dz)fVgl(j>G19?p`FP!pcc0nM|E%hn^*<U4`&W=o)HFe)5L}Aqx9(9q|ciF z_DSIjNl~S5@vFW(xUTRFX~cqjccVs}Eydz9jK+F2^v=`ylLlX#AK9faR}Bh`Qt=Wi z@ZaYw90uZ@o2X&2;j*qxFqiXFRZ5Yegwk0FXG%8H!_s&Ie6mfb>fho`fDyu`GI>K% zfd(6ogZW9Dq&;#(II8A{phI#z=%#WU=8M<7kiSCT-*+85Dv(!${T>wcIbMQ>bBv(q z#pQQeLZp_ySk4P1EdORr7%p3C$?P^%cE8V4^|v(~2Ie=|SJ{cMe^BNB$$S@e``1k8 zWMn)17wW(#aCzJOgW;`cO)>Y5xm+Cq6DiV4+KCs{4z>DMOTwPK-KI8|{F8YP*{3<N zyZb#~(KyDRiU7!8l$fCbwJX+~Q;q?GA}7D#>t?N&SF6cy4Jx(4!G`XuX024(35B3k zU%c4Ijwl}No-~@avMpx^fGc*&<TulNR$}~3g%jo_135zO0#<mjmqpRfJynh4iCTX9 z#6$v5yw3ds3rx)>F_b`V>16e<E5!Z7gR?C}#A?&WorclMupm$Q6=9t!3bTqI6(a{e z3i5ov60MZ14zu)<ES$$vw7U#+x-+-<-JEBo8Xb;@s!)f1WgxmrdoNJ`gm99ALkW^L zz)7+G0_rf+y7gf2Leg88+|VYSZ!gvYYN;aO@n=_<&cVM-OrF4MVNMz)?IiM!kDJXU z!R=pl9>C~A%Oxdn?e2X581#5|hH~l{e$ZJbI+mb^+BaEpkS7P5ftd!gl$~JT*aIQ2 zbRb)xj|j*?;KTcKI8!?5ex4l2PtfiEexLt0p!3*rlKpQdT>MRV{~4K+I|6^e@~6kk Qw?7i(qq1~`q)G7q0IF2gKmY&$ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png deleted file mode 100644 index 64b384660f7b5e32c0c5e282770ca41f8545a0d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5961 zcmV-P7q;k$P)<h;3K|Lk000e1NJLTq006@P004Ff0ssI2`Wmo1000*dNkl<Zc-rk< ziF+I6o$kL>5)u+}KwDa%yQPp)D248BOShD=rQ2Pg?eesAISRB(={{@$J9h5FIdSg9 z2}v9$PGVb@e9N|MS+*rxvL)-Xj+t*}-|zc0<I!j&+lge4olnu@XC!@*=6L7#dw=&= z6h$H0Lt&4?ZT@oJ_e~qdm!`j_4bw{FV#|H2&|>2<{Xy~{h2MOSEH1pnrj=h2ND@dY z50X?>)mN+RQMk=t&ilS;!}!wl*R)|;X<Tf%Zxvc>T&6!v=e_Wo?~%oYm)NvYAW0xe zAW0xeAW0x;6(UJ6Zo#;P?Iw^UY&W6Zgmx1$NysE2lY~qXGD*lJA(Mnm5;951Bq5W8 zOcF9l__zg<gmx3!O=!0jD3kOB`T@?nlR_p5?N;=68GwlPJ`qR~NLn0{bm;Ky>Ez&K zyo<d_O7DX}lHf@e@8dAynMsGg=0x9%4W2iWnGoJF{g&WKA{Ss@60Q1XZk!!>b&vCr zo$U|paXsn`>}E)k1(F1k7LFttpm9%~I@GmohhuY9>)IXdTTb--WO~+P1d~A0J#D)c zp+pvov-0evp*MH6KV0kBw9EOm6MaAR&0Ob55<E%pB#TcA7qbltmx;LRi{5`Z-1Ys& z;dg?G9#s)MNysF#ZO^y!97TDH)tuSy2{(8n*N7rp?v;>9_q0sn`zOmX+g9`striml z{^Zg-DP+>>mq|uZ#5ZJFQi+;Kha#yFE}Sgy9vx4@$1P-%d0Qs<Clg8ag>PN-{PxSC zH{+R!LW@kq-GofCHqA5`Nnp~c^lbb1-a}na?{<D;uj|of-$$DBniRV&L@vN$7n@W; zF+RFtq9w-Tk>o6Rb2u@2W$5j_u5Z;i9)zQ)*70Cn*S5jw3&voGK+;_<wgk`$j=LGj zGF4s#8twKe_e;B+4{vXK;Pck|s#@2;S5(*eWZU?5FsC~(#{`lrg^&?IY+Ke{zJ>Pk z3gAg3XO1xfq)0u%qldb`4{vpK>;0d#e6_lD-44eV=s1`Ez-%fZ%cO*=7CdR*#a8rG zW^{s3)*v&9uj<Yh*=QZxmnRve5jN6N?B?j-_PHK|1p2&n&F3xm)wFGZ+xnFI=a5oh z-$b^s&V)=_;NrsbMwnScK_Y>bCZ^)UV-d$_<Tkv!iOi(#%$p;os$x^^reT@FD3<nL z9{T+r=QnHGHUdM?Xf=*aAlgkM??+P;U{26$#yhD5<q}Am7fH;+LWx8+n+?VWIsyk9 z2H!Z=^ZdciC--;!V_oM{NUUh~{gnm`U@t4A#3f!%BpKcz+$$YSbf4*eWta2olo;hS z+SWr|-|L#JlSvi_!s*ex2P2TQ5F~NcBxlKZ#C2`>gCpI~?RI`0HVsZb&OAs(b=!K} z&%4^ccC_dD{;4xL$)qX^LekRmBw|c-^hT~8@A=Wr_J^z6)=?O>t;aE(?EBeR^ftdC zxVE<BH-aZEd@-k_TpG<J{ViivhbbT33IJ8L-VZ%MjhmJ=RV`~dwE(2RR>4q_x1)LT zh&{7PD2#eT^>v-wu*dXZT0x99!g~Z)WHdd>_r919Qy}S1ki;I6B*O|m*!e^)OU1$6 zi@&&m0Vyz4yt%z?1732gd1w39a|6Gc&4%^3xQ&p+Gt{uzIe9=ko;BES2-v-@$8Pxk zCne1oVI*ox%7vtyjV!C9;Z_JF+_%6GaDzMfK<9VP_5b@V-`_g|2d<BN2(|=shf1cl z^|&bRsgt-O)Woxi?WS)_B;%Uc2Y$DMnQ1gh&9V7F$9J58U6dGUPJsow*91>m6i<S7 zld`1Q_cs_cU`U6%p1v{iS6Ii%RE!$PETOq`;vkd*XcMl^j`q!s-ggvRc_#H(M>IWl ze&E+Q5^y7y>$vqu_cH@iXXnWw5lFf_B=I#|EKSEpz#<yGe;SK8!M;^lWj+B(B3Z0~ zS~%(c*>(pEp!*=S>id4o<DMl#Rm;G*x!Dgw4buSj8u<0Go)>&G&5U2`#E2-Oa<bfu z^YSbtIh^pN(@D+4A{joV7YJSe&?ct-)<b(t#=A`s^kwErilHWCBy#O!-%nxx`(y1U zVpLvm2qal0gi)WQ78}VEEi?y%DLA<II0rx2`Q7no%Yu-!^qxuPoL8}bQ%SeJi-q4W zv|AY$n~$1@s?@?;h+dk}ndS!1Z{UtO-uq9`bmOrW+i5qWKdI19BxKSO$fSbUt;J$U zrnD4C{UAtfc-E83&M1Zi`HIV=Vg^_7(9cqY(u7PZl6*l5^GS+nnB~a@$ahI=PHGD& zDteXJcCqpN;PT0ZHqg?^BxY2~*=(9xorZ{q=$|C=xECRlXv`J9)JV&%(NDth5pHUh z$lVq)N#t=`$Ruu;g%WNsf4Je#^#5Bh(QC?25HiVziwnzpN}RW)@NwfWVty9}-$0Rd zjbp=3=fkJ_e-Vhc8_h_8BzrDal?9nZ6-Sc(5=pcO=pfCA#niSQ?fIc+x<M0Hia?T` zWfGG`vSpdT((xoc)Q_G<*GK-muj6sV2oX$f8?RP{?PmMMxeXbPBUC+u+RBFHFtVVm zl1livC6ex(JcvBb8zX-~M-e7AiKQ1?$RxWgrddd;f5tfwIzN-}=OVkrI;LK6?Plr^ zfsTFgbU>%uf^pkiyGfFS1cAD)r|NrOyy^R7e8!o{ri>zNnW80{5YhuWLc7^>v7Q0| zi~Df*v#1QKp^1mzx-|4(iBuSuv9uSuqPYNu%wf@wdu1%9Na~!d1G{C_0r!LBwvJV! z&4*l&0#JUQR4D7_eJQk?Js0!*u#UjqBi+v;eH%}d1E2zq2_(7VUVwSM4gyIlizj8J z^vLwhtHbXe?|q?h_&xObSe!rU&a|6i?!3ljphCp7i51C{v^Qlno5}iTI)brY2qU6c zT)y)1B$oQ9pl4`uIys<q=F9t3AZev7&ZXw!A9E>LxB4s_Pns(V<~<&#FCeE5CH>*q zA)(z?e6*yXM_%c)*gMy5Mqol9B{Nf}-M>IZ3v&C>fVMC6MMh5Y<T@dfR^nm<V^NG@ zi8AK`<Ow9k=TW+kyz%PR^(e91L){N=rln}<Bw`_x?6A0)c~qi9S2=y$b9p0xk)kFt zp_A^HP&><uHQ|TwOkXsHX$6vOo_)(QA!S{-EM0d%Wv-4>0+PBXkL-p(qMadVlbQ>I zuSs&MMD?dYlCs>jC3y#K=!e9MOn6Gkk|K#Qq-kUw<pfgeIt2U&LKj#c0$DI_+ak$W z3=N{2&L&X8iodvUGVANMR7m0!j2Zlc(+xlm7!r^KJe?c(butyzyY~s1WVgkpLzYl? zE2%vb^(bfi(({LL)O541dB#-4%E~1EHU!U=;r~W;COQxxK(oj7&ECmVG+CQSO7TJ^ zfh3zCiC!jI4aWKbBlKTHYAaF^I|FsI=@{=bdFM!4jAxQXjFaxeUC*!<Y_tQxiQX5Z z$q6D`kDd`;0L4yy0a!CGg3ctDJa1ws9&4Vo4hA?HPQ+7Fde~p7=zKRlV(gmOgU%4x z2|N+%yFL1;oXrU&fg~F)HXanK9aG!JYWBDu;j#d&lF-P?6S~6k+N_5xmLExwXE4wj z24AaTTpNun&?$Q?(#|8smftRrWD{qjqE(L#O*Nuv1Zxh9c8u$gJ<{y^IGd4ax~)Pg zE|YZCHkIs0yQ3VO9UIOM{3kkPbFwCoWY5%W?H!4CPD1tA4#sh-XrrwyXZv4`C4)pR zDhtXjlN7@Hq4b4LVD2o4HgBTUI#z?Xd10jBNw!*SbT+cMtdf|GTpauz<}XyUE~QW` zXcIUVZnG?HtzhLOf2V2WLu$3Pz-n8EhJ;9GLEPA6wF!UH@-8+VAnSN5XVU2=?_YM) zZq;Z=`c;@p`#K)$3>;#DAY0t?RGGOY898yL|JChUJIi`%wM~K~DT>H+vsd+gejj(r zvK?bP(UB3?4r4sFx2^}In!FzXUYs74z(?7=0F)%nq<lxapW|J2YaAQD^!z@P$rzIm z7TiTyXtxS3Hl~pQM9c|!Vt*$(+VYqLEbfQS54;vjhAin(1$h$ZYpe^~Z8WK6okrJy zwcQ&1l*&e`+60p9g(MbBqtXZ$$Q?XKjWx$c-2bed?G_9%55+u%^yqFoOe{nuak@P) zeGV~ycpzZA!6DH*c|vz>3nbZOv3|G|C6elyx(r%f+qMbRmW8%9A?F`$lZ(Nq^0ph( zZWv?%?Y7tTI5aMN0p98BI^7mXvX^$FE<Sa5s_9tI4`E`{84_$#9)y!Scot$olBI>8 zx-xqv6`BGN3dEggTRS+_&>uP*P5O1ZEs$g<nM5;MM<chO#V`|wPL-fALKoX7x&y~# z=CvUTSq3B-|C^S_q8N+DE!z(WBrPM7aDAMCJ#}4A(r83Z8a>e&ID*#gtaU_DH*&@O zNx8%%M&sz9ECryJ6+%j+W(qIBa(MyxOXT@n_Pn**`3SP?q0~D3b#%(GEL*1fFWkRS zu3UgT&uL-WuaHT$=;23r?{+mdJ9%a3k0{pYnm8;=tp2Fvc&a7iN#&n|yENc1RZ6S^ zB+c!on%7r2??71ES}Z+27QLzD`yMU*PXbBScB~b3P*#CVQVLqLTb|GS8%Zs6_*Dc+ zcUC#Mz>g}#lZ=yejXk~!cYsTKnl(&h%Tn}WyJycn5XSwd{+Ik>SxeSI@<uaQ9OE+Z zq<kcr8Y3-@OfoJb{8&odE^M5c6o_`v_#iVj^@(?da^B`LDgWfK6n;q!#Ro(2ej=-S z({oZ}fP`YhF3O5w0x2H^u9TcPQ90W!nVs@R8Zni;SiU*XGZ}SbV$<3FUv&kJAkswf zM4Qb^#xj_~DnUETB$*x8Y&y{uIC{$c(k0LDj1ja&nPX*^NsFyg%K5%j6}<qQft`_* zH&;%nEx$7)mFNd;`X2li#<H~gYfrgfhR+>?P)!w^9O4j2NCmv+{Q&jm@bjWd80#6H zrr_jd`i}cDloh4jC}2Xdfvdys>~lR1$0I5-T1G#YnWJbWA&JEW3EB_#hQ5G#2}i{> z?|T?Xx+s~X<d3hn@P8H&6<iRaw{C;y4Mc3<aNFs82%g+n+OG*nMKKIl^oE<+%-08b zLKO<CaNdC@m;XRGKFUJRDx*&lk9pn=jaagNS=eU;80c_q2Zm8ouOr4TVj_d7Yt}L# zX)zT6^zGSn6k{aVAluDs67r+1<JADuo$(~IcS_Oc=8)q4DiyPr;c!Fl9};emaEA^B z`nbWl>II2lMDXG6rxE?8nJ}1T&gwiVo}AzKqW7O~kA5~8?L)gDU{2wroR2eSduQ7; zNbDn28!rw)IyTCT&^XH-I-@B#QuweJPtyNeHk)l3`)q&5xB0Yrcu`Nee~vCnx>P7J zJ5a;2QE=(|B~x`HQ+1;fwRo$z+$cLh8K)9YluWgaSD|mSaV3+T@@zUj5NbF-@E^zz zMBs^MR^bT<()k7WzunI?4!`S}x{}I7jr}u-)x@fb$|S?Da~#Wsh58y#q8Zua5!dma zAF+8JzZ{-!%4VgNrrns<fb$dsNuZ>0L*POVN3Im_(47-7IlGm`SZE%fBC!i5vpKAc z<j}LHVsbS2<M>Q_basLei#dlp_J<OetKPSvUYkbV_s!hUT7FybIecd#73~Y2MWHZK zVrttrvGh}#Vxf&W-;BHBZ2vDiCiaJteKMOWTo`|_RMwVlJuI1JA^EfT9)mD0(WR5y zq##Df>T&va<;;lONmlHx-HaQ&!vyBqoN>QW-}e(QgHbV;p!RzV08~(@xpM`S$TSR$ z><08Rj3mZKBW<WJZu0&a67G1<3q2FZjmb}Q`=jLeJ|>@{&?R?Ns<mrQVTB9~z-nT4 z1_>1x243Ia@ehzsOrWl%DvwqYuSX&n?h3T&gelY)s*k2ewUP5hHHDQuYhAKvk%=~E z0TWHD&Rw3g6dRdo!qI7?T?-fjJua#o=say^Iw-|s`!@Fi@b=Ap{#cuFPLj!XW8V5e zFwujwU65jw$V|nC@tlnIj!fU`51vOxIy#6q4E~0bcO(~sKSK9I?_3^wE1gMGO{ZGN zSq(R|Y^ev0;LEv@U_7VdLsM5T5B>2_*Y_yTaBKi`;v%Y=il_&$1F(rM48D#ygOSCX z&jUw*A&gzp6+&_zI4+yne>9;7@1qO;aQO1g(f>vF4oLcD-$(TOi@1M@o`YB%+%{$0 z1-BQ;%d9e1G#OhwPwa<)Inw=uBRxOB-@{$cB4-a*5rSd2>k(Yb+V;(m2doD)l6q16 zw1&0Oc@WqF@)%)~t@g+45w#3}Sl~&fLliQZG}<cM^8H_Z?~h^40X@2i;?-A>Op=@~ z(VuS4K%jf5ScXLnJIv}5nflfeD{@yPB}Ji9Aq5+~@8XbQzQB%Q_tF-eDBOg`q1cv) zxtmbhvN7(`{gd<EIXOaeZRCB>DNvK@w)@$W!i8?+aI>}wS)q&t14C6UYw<p^dr^~x zWIu2CIv;pa`0I-r2yQw-z!R=3&GwWCv}(^}{l&rG9_reL0b)QfEIat0oPk}I0*QYo zzF{od;)^s-M0?N^A(ctc0*xa5(eM#8I22JjJsVAiqN(v<qT3U`=nU+J1Ld^)<+`qI z_{CZZpbb1np4T@6;tqdpF*~LNuvW>;NdsWPi_>UbfID7841HEHYQk~DP_+(c4JQ%H z&^iOg$cesxZSsEDA36_SpG%P_M^=f6KXEz1j3hOcPEN+UT@!m@<v|j_K`;^TFbV@x zX9TDr_{|S=J^@~Jy8q?g;0Y~WVY<Dk?<W{{-yZw4ark}AyhHu#v7YCVbcUu5XsH0; zZl~y3&(j*2L|nt~CCJ6P&ZnA3KZY@3nv1=h`6^31OG$s3l4j8BjY;e+?5sVo-9bSE z0gm$s+~6bR^}(7&(aepJkC7Yd3%B4d#~n-+0h#}I7Z_S8p#^f3oVPZYXMv%i@TH6# zFWMOqH8!zUprMu?(MD7xclZxb>xo(rCND0Pe8bb%4t9MPJ}q8Jfjb9SfmCM7l*(h= zW9*JvPYp@O78sbYW12=jz;3Yd>P7v%t9%ZwQ6^>Ols9q}V*G~hqekz0;JKGQf4DOA zcJs)`j`5w{6URNF%V<ymcQd2{O;ML~z5tmJOPi%EDJVt4w2VG;L(ocnXuOOfsW*5W zs)xaXwrcI0Jf+HWCGB%YE`l;dMIi^I7vo`T7---iWzcD*!g#wTjA3w~k?`%YPrQ+9 ziA>OF!7Qo*WI1J0C6J`#Dz0({KXpPeLsezI09CQb<tVg<3Vk-^O=c?0^_g>e89d!) zH-M}<#%nRUinp->%kj-L7kb!rRS0jz(Vpk1E^B)LrXp|y`2-@kujAYBi=OU(rE&OA z9sYx(;nw(USd(j7+QQs<TnQ7ED<+e;xrFm8@d1XsGbT~BPjbCiW$k(r)e1mMmVIjl zEYp|JzZilxofsMnU3B^PL4=^I{Y+{ke?)?zRES0i16PLMf|Cs7x?%8jOa-|;`gbJf z4^LeSM%_RUoUv5Wu{(&_coI=aiQJoe5lQM?ScK%|g|4(bZu5U9)Tc`2hZevoAvxgT zgto#HtP!zq+QUfG<E%c1W{GH7F2vIJy<(753C3NFYOLJa5|gKq5XtBjwES92ib_aM zPR|95Nzvp8%d>RPG49n@TT(3VrR4ohj9J3QA_Y^zr{&Mtu4-lJCn~SjdbbiI?G|`{ zTS7-E*|<o^BvJ3Ssutht^=<-50!ac%f+vZ-0IPAa;7LLz3GF73B($5*ZbG{WnIvSA r&~5@rLc0m=wi>jXK$1XGS&;Pqa?Eq7LK+B200000NkvXXu0mjft8;E3 diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png deleted file mode 100644 index ff1b2e69cd1f5e99a4bf871554f342599e3c45a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5999 zcmV-#7m(<QP)<h;3K|Lk000e1NJLTq006`Q004Ff0ssI27{;qY000*@Nkl<Zc-rk< ziGLgAneM*?X$XnK5z<hgWV<b0+R|>JrCWMIOG^(}+U};?3zo9b-IDl<6XzfycbYrS zePT<p<@>g5OR_D?x{uLZ`+VQ08I9+VMX>B~@`?P!SQ?E!%{=p-&-=cgQRqXKW%jIZ znEuosirvHby6Lm}i>8BHH%tdNeWTOIt)I27*1Bxl-(p>W?KyEeg41eEFPa|Kk2~#S z-NE+Em;WN$*PYH}g_mA`>oY2SV2eHL8>T<?hidmQzHa)g{-WvN)(z9aP2cGBaqDNT ztF<oM_P1CUV0%uSj^MOf(~G8u_2W+aSa+~J^X0$D_I0N-S>dJE-{N56U|KvdaW%)) z+@h&D4kivJZZmN;$89DKCJrVJCJrVJCJrVJCJrVZ8sOd>4-IfIaWL`FfWx!X7jZSm zZKjIAq;Kf=iqnxfm^hdm!DQT^Fp^DQ$HBx6@JekaSt)JcCt0l}ZZmNMd|@yZVMI11 zc7G)E;jECrUpm4#m^hdg1XJ<<6h=fKWeaniQ+rPhyzCEuC>K;o5}jN*4kqr+DV9|g z^_nQ>hoWar^#5>Y`=%Z38xQt;V>;2VNU9`D+-Bki_`(Lbj;F~)>-pi=cXd43=v`mu zd7#d-dPn<)>w$L)1yRy;9|sc$(*lwyTZnpswfnoC+3tO)-m_*~>;2o>?#ITC_Q#I* zzZ6Lgs<O&7AO{oo=E_(MM1Li6lP3pW-r4@Sy0+CoQeE2vjozB(_D!b;ULBpimKU;R zmd$M@Zh#vXL-5oaIl>fNgLmBy-^Sy8-|LGU%jHvwsFum4a4_AAU|Q&+s-l#;H2NQV z{F@K;{Hrh2lo28{&Ll~)SOzp4O!ta6XWG-47%^=yS1yw2^M)E?+0o+uio|ec`YgAZ z?nRr)_#*M`6}1?iH1AOSOAipp^S{&fmgSP^UQu(#4ZsMx3d$;x3rezJOuE^fzG4Ji zX4v8s6b_~mk|YTs$4oBi3pSq`d?gUO!Ym<%C(dW$Hq!z&lVNd4gvgP^(7B=4n>#i& zw?BTY@89CNafYWd941cN{iHUN(JFN^F;`^Jvh*ogO=Tl3!*4WqJYMg45J7EZNUjIo zf`ewgHXKZM1|}=<%a-J`vJG$+KthVPGrWJd|EYS<T7YS1`$iJcPWKs<9anRAuI7w; zYN*ofPW|-CcS&e~x@OX~z+257PavZGkNzJ7=5AYaZCo;aQpse81c_J`%psPH@RAsw zta+`Kl$*m7i*9EMvzJEy^G4vW@pPC_03^wljLX4P379M|;#`Wv(ZLy&)LcFn&x9k% zp;&e-Q;5nM+rk>;TXDI$;x-nS79x2eBTGeclC8nW)!c$=&a@j1yNJM0K`2Zo20B7} z&JO+hXzzCpc0UL9&avL_;vOEFJ6n))jJ8^0BDyv-pv8^!*rV|v#@!_5#Fe?&988si ziO6@rs2~QSw=Rur+28eSQ~L&FHmR?(rmk%b>{PHYc6B^;X>?0knAV+WcY>)*;L&*S z65wnF5(m>AfQjffQHmsouZ_LExAUKnAP0tODdz(0o!Zt_wQZ|3CePX?--ZjLzb!~v zRZ*R;`*MOwg9tT=gh=<yfwY#IEtBXilW*Z*s@$6+Cs|hK(t$IBKLc+EFxu9(YHRC# zcm{h1Jg|E2gXGz>rnc>~cpW>y`{|zEZ*rnt<jrZc|KNp@H}`k_%hkYN2=?vF+cJq> z9%s5U100aZ3%M(!e}dEjVjzcr7?8krcRYE#@B5cVet%``4~Kfb+30-;??Oc3tz&)P zWjDO;+_}q}i{-{n559^}WRvfa=8n&Mf^{UDt11d_Tv64~0CkgLcZcGgA9X+5<a>0x z@1cEN&s-h*%joRYRA#OqkhD6I4M%%lZ1AjQd_&O1Mq`&)u*O|rVjHcKA5eu|0|AR$ z1XQFz{JItU98A>+4Zx3+MAZ}AexUp75JjPwUn~G8z!`murWyJp#{o6iQm~@7`yOcx z{@tCDiCELX{;9#A?C?Fd-S;pg6GUsKC`c6!rfP$Uaa0qT>G9a@d_GSDcmzW-rCcy` z7ODfH3t|bDc!Osh>NN=5>`vpd#hHxs?b*x#3f%T}edX%dpK@Z{REE1CZI>J1pVR<1 zzbnb8wxBd0k-f~&Kmy^4Du`*2>l;a#1}v)erw4x~h#AGfr>nXF?(}gzR8JU^=^oTf z3Sx>m3;IX7WLkoB3cdXHSx)RG$%Px^?;wWxVdp>Z^>02q^vk@MbeCk(qXUNC60&og ziA$y`CVGuHupFN}!GnYL2qnFN*tN;TZA8N>l1x<sQxV7pF1F$02F7g#v@8y$Wg*8| z`6^2tw6rW*a>}VGymOq3!BiwbD>RqII)u#cRaAAG$%q?CqB&_K6}76P3Rwf(W?C|) zrR`6%{>(B(K2@}t^k*<+;C6OT9Sp}i;Z%x@G2>h`!X*<gD6pJ&wj*^fJ3_nmb$uDJ z)bZFY1CxP+i5C=9tmc@LKO8*|m$K3O@OJMbhkCv-8oS8V+=@_hChfMI<Tx!L*{>xF zk=$7WD))tv-((9hoyouraJNY&^I0`B#N|r8xlb>dw0($nLv-ux&@YfD(bCTA4|IJk zm}q0sRW6xaE18Pad)C;I<mn`x25$RZ)ssx6IOOe#_fbp&fkX*0>mZi;XOHWQC2ljh z)@EWGqF4wgy5i}OR3O}N78Y<ihl?zk42UKQZeaGrZvWFr4Q^|_4|v+?+jx8OZ>Gp8 zmrQPzOe6;%OHZ5{cm<t_ZjQe{5%Xm8DOSf(#%x+d$y73x=CY%Qd%gv|wvDhqSA(lW zb2^D4jmBBDaLMEj$wV$<&oug7Jpp?cm+zzQuXaxDCzS^jPn9$$`m|tTuOKyed2|aS z!GO1b)g1159?2aeC6|NA^`Qar;^^-{V1m614)~tV%|nqEkPBGYxw>jj(W)hB2e+d@ zG@%u@-UpH%;sV3bbEfV9T+O*t&6RXqcI@Q9k3kQ|6@-R4*7v<cW(ERFcIXSbXymw( z2S*hg*ph@fNr|55PkM9wT`PT?gUQ8UV$2g^BGv}_<^Ha(?D0S4nQQ>>Qg5eTkvDe- zV4}|@n+bK?RKby007|Zo_q~)7!aCHrWLhbq0mAT*R3R@+#=M@%`bcUB7f^O?f4yj6 zqBtT7ZajWtum6kngny1$z}mf?n@8s^>i%8%-_OD19?4W>h|4TLuOgdD*u3+jmsN^@ zlMT3O1t~*9l-`F>8UV=z`E)(-wxMw#A6~d(BH;78s7X%UW)|51FUmuz!uqJ)jk03G zJom0U*z?V3c35v+s_+@TD=h+UxWEgKSz8>*#Kcmr5JP|qQ2=6hlP*f1>j*d7_6y{a ziBnLVz$CK)H-odMVD=*ohXDcbBv17J2y>ORY_43@rt%z2ivcFZ4HT5(i&H5-daod~ zh1%Rb{-+0KPwHVOCmGJw+%l>;r-PH!uBt3f8^SyF=7?2<HUT5iix-A}b9wal`9hMF z4;XjnU~(szSl|7;m|`_dy18A75-bgv^j9QG@P;JH=9BSEka?2Do&g+8?gkS=k*Esy z1RGn1|2+`BjcuJEu+$Aw4c{u$l2BGzY(MIR+f44UnY2VIX&Z;ZSKw8{Z9=7G>%_K1 zW{Tx=ojj*%g$B%}OA2errP$s&Tr#;zGO>OFu}lb_I0A&sdD_$YH0IBUV(B_APwQqU z$-yO)`<i`em5dSsgeU0GM?#2g@YJ9qN+|B9y-=hDPiFNfD2fw*l7q>mU{XlNB%4qB zLwlj-;E5yb?44|4IbEk!EwY-kN>{~sK!RH3v8r6neHsItbwL4o#-ksf8T$F<(LZ8L z&Ego~mD^0r;@0ebS<9<9USkd>H-`pT_h#7L@k~gjlh&1`nKx&VL#)x5v`{N1uI60Y z1%<gy#I2)sO$(l=MYWkUnm{}^F`e#8<)^Z_6b()kMHB~<tH7k#4cW1s-lUN`)FsZ% zkvxenwEbYubBBAsb!PB2F!7SvY096nAN9h)w2YETu^HXuxR32csUn#0y{H;!8Gf_L z`)GrAE%Lj^`d*w%PcSkb2b25M9Qi*rj1&?LF!Z8vI>?eGdSx~l2Xh3$TcW{<b!c@6 zWv9s80C$%GUP?~D)fd&k+|B7kAMHg`u+8|Yi#YJPaxkGwE-K^Divmb$YJU{H$qNFV z48+0Y8Za3$r=lXNgEK8KOE6<C6zf#x&oinDm?~6ru)fjf5H{1*u|HlI`R)1PH_(0w zYhxAZ+yHlvnq$pRalM8km-cmj31M!O!X4>-Ar$L?pfZ&)E(1BvXs@vf-JFol3t1+X zxHsnxFllcotgBJWzRoW<cx!6uXcUY(23tRooze?Vma{*Txl3lT?~2TWmdmc@j1!KS zLDD;OcyH$yk-=qCnqZcIz330`EffmYV#cMnnVcp~uYd@+ZQAE90F${JE)huNxnpV< zphIh7SJ6`a8f4$vCh9R7g~bJ{Xfxe$-JHvFb5<DH-jpj2Otv>RnRz0s>D=6{iT8GQ zJVocyU~JqfZ0zxG2E0tFs#=oiu4E0^!l=B(vx00U<1&gfQbjc!?>;r~Q`F|umPYp@ zd;>KHW!D=yVjQDW-8j>V1ykvJlyZX)i&Yp!MyLaBRtlKR0*Msf%Az3mO`ilO2_wH? zYi}jZu~x&0Lr<KMxfWLCF|UKI`?~Gw^D34hHz#W+bN+GcV!;U87xF?OuNLQzOJ(r1 zq9jvsXmc_Xy*2)SyZuj6$Bj&|L=7Wi0Y`hkUF`l?s?Bvg_%f6_nZlTQf{=L-I^A;# zY$jc311dQ&p(yqXW@P7~*_LZ#Zv~<s3xYt&gpMuJ-ET7)N;wn=B=ERT^#6EA`vy8A z_5Q7Nwl4lWJ@D#GvftFw=o2-SUkYzdzbzPmlKBt@q_W1E#;?8uFqx8$PX3p^C(3j% zq4CPtf8CmRACR(E#mKZ)G@cG4{=2hd6Rd~JqkjN7Rd<hV(coGz8Gjd)TRby$Yy5rM zAG-!hjg8txrfXNn=dX{w193$rfGJWXYglRn+$`Qn11M=IdiK=7Pp$_3%!cgB^M^Ct zv6?GmB4|fYF>2`C&@XrUzW~<hhn-)VNZiuyLIc&AW~MxojqJun1FPna$5G#x%co^o zu@&8JR&xg0ExfiU%3m?}ku;wnkt7&N4>bDLW9D&J_)tM8=u<}A+f<$*2K8~#^w{<B zw-L<PNf^XWBF9qZv(_+G8B=M&iFHgO_RJjG<0q5UaS~x4V3ww$$Yw1ptFx&QWTtnJ z;l`_hCm0qmR7r}84i8;0(&0kM#B>~(WNnl6xHr&+7GX)aZ*bypV^7X`H7d8HICp7V zel^EJluUP^ZzhVZSZxE!Wj^Y97JYVYN#eF(Qs&R0(%#Y>6u4ayBi+e%N|t~ok)J%= z`$B_vJ?5t4JRa%&HYj@*2UrE&3Z$z8-CskmAIPvXgFjDa6O482bn#?bSGr)BcnQE{ zMYd6WCo_=~13$uV$GwEQfVRnoRCbQ0atqep#x7NJtm-O}ojEo53Mfsu-Ep08_lJ{S z*0RD@yxXa{;+8@$o(3SI<yG2gN)U2JTChppV%;B4{vASbcgGX>cK_7wv@mV609dI7 z83C9Zf&V!%@Pm=rOH3>|$VFN6Bvc($TEqS&Q*&AjvM6X}W6sJDTOxs_vFLTUY$(Z{ zjQL<Rng(b&x#2Df4Jfp-7{3%V5-}77J>y9_I>}tnawZX*T*f4D@tL{y5($G4woO6F z<}#7w$iU3GTjPK81{(z-Z}-b(Z7ORY+8?50eOj0?Q3~frVn`n}u^>fLqexB@v7}f} z99v(ZYkEJjT65VEWBZL_t=asrR+YeHlpp8<AeY+QT23iMkRSx(-b^lTJ2%VKEp_JI z84|HMVD?@d`CT~an;*=u(`C9DBNqR`t<C3ikj!(b2^8FPh7a5rdlzgwsHC0ko2ce` zVKzBtq;VR+RO~Yh`K3n+OrfUv4bep6Ni%w}Vr%jf!Uh^m<4a-GV+}BGdu9$|2n<G@ znbb5vouW7Hmu=(hio;Y%tFAAhSvyp&5Dz9=+k)FJk8J^g%sAY^R1U!S0Zbst&H~B3 z2DtGc_=mg481*qR{b=kU2z}HV{GdJD<Ow#kPSmwd)ZQNd0ABi;!C(BN|Az;uc!REN z^sa-_M8J(2%WL4O49=W|%2O1nj5TW8zQcCS)&WKO21{&V`ZRD1W0tsn-kKf0jp#mg zX6QB4O$XxF5Ck!r?IkarN?BQv%bzQ<ry}Z6csu)&oUWO4_xa&pqem!iC#2Z0q~cv@ z7jv2a^UK-q?y{L2RG91}6^f}xRmDvP^N?W0vknoF244+8gA3N6K?m+wt!Fju)Vqr2 zCh-p)%^!rHczgVRB~f*{jVj?YS!IL64XU7#%lYBgclaK|lE@lb!2u$et_R!Q`!KF6 zYA9Mp-t+|P24_#>l4lE1G&+{3lx5<<RHb9spg569LSL2WhP_G3raX)s>3tsGh-Kh( zp&bBed1IJ{B|FS*b_%1ozjNHe=@cDIIQ7l#o6z*KmUK`haG?yFRa+TuT1n8Bj>q^c z1QK=wjNtIY>4nDeg_@8CaiRq-3OP=X+$6H$Yk@x_PSfPufZF?dvS5mDnlT09skmAP zp99hh^u?onFM?|Z`3i4waOMos^`<HveNz-g^c$K=^i0fo1|#RjV>hkbG{w-Lq-FRG zILKH4Acge=;#ZmMG&bXNZyUlprl8oyvQ3i<x~BJm<A=+D8yym88+~R13D4x#C(ZC{ za0#L84t76>y!Va3yZzIrXOp9O>d=`4^Wu`@O2IRj-%>V|^tA<RPY%3{zz3u$;+*v) zkh7Xm%t%M!Rsf5DzOL;-1}_A$j`n^hnhKBsX%?ywjtn>A=J<ODyT6VQ{2u=o&JF)c z5L2unv2E0&dwM?tcwitQaeHI@uWV#UnI<zzb!PM~9iPc*<lOwPFSg@7-v1Je4+IR+ z3J8V>?rh)&_Z(^yj`w~4?9i{SkNvkl^x;_a1^|Sjchpco9k7B^n*CFasgi1diCuQp zkf;f#+S|iBA$t%)Ywp;D;4(mu2w|P3kujICmOLY1ScBLE8w+6ulS+!71)*?hWDCR$ za0#J%xcB*#Fr|mY=3iqr?qRq!xD|0bqf@zLlQ7)~ChZC-f|yR^Ca05KnAD4!n?URa zo+o2%GpPZTxWlc*jSCZ&p@(V;r5LwVWK$7Um1w*3#I>R|zoY*Z#Qbb}XdrU>X5c-< zmk)G*6#@g}j+ntm#VS!oX9r))2`MU>Ojnxz7E!%6_BJzvfJo3nBIyBR^H1Bjt_fjI zm*XA+Q&E|+NRq4t2^4*2{RJAVWU(CWCEIv<6(!TW$qU5bWBp~w;t}T*6^P84<lxBc zmG<B+)OaC^ak%FNAY)(WGsrAC2fJlj2HgnFg%CWXG6v3KK8Y%qCOBA5nnqO822rjg zFfBSc&dPEu#<*$Udw9q!SSc&AH8<>r>Xgzs(pFAm@um1`0p?XMg>jLy>49LfEt2ka zS}hCKhmsyR6VRK8hz4R;lermYVA-dcS;Kzq0x1sd)b5%-;1w|~9TIRWqtwYJy`|q0 zq!DZpTh=(1(@&cxhwZw3D0fFw`6?OUWjb%Txzwr5%C)x@JuR)!9FZ|0?M(h>N?fu= zIBm^?GI`>AOU>O2MVQt;H5KOO6zBQwTr!pQ=I){*%<{6f5(<h_#g$72@o>q+%fs&t z1Du12gNcKQgNfTrygw7SnYd))l8H+uE}51%(aXWa!NkGD!NkGD!Nd)4Zh&(GoJ%Gy dnM^<M{{e@7Lejo$9M1p%002ovPDHLkV1fV+jR61v diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png deleted file mode 100644 index 54e81c94698267362b85f79728ca3f9a173c8d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5386 zcmV+l74_<gP)<h;3K|Lk000e1NJLTq006=O004Ff0ssI271-Ma000!xNkl<Zc-rk< ziF+L7ea`;`CLA%uK*&*eC`louNduuz11U63TT)VZn$k2+faGaT9$Mr>zAs_p8=u%9 z+t}8zl2+2{T1l&Wwf8x*GxN>#{l3|mot;Z-Te}+B-`du*-W|>Pe!t)QyT7EWDzUs& z%ggp(*Uz25tG}`Sw0-WnvCqr7rPpz7mtgzK^}TH~uk-ZZkN++5I<D8<Xz-rfe%<G` zH+ad79LV)l@%~Girddx{v%GBob^YA=yZRgJPuu6N8~ePRTY4SWb_uqxT;JO^^Eyxe z{rKM^uj6{%jRx<z?bm&7dxMwU$bno>74JEWIE+>UMqH_JrM3!6jl+n;h;t*Z)HpZd zFyb)cFyb)cFyb)cFyb)c20ypdxWUh1#9_n@ey-FwH{vkjFyb)c6q|D+&W-MDitY8N zIE*-q8iJAWKLu~NG~$-pEpj6rL&o0Coe<8AIK^%RMpy?L5Tvnha>DFj{9sO)!<THa z5F6k)j5v(Ewxk#m<Xkwu??~jO{o%j7G53LiFm9=FORZsURIDs_PXBuEz?0j0zp|}& z<AK3%FBbZ6NsKCSZp0~eV=$7G^5xjOyZWEl+;boP?&^D@bNU^b2+l1zjP6nx`B?Az zXOtLeTCz0u(a`fdLYvw{4<8u(tM2(WQO<K1aZAnp>>Wy)m=+nx^`W8X&qaS8%U&j` zqA}{tDfV5>jog;IVz6dczmW>@6U%l=O38EqSnms$Mt7-Fvuv#3j}CVBx#lLHYIYe> ziO(J3FuIFiWN0f@Q6#t(E0sztbGcYa=qND-jN`%-LjrLxHs?mhOHmY6){^<y=TpD_ zXy~u6&;A*tharrZ8=AkO3n8yd;N0jgbw2_VvMkS}uOA<Id3)%Q?V+#2Gc=w$V<kE~ zQG`?Mm6RGGVx@d}`n}x)-`LV~e_QuGK+^HiS2DtsQ-<?Iky}t|t_Ql)lo};EL`xLL zk3?SB7TUPA=Ybu4kDeO)$EAF@`Yo46w<?WHa%uiF-}s1`^{3RTz*lL|eky(O;NWxn z!cSeCd^?$+0^_Efi7U0+Q);#4s@4n|{m$Qkej~zMi^I!@2Nn+qqM%X?$&H9vuGD;P zyH(`Fn}WN_(jmxA9VkEszv~XIdoje4N>v>7A1ThGa~RzeH!|PT1*vGVL{i0=P$`;z z7E`;e4;Yy#i{?q2-XL#S*tg^`x>;#d-53%`*5bLbtFhmo9D6mEzDgy%+bRt-j2I47 z9YeArFnkcx{o@|qCv`M}!{`=ZR9$`wDGI6nh5d(y{$_h<)6TxfE>HhPmJ~`liR;nX z?*z(HGh-JzhO)xU<=A`Ena?a4LY~UbHIa=|?8Yg!ev>t#&17yI8U}{G+Sa`R{*=SR z-%k~$K}2=4#uA7mwo|fFsI|A$^ss!QG;(U}wY>vReLVbw#X?BGNbhy%Ql7?Pbn})P z<<+8ChUJUAn$6w!ZR>q#Z}`bb{HOsVl~{8}Rjni?62*v2DgiS1O?eY944xeQ2ME=z zy$@hn08d#V<|U2%Q~EiK8i$c7kmfR>j-lsv^gXs`;4eC--ihZ&6s1n&7c24c<mt}X zyC+6p!P7~XqXCjerYM?7okgUqJ@m+j-S^<<!NF%?*mD>)6-FjXC=ZfI?|l2Yi8rE& zi=tSe&@xDcuG&Tt$M%Q6jYw2`@5Vj--x^IEXE0I%;Wx4<UDCg}6Opo=eUI<y|K_#X zKUL&{e;%!$hlx|{hAlP2SR*ANQxq~9^XS&4t~0F6=ezd}Jhi3gfwrCv?Y$58%x~7e z3J%4t`Kdz-?MEUncF%t(E25dQ$fZ&9lv>^6r-m`?eA(0hhSP}tOqVB-nhZq&@`MEC z>vQjGENQUS(#U5ynr95+HkZ4OD=|a&TpG2&{b)m#EvBY_Se8;q&N(~rGjOA0BYz)S z+`i(euD;*M3Jd31R#mk%YtdK-97fHK@LT=8&itIZW2p)XZv;785SL1oM5|#`Zx`6b zpySHjcfw)R%Irs*aI%GIb<5utW@tJ$vIdX|sg**zZlE^&;@qe;X=~2)Z+fxUCc+Q* zx+s+;Nuse;!xpfG&%ENSTpHcgDgCu11Vs@=;l}L$_RMX8+mzG?|2T|zN`E6tjW%iM zUDyWC5d5T<W4}Se2Ain#PwD4Mt;I@h#Rbsnv^8CAO{OpG4?n%N_o1yl5AN>&1}g2* zwt*|Pz)B-)POS|e&hu=6G}65enG2I|0X-}sf5XncufYS67Z;qgnoFYqN+ZUp?deCY zPol*?8Qyf%av&9dN9a+cB`g&Ns@WifbE6<iBL)-}QKJyjXmTyhIF%a-c{S1CXX!+< zpHKe^;f`qfycr+XGpxBZ3Zyim4=7(=8eHl?3V<M#7?`Rp?OJW{8~!UAD25w!A>UKu z-7fA&E{y^rjjE4qbotbQ!DkK(e&_7O8<F_&d^yhCMx-J4<7x*(Omu4wUlxZ^K$V&v z0Qq$CKM>MKZ6Na6J{o#%I(<c}MsQo6L|ZR=h|>h%N-cOwP4782ikw=sKWyu|XKU|+ zD1OhCmd%c2&B}hPg<#zB;+)vxFbXn^Xqr*3>*VOGNCHE)+K#?W*JnRaB-PCJZz7E9 z!!ETvaFx#tS(gSsNfxHM=e8g@<jBa23)z0v2xQq*?drhD6oZz~z2ZC)htYb0QB7^J zDz<cSHkQ63N`m=F8-mfzQf$4}Oh*#@iaBv!PbV-N=JU}r>n^5Ni-&?x6HT>rOlVe2 z&D5p}sa%Qu7R3X|$rt5<o_)rp(Rxf2aU_Q*R)10xz1Vuwk9`AAqxce`j|<Va(B0g1 zO>=3qE~L@z#?)>eM%C`-fR0{&i9Y%J!cT{n_8AFl97aKhk^jz}U#+H6GxkV1&|*Gx zH1ZOv=1_?OXT$N)A60vO)*5<pr54CGS!!*JnCjNPS8aBiEMt$=hSU?OGpEOYx;Ok3 z%BY8z53#Ql&W!@zCaW6UFvf+^+BD5msWk;g^^A;_c~`O{@e|i)-!F)D9#0OVz)B-s zpTHK27ltzB8H78`rqH(~jc$Qr>l_FTm*~-H18WiOW7ld(DCb5u#f@0kF)dYyp`#`u z9>Yt=L{YSqU^hRB)+!jyJ?M!k-2J#Nlp3qHP^5~C&PGTGL!myb?9QoolZ8n<NRukH zLK->Fo>&Wsxcf24(uj@FP)C+eVvr%?uX;C*j-h8KQ<rq@rnbH^M5_&awbx~G7zGtZ zw0nJc>A=Ck@4&uBqBCH0Y4X1-RIe$n(=wW()SOOF+a5W^UKdJjbomT=l%a?Hk;o6x z3X*kzl$&nwtB!s-x7KZq!)R?SHMLrdN-eeJ+&KCsP9!cM9BcNAZmy+PYv%x_Pg~t6 zM0M9ST&V?9soD0Xw>1_k0<CN&itF8I9yhAB2Vf@R%268*qcwq%>v3&Xw%%{kX<|1E zM&_<F!t`LgBbq)ppABV;3z8(R_-r_gS`Q;@`J!qx2DLp(yHnfTzNykkZ|63aJar)a z%<lfL<0qU~vzac{C@SDE3ZOJHx{WJ7BFC$P*6LeorZInG?gNDMxAc4&h1EdPY`Po$ z1HF2ba*DlH6x;MxgGo!0Oj(eHLA$2t`*7z~v((J5E>5wQ%02g?28DIzj?r1uMrUpg zqcw+-ncvLZj9Q_bzA^j3Y`TkOGfF<Wuxbm&@>RPvD&nV;zu49Pbv7s9@lVG8sZdUt z9E~frASkt3elyXE<?O}i+vxRsc=&Ipljdv?;(rI4ZmFR-ANh^r$xnvkAN4KnfkPc* z7;VNHhfy%N5h+*Fom20jP6$n1;H^G1{JmJ}sv;}S_-jl18`*^|sTO#vg!pIsa;3Hg zN=?<~b3KQLzXu}wVb?u~c<dSY7Cen&rKHw(rCm*>)(AH;DjRh;E6(;M97X}5*c2s< z8inR}L8G;^vCk()f1JoiY0-zJ?raTUWDka@#F_OSC>X7%V%9H=8jPJw6{%~k4RbZX zV&l1pEo!y~6njO*A3!g*wduCiXW{VVu0L*My&SdHpvVp{s5Vr9jV6x4X>84r4|)sH z7Q@JOSFZQe%*Jv(`E>*%*UER>z=pc+<f^GL6q_s$9E{dP8W}6H79@6dl{DPAlyuU3 z-}-L2&eW)Y!^p8WeJZ2oN>b~GBPc=XL~G}9)fGT23!Sup8(BmPvDSL)!6VyE)UUZD zW-*%=xe&VJ#3wZ>;M~Z1<}3>yDezLFFj0{zisFw#(jXmddSyuc{jK&cGQKh=H;@)k zZ2d;*pA^K!<>IijtDF%Hkb$1T#f}rBFL%whCG(SttPzDcCv*iLMz%1SN^|mOuEzdw zV(iB==^NGo^XhGM>2Es4wgqc+r5i5}qIYq91>J2awMJZptcXBDPp9trw&SBOe=_zH zj7M?i^6E7-%lRmLxNy6}=sgm7A-vcjR0?Xnpk5bB&2mZ#yuRbh=Z;4H4&KF`p~pTM z`zeARY#IXb39kl7si{VZ6KWj?mUe#}c@c@2bGa^4<leG0@@GXh3kz*YX~AyjF$DO~ zFu8wew^l!XkcoXomgH+Qf8O4=2|+-FlM%qVH2GgbrDQ{oQ)LHJ8dXo5XwcCRLa0~9 zyx7e>U*6UCL}-2oCJrg}9_m(0qeft4E^(Y{qA-4O@;_0Sf~Sa84v~;5P1v4_tDDEQ z2+3oWD<0yI=yl&6L*GT?fVS>?w}m!ho;-#%X~rz}DyHe}o<249Dk~4aAF*Uq_f91{ zHHZ5|R~4>jxF#@iMYgrd4C*U1zjJ5*<G3#T-PQNCbI~`@?o%bI(}x!<rDj|VH4T<> zLq{V&gr;cghNJy~Jp)f(o%tV`h_33)IZw?d3F-#c(2_Sr=Uuio@>Zxpsa=S^i5e@E z$ZQWi`f=oinamYiw=TS?RD@Xi+WCn$F?IquQV>O$WJ1Scs>HG|h@%H#UErz3O3jrQ z+YB`PffhSG{x1N~?*4Cn8vR8)Hv-Y?b=pB3J)<zCh6)vg`q3m1U_uiJkR<Ds`#Who zACKPHTh>ZKHeH;NWXX1LYa@zi>KtYrW0vJ-)4z;muh^#5s*H3~SAe1kLOGhabb0!{ z`E0MMc$&xf6+z1A(<ZGR%a*~YRu-)i_ZAK{fke}&=hEF6J3PE}L=elCu2x#mCm5N_ zm(mVJyf*vC{o!X2tce%GhP~#Nm#J3gy4CN^!cH{3R)OToOVQ+K*Jj>7J^s(<qd(6U z7geIU2{!s3g9k?vM`5N}Z@MG1n2I-rfr;j>%aZG$482rSR)jBRe~*^%nERX;=XIv# zOjUN4<7wW56P(38-Y}|DLm1PUC`MG*yhP22bx4&$ImwDTh%?F&+zCcjxe8>+L<leK zr}lPDo7g*Z;bD|2NkPg&4N0<CvE*)Bw^ZmKZD{EbdV7O!wTCuh^73Tzb7lc5KI+-B zf>md)H;aWVdtE<^7{I5bEf)I0w|4YBzN`O<<0C&BO&&LQ=xj4*eLAj@K35iH+uqqE zABM|Z?nc-A{~<vc7HC$8IqiV@2h7~6_OZi(=SHgA97&UrIL1&=HSyW>uTG7>c4p%B z^U;4FOPtoH^sxyQ#1i^}KS#w_cnr>>18aIVfcJFGen>wiit6aQRjVVecPH9nYS#0t z8aee(RA1bBsZH;~R!lhAO!I>uq{HWvCsfC5L)~kopEKPR(Y;WLs|2bqz)+Z6RJ^4T z)zq;}C)^VlHjT9e`)gonk5)fx#kM?jap~n62rf5r^%k0K)awsG-)Dts<l3U~JDB+P z(8CziM}@E<fom+ANh9#Yj-lr;v>O|vOTqc*n`N=EVi?tjt~z_pIc-KZOI$4osk0NW zLlkYLEx#T*H1s@%h`V;!HK#OT18Cv0P+-Z<PPAFhjd4Ewl_eF0&kTR=+z9(*4bC5e z?Sfo0^p1jjG7zKMLe91s3^w=%dMuw$s)j>`(>1zO=ts)|CSdNx6Z&H2Pk@ljl7j0V zCp$M-A7>{1b#M4d<Tk*(io}mmS7E)lzNvg8=X%iGW<9fjNqT6x1CI@7iwv(zQ@?~3 zcHR(EY=D+ws?L$fOJ~MkM;r2-VQf3g(ousIOMfxAc&K-N`_<U*&}&ssD|7JZss##} zO)XHikl>TU&=nocUhe(|8@U9<Z?s|xl|!Ugr8FK49YfKJRL-w}J`>4a=UdB<k>qId z;#lI$a(-N3qeZQ^Xw}o!>O*hzD@>uB%U#D@%2@Vu-8D}f4de9}1`Wbt#zfb~qa!b6 ziVHRmg|U29K`a^x?2o{MbvF7laCx?K7fT+W48=P-2A@3~`N5^Bw<psVMLFja-&n;? zw1I<>W|;u7Tpaph_7CSK{_Vu*E9m_mUOYf;RmP2+D@k`H(7!~V=cTABX&#L1&QEJ1 zUX_g4<ITDVsVK!$V?SZ4=Uyxi3`i)JGbTZ@N`7!5bfCI0@fMcQ=I#whi-z;PB&BqB zghLupqLvfqrZbna!VIYoP~LSgGT-Vqlio_HR1{K0F;$UEW+x=4`_W*dvdxQV&9hlu zX=HOhR-?H!&joR~lBtQBDo#QIQE5b-pPMlCN0uudu0nb#ozw5I;=cO<CQzSbF-kMp zRmH>IWT|zvkoR=}qb8-TsYde(3LGY5s%Jx7f?4KpNFU#BGb%&8(x+UDE_5NAD=&r@ z52Ee@A&8S>uZ0%cZEhqR3l1%|!<B&Q(2l|Hg8VJ#M{K3W&Ong2kF>$cko7!3-L*>G zYLU8Lr)vXm|6-tK6d2hYr>=LuN|;!?OQ}L6S%60aR-5}RGA=w*o&x1s$oD2oV+AqJ zW^uS&awDPHK*OjRO3nH(tP3=-l_B2sIxdrbm>)=~exv$@W}P?CKflrI+q+t+`Gl6% zUAd!=NbtEu)i9CS6v`4kb&cGu)v$-aNuxWpPR+%2N$O@-dPyT^Ifqj)t7|=aCb-h* zPA$G(@#gq^+n{V-m(qyCh)*!$Fyb)c+=$okb8f_?5tl|>8gXe9_|Pne5r+|n5r+|n o5r+|{*qmZ>ip{0b-7Ag$A8Qu)dDDeLJpcdz07*qoM6N<$f_vJH5C8xG diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png deleted file mode 100644 index 38c05c11d15a24692eb26d33f86982d2d48764b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3537 zcmV;?4KDJDP)<h;3K|Lk000e1NJLTq006=O004Ff0ssI271-Ma000e`Nkl<Zc%1EB z%Z}to6+Jgx)!o(8FbpFhSg;rgB>sUfV8!R~Ijr~+wul8Qc1UQX5sU=PqkFol()X|k zXJn)uaU<+<W;(0lEJ{vSJZ{+6=bpIXho~w^>>(myn`Hbmxqn*M|2O^{*9zrFg{Qsb zn)Q2<{f>qZdJnax+p&=&%aaEr*^YgPl68|d=MFeh$9!a@aoCfGG5NFDQPNbBE@^Z_ z!z|p4+~59b?+-iuM*MeLYgE|4v}C=_mA&VFCe5?|YyYb_g!%@jX5<cgvWxm5*O=Pa zs9^;(H)>b`&5asXzzxaVM5$)~w2a>q|DEo)cN(3BlDU49dvXRR+cZqF2VQB6F$$y2 zVs-nlCyN!!S03#)Q)^fUZKl>{YAejtT2O02ZH1uL*r>5lV<Xer#zwg=8XJ|3Y;0tk z-PowHQMP(xqczz`qPqa(c<s8e(X?=~{1P_G8GT)tx(o9+T{NtY=MmH>GR~ulh^l%* zYC$botXTe~1U0*^a}E(LwV*aFoGiZ}s9oh^2r;Oia>*9j&VsAdMgl>dZ%FA5-G)_g zh1#gziGb<onl_rYu!1(q*}X~7%biN7DjFf31=pgDC?eD8n1P4KkH9eVKbchx12#HS zi?fIT$SOe{pgnH7S0WH`!HwEXZCW^4eo6Xqv)YK!BUJNzNR^-y@!O-I*0j;Ih3A$x zinE2z$y^cwpww7GIp<p5DA~m`XQP;YX1NflBn1vb96UVy+Sn*rtXTf~*eLMOf^4C8 zAV5T1aGg;KyV!g3XL6*Cji&oI!A5>#feZqm+It7$9<pbnKuC>^lEsSUuZ)di{-_73 zBmx83tYh?U{7jCtvC(w@<?}|%Nr><jmxaO?i$KyoJ?pRG(Tio~;__}Z+kx1ts)&<` z`f0Ecj+J+s`08~|fWfh_mjv}KUsxN>@&GCoy_0S~%!05mG(^&*7ov>@XA+QJ7^naW z5sC;%B}5<`ZltIh&gHdHCHj6RB2GFHA&%B&i=x5Uej(aOqKR<OpuQl&5|f0&AT_5M zHl&Sa`;hLObIx^WQEWcqNlfw3`TvVJ=NyLny2@Q#z>Q`(LErCGeISz%xf{-d{fcDy ze4Sex&GI4Dorn{0KBh~wI%Y@f(VmyAjj&%>Tt?v%-O_H@b5=H*=|erxiAeCF(;4=R zvEb?*!LLge$}DbuF6y(3q^kCTgb+pdh6R|L*G-{t8J}>b<~Qc12bF$tqm#qLVSKwt zz0GZ=whEFhpKqo%+lRClI4471F>dE1_PqeCa_EZpot{u)dv#XNsH%O)vF18$5<6Et zXT0r3s!FK96;BhX@s#aM65I1ojSoHS-ed5gF$pz15hWk$0XXTrh%Q_hu>N~0ZB*$) zJH3B(^NIH%5r4a*)ohKCO&i(mM74&SBf=vzW?}KqbtO$*Kd1qyjAcsg<dt7%Enf{S zsF~GA##guzu}>+X!tF=`*~7Rd8(|I)0gz$9&K^QzBfHAT?08C>L&zwG!cy@8pfj;i zy{0As_?yloBdOD!Ha5ytkIlB-DAbbUd({gZM)GWIROdt9XkWNYz>SUUDkHOtR8$;t zrk3;C;~d(kBE%{XKKnHgQqAnFv5{T9QWcFB$ijxIdUwhj0P;}xgltswp~v0BO?OLh zzf2<{wO3Daqxka$vXPBg423;j&XQSep*pCj92>2cH!6<dhx_jwZb=RA1F0Ey!`Wb@ zs)^pNd#0t?_m5w{x&0BGP9NlG*ggUk<qE8$jcjH8-yi<*+1(et?woWu4$p=VNp{+_ zQLg&P_|X{&`Jvp92|8opj3CJ9map}-QIS_ZyZb`5?_B4*4)?Fjnpq?_ia%eVHX0QR zhdMjP;k9E~5AOTkxpDPTN9PD?eyzj%P;loK)V6}*yyQJW=qJ}k8&3>si8l$S3J-KD zGQOX>1vR@?ef6C2$u8m+L`)yT@QOs{Z(`;XSNLmQf98`724^;G9N|@Cmc(AHjcO=F z**n*fp0vu3JLUSat2Avi)kcQdQ*C6xPmGEuZXp}h%-H>{jLX_@I0FWeYWk56IK^|l zP#aa;EQh@$8dg7&#MrcvU8}zOB5hQVww{WN6Bo8m#TI104}5J#cCDy?|M(1TG|fQd zpc*8R<dj6yMm7752A`;nP?{n2eeYvV{Qk_Gsk4KceMiy9-8XN#PXP(BY}8r{YQ`we z8PqDS-f^>rJ@eS8NJVdMK8<E))|K7ZsAj*>;9@p{z(HUh_8b-EOs#*C^(gyf6+`)1 z-G=kShaC|Cp~Vv<^Uh$c8%f==JfX!h4VQw{twi<xu!vrH(lLvTYRU+l{XkR0r4R=b z&EKKM9^z&b!HfyN?Un4I>^*0m4Y5{hELaI;-?=XPZ>K(KT%%zQl`6~Cgfq{CHHBA! zEq)tfL_WdJSzkXRt0K<`wG;j#6;V{sjlL3mx(R>I9!af2zwima>|b>SKvlcW<_-}V z8mUaL)Ml}5ANuzFzgfy<ofD0dV#G38weLEciWFF~@UX(U|K#=0C_6bkHq<2chH&s9 zs+gY^_MgpI*2`1f=*$28)wvmqFAWy~Nf3sx1~7V>aTdyMWVid1*Iy8+_kdg!Ev_M2 z0|h{;&~l<D#*l@#tp&Wh`z+j76cXpTto(|LA;s%vR`1VgF$BkX5CEz>$6KlRI`wqv zqtetBw2^=7d40yS;nX<FG-~fq@S(t4i#e$<;jed#<W&EpEBq|oJ@+yv{72J!_6|2< zN}^($HN#nFmVT+(nf*$eHD2U<W!T3A08sYAvJV}WY@Yz@K+if2Eu3uu`|DY}4}Ey} z&w2V??Rwp2y66Quw?IgBxN#lc-Tl-qyb2Xz6*n@Li_d`KtJ+?YCs9NQb*`&fQwTov zbPCA!R)6$IuLL|libvrkh$In^LaMWqjC-ubLmq{^Q4M^Sf|I+x7vzm<QbE&VRrghy z_oZKB-U$0a?Z@T+U*$t__2Q6gOwCUCXZcecSr$+DZO(|Z33JVht2~<tf0)=W;M(Gi z7`C0$Vq0PRnq%Sppym^WPwZ&p2=u?~P=u_~ipamGZI0|3W#4CE*7dZC6FkuoFOC}W z&LR1Yy{E&{Msp?D0&R4`(-}*;jccP|WKHfqhwzQZxpMGH+6c!>#3dZssMkgtp@gf@ zM%X`Sy6m78U)ndz&S|j~W@>S@DGwEAYL|r^KXbDwHVR1{9)I|J0Sv}ng^j8#BdKcT z`FQN?MQp@}JT@!3gNrXFp*`1}e1V~G1Y`9;?2KYHA5#j2=URDcgkf%HNoTNR=AruV z@mu!T^^g03oM}K+PlgQniF|@x#1TD7;OGT!$!y1p)~|?xO>ww{r)AEmjR-;kDZgDa zVE5R+zI~^%>*NNRN!ewzQOHk_v@Z=Oo&SHm$k-s9NLV6_r*d(b6KSJxoQDHVqT)*! z9^btG>c?+>A<oB*A(6dS;(j%4bakluv{nYrb;GyYq5k7IBf^fiRn-f}-286D%}EXm zI+`RwPyvW@0{8v>ziMp$(cRA#JO2fQq#37%ghMd=&gYF5XDqH4Bz&+I5rL30tfHru zqN>|usP3sp#Cs3Iixzu*`1-@&|M|_IzxwVkzyHl2i)}_<S>^Ps`Hj$HZ2#ydj!$~f zAyW?-R~cO*NjI8y*041M2b#Kt-#Doo)joW^oheMi6d^-xOJ*Dg+3C;R_6ia^XV6uH zJw85ufA{9yr43mDu@8kbqmeZ|g~Xos?#Hc7+ABY8o2V$e*SBxkqvolJEn}3FxdJvC zHF17tnuhAdip@z!A-U6D9GrApxiA)B#6VZTMq&T{T#^ju(l;!R{SV*XfBE^_Ut2>@ z;r{;PZTCim@SmX-6?m=|h@Z$DW+Efo7I~8MU*0CE+S_ma*&vc>h>Nk&Q$_;FVabL< zC@DAY?(?_5n$-%GB655Cn&>GMia00eFt{w>{m5v6tj|Zp_x_29bB?V2^!pZ2zwUH4 ztoMKs2#7!ka}{@5kv)V86~|7T!%aAya|4#D`ZSm^8<^S_&Wf*H-`xm*`rGdo*R28f zIB74-unv<CaSa0T!J<6W=u7Hh8P5CS(Scf=tO{g<IbzNiImAs4nKhw6oM4EiO6j?S z+&}93hyKGu|J_6X{cnHyhXr;5(7vY(8BU1!FFl2DGtJX%5UYJaJ$(Aphm2f|h}5yO zyO{Qs6nFN|;&u?2+%IVb`$YsI{;D7-LQvHWsplK#L_T?S^Y$%g#22c+RMcN-!F627 zK`TXu50)eU@J4bt*C(;3+tbS>xyM#~29ny)wl-NfCrdH8*L~8Uh;tzP^)g&C1VB&* zSA)1r3W2J`VNt~m>tBA3GUlF99yzI|jj>!nVz0$U$Xw#_5i$6{z<Jmx`7?~dZ|`+g z7?-$^^vf?94SPJX9f#VuN{&V9hxr`XXtXEi=38c?oaIOzO5>`HeI@J<JEvDyT*e-L zaa@;TqwARBHf$WtjT%<KX|)mZLHCNZQO+LQ_?kmh+;244v{AaSjmv5yyB)ivQ8#%s ziVZex)bKpff?5k|EvT8+wxE{lq6M{vEusar7SvV<YK@H=R>1!Oj|vk?>ISL;00000 LNkvXXu0mjfCZ_%# diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png deleted file mode 100644 index e042b18017e927bdc74fa32c806ab394e1cfce8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7416 zcmV<U90%ixP)<h;3K|Lk000e1NJLTq006=O004Ff0ssI271-Ma0011nNkl<Zc-rk< ziGLgAneM-o#EIjCa3lo+w6s7=7bxA9?n1YvOA9Tfu#lD(C|$0lloH!<oW!}weUtk> zY{`~<pRz4mvV6;utYfZyzW19MjYdb5#FCZdGx-@=kt5B_Gtc|H_qSA4RV-hs<;(VC z#^=+2mp`z6w>_Wn#W}vxUzzQFZHHj{tBj9rFU$5hbN@TJPf@n_&2~2OJm<Dw&vDxG zJmh@dDC0-P<8KKV2^h@*j5JNNeq7D+W&1JX^Xb3KA6UQJp3nH=9AD|L%=W&vL$Li- z#>cjoW&51D|DD{YDBJsHI~#ePbK9@yIPG~Jaz1aA@uT9gfRTWafRTWafRTXFodY8w zv4zAIo|=G>@YIA+6Glz2kzgaiMuLq58woZNY$Vu7u#sRR!A5rh8)f4g!A2sAeSH|2 z->r9vfRQk2H)Pa|_fll`KvjfM6GrU@*vMocg#d&fB_$@yl6jCB-%+rUFlziMD~13d z1&?JV(LZ(m(%{E|U^|}Rz!FAH!00+`L=3BNNclsqGoC+fYySQg_jfP!|2-a0$Ob<N zHWJz>(<^l)q@!diI&jtd`Hq$!)HdE%?WkDiT)w^eiGhjBnhbuDGQOkGMt6CJKZzs& zD4Ljdk8Ix4_LB{b4*)=w4P|TV7gjr#Zg#CcKk#8JK5IJ*0!9KxibYB@79E_ve5Cs~ z8=D>k{ZuwA27vG#kMYdmu9v&VPs9^Z2DdCxN&%z0!c$8Z6Q-1&iTN&jKZ6Wf-*|78 zqnrS=Xq}^?w()^oZO=9NYl9KLB5V9Og*LjYwUPanRb}$U;+^9M_qG4LwsGY;X2lk* zZD3Xmc-r3l<Yn(Cle2wz8KW#&P6m^NQM=pN$Qp^}Pn#q(5$QhdS+m*oNR9KJDrUtN zz>48<o$Ha4y>Izv8u_o29h1{pO|a2j#6}hj5veE=4+wRP?cd$@WAeq8f`QgDE4FMy z)5^W=FLaI{kd!DL3;{^Vbyo>Cy2IJXmJtIWBw5lFEg18j@BiCo*P|dF?u%75ELrbd z0c~{I`)M#bWCF-0hD2)iu45zHV~`MNB@vgpMvv|5c%hd3d5{p3(##k8_L1&a2B$9> z>PODTA0nrAmue#@8;}t6^h{**(!gg3N!K`6kUzhm$^jC(cYDhZ8vW~|QqUkFCEM*H z%GU0#WQa98hODY8X})Rqk*?otXj-+7NQfyR=dz7Wt3X1&8E4Y}w_r$AKjsgkj72p{ z>dCxab82MB6e%Hh1P<<MeHLmO^uv`<4Jo1ep|55WQ{;<fl|ceVxnY!A6Ja}tY7TZU zd2Pi1Q&?CiE`{rd{<X#Z9bHW~EM!5&rj-XeUhEq?i|P-RAxKiw0!^ZbHh*oD{98?> z>=L_q6-WvF<|Jo@i%wO!J+zVW85oA9qk|{=-hzCFC(i@ZJSKGB^TA|j7;1^Ch~$h> zZ^1^_Wup`;W(4FQB3OllqN(_QLZj=T|7td7DlMaCsq|o<eI(>M(D@QPvMPjypr+x{ zH{Q3i_34(8o$**qkvRz|qBG>?V3e*w8RN(rB*bKRxNrQN%eUp4_e=a~@^9>$JQ<FU zawPF{ZUa)O!ASp<eUqnlwLVwdct6FanIVI?KGgLqrl!>-30a9$!06^+L?#S3r52CJ z1}3jw9Qb%&`wLs#k0FqY^AA0WT8YiB$8bxxjqXAnsitbBtBsQ1Rk<awV_WkR>zP+y zMjqMnI+S_ze-MrbD3Hy|VKvcUbko`><?YCc@lH0J@%&|b%Tqin09U5UvAEK)m>!f@ zH<aUYY<7PKRa}xB#mUbn;8$cA=>bE)JR#3s9r|Lk`_Y=ldjKH72p-v1_xD`>O~`%_ zhGa#_3J3wC8<p7jk|e1$uzOGY^Ux2J+b)9!1$qD`+`u^h2(0kRE&RCI{g}(Yk!Ph! zu-=G?p_mi`<*;fY64Wqf5JS6KpXr%6mduW2x#R*yHv=Q?g2`HYVE^`(C*i)Vt!DtL zaW3EFdI&`m=RF^~{addN{R6cU0MlCL;;h)!_Uvf5jo;GQ4x!+lTDl467>XvQ&UoG> zr)()zdX(elIMDebvh;dbh>@0-tq(+Kqnq{A7#L!)=$Srt@?p^cphKO%Y8}}<9UhTb z@wzTmk->y@11CW<)ery65VG?mu`^;Q5+6I&w+1}Ka`ja6ibFcy^M~o^fQfqgEiKP~ zR=_BKiOn2dSsR_{KHT+dMB`k(&7sIRo?)^ZUrK^qB~?Dr`$wL{1TDeWiAvMCKWgzL zHXJVKp-|j^qW8^>O%GM;JOm7_I@|x3C=X97vZYv7^zhG_QA<sGGt)La?HrxyLf(m2 z<5-j8xDZYL4M<;tjc|d`D=`*sH>7IOwUG@&fP66OJJI{bCf9=;LqPhbrUx$!{2jq- zlZP^vWeXVHx;C;Qi3eNKt7|xny2cN|L_o0OPo3*gbpKJ+mo%T+h!g2_#0Sf@iP^Gp zU<eWqj=;5{f3o02iY-$!)@2K$Hdi?{8@6mIHkG2mkVkdy)xc1tqYRgf`#msrMKx-+ z$|1%>k-&-Gw}^*y3~g;@j=iEP`80<JHk$K#BV2l;M%hMGk`5!+>dJbA1Ij>4-4jQO z%0{V>*SHxD&5ob!eaEn6i#Udw16wVL8!dO^tYD)#VWX6Ac51zHl9q^#I>z>GXk1mv z*~s;fXX<RR*~nT23riJ=&T#jV>miOI_edQ%V#yvfF(#`NsvphbcelR|K_lGruxrpB z!@&kKqfk^fq81+|5l>tm_-v!=+uXNDU=-DiNdB4ct!dZo-xq9Dyy{0YD1#z*TrAx7 zh#u`|`Qdn^i<^%0Un~e4nV^>Bgq+Zte09imAn5)Tiw{-6+&X+!*7h-zkOUjeFB_Su zD&B{4yytZmH=?K>!b`K#q?r=Q_Ic*kQ{(?AIgMjSQL<P=pyn~g3;iD_q&UwrXY(Kg z8_g>lAqJpL&kkcO0(XYMNvC?>mZXGUr<8+@<_bm{{l{6+A8JH8W<9g7j2IDPJmdNE zY-|ScBdc$(iAl7j1S5rNNctx(qjUr%Ur4$kVN&m1i^wrAIxPx}=yUKM`-7doT<^S( z63B~D$a1Xv)o@}ISeH{VBw$opFd~27F;oroP|d|+M31`1j)S7O2Ul=U&3qDV_UHQF z+t9d@!MR}(y6g9M{0DEX*UPAL7HA7?G+&+?l>n%-(a^E(*I0(1gwgJ{=O;n~Ea_%s z_zSL$I2B>w5TrDB&EVeeY<YSpSZ@%OnlVu?*l2#)$Vh^tBwO=Ow<3vF)qpuIi0~~x z-M1zlkMp@2*I}buhY{yPeD?;g;6toKEekbupxywrn3jB*s^)Bt7BHG07^z7ZHTgE7 zIE2&)szg?~{o7SJX+{cX)RL8Gr~^OT`Esq3nN`$7K~`TH{KPgLMio=~OVOyYzXgV( zi5Ya6GUu8s+Sjc=3IsdMVXWCA1#^<&*MAEi0u`|=E$mo=x=d&^nAq9Gq%CzXU{sng zl8Fes(^s~-zsp>GX3_3B-S=lUiB*=>g7&Fdy|ezQb4Kwc3pRY+`fq_yvuW&d7z<(4 zN<$kl>4RC&RAz)6$dWqO!=0l?(k<E?YolbqikY(j#x24rBXd^1$@Oq^V4JP{L%^s6 zVU$!wnl>Kk#Ld6XSwU&5W$>@3!#;(%`bv%qck9}Sznqax!|+-Z#d33oa1myoq3gqJ zOi|UW6S0I*n{T6*yojj%LWGZp`k=BKhN{h|V__SN_}h<!-8)-<WSTQfaWHExRj~-` zHh>Ykh*Qyi46|Ej<k46|NU+-$E}AoKl+L9{<Dti+mIBsf&K`0HwwQt`qlpnltwf9( zS4BL(iIh1a#@x?`dvs~wQz@Zxajh1pYt~9dD3ja5v^}pST7f~;tcyT5XJRd1sk0Hk zh^Pbky7gHexdtI&5ZUmQE8WkZOExlU<d}yalV*@CgSLmV29kg$&*Z6$-kD&d(i)Sc zncZ9LI$j$5XoIeb%FuL*jVlQjxR$fkU)++Xmfk;rN^g|LRkOZ07AQiWkfKWIC2Rsl zrBg(kTEoxo_TgYXMQSQI6(Qv454KwU{J9@YV><cZv$!1krss9;<X1B$d<w-ORw@!O zD&<;i{x~5=j`zO7V@2FSyE^zK>J3>#SoWmnt+G)v-l%H5lP9<;;#735|NUg*OcQKW z>J3IbY~4Jv4PFr?Vj*pp?`{9-WSH{#s$4)A>EBgNlH+K8)#Hr~<(MpkVL6-$Gaj3O zQAxpwcYTcn+Yz1N88lo(^rHb))^>fZKqExWh$m(?Y-@hfZ1y<S`%a9_L{rqfo5=-? z=3^9uF00XPfq@XG`~GCa8(CS{vF_i^#-^<`*II$bt6L(TU&4^FSP>;(x<-$xa!SNg zE%wS{;qd3(!;k58lGg0of$b}lg<U{S{!;@J*EGePDV5hWshf;q8wDW&BwVT;dYEB< z$BV&mfGwU<6#=6XgpryyOu;+pz+6qkoGmewHTCwZN}<>CDMn}RNeqa^+w(Akwd6a` z+d{yo_-v#avqaDcf4KA4uwt}EjF~fxIKq4*B}=939K%SjD?%^a;HUgUK$l_0o_ETT zv9d|PsML%aB8phUa&h1j&<`J7U*lN5qvfgoiA(94q<}D@0=cP!o&ROz@G1c0(Cnnb zXQT@ll^BeyzoJVb|4uXy(dApfbD+-Q4W==<B^c%7shK{SZ^nTpM(_~H`xTc5K1Z}F z<Hmd8sm+(CmLW<6;Uj51W2eDAH1%;IZ~Q_l<7_M}%ZhDMbdEQ=C5PXH5#|pwN@PCT zVqm#@?1Uy~El(3LnlBioVu;CV-*hv&h4_F6?&0t2`1#mOZ^pdG&A=!hqh<;t)LF8R zQqSrvF(iPMe5Xk>Vbn@T8}UfvWXQ`JP$@>kLw&e*o{0;zLL-s>kqV`a_!J^Zj$ufE z(F<3OAptY9<D{>Pus~hFC@&bPmignf6iN$*M~-#>o^6EEmmn;|avw~eg;X+gXLGQY zFFzQuh*2mug53b-1lg0l|6}&T<(|ebU{p*tGTN6Vno%}^%e0~C0a%Z(>KEXuL5d(o zgW(RcEa%>_StuAyM0$3#Jk2wCC@r|y{|U<m8!;=vMx|oZ6uz@ii_A`)_52mM0eT2S z<<PZfJ?}+h5rUAM%{wbBj7CDuTiuT{Zp7@p#ueARUvXko1dK`rM#-ASNNoC?=L2-< z7}kSf2;CN;$OP@hlyWB<3Irn-za9!+#d;ey60p7ut8QGrI!(@1x-Vc<Oc?1*L>QV) zOq}fp4?WE5(FjAUP?Qmjj9Oi@xio6I9e&l)qE9e-6k{d%8UU=Apk$tu+ifng!>`#F zv1d+J-vJK4?O^$C89alf^2d8$r+J%63?1)zBN!R6wJ&PLT%c|y_R$E7QZ?E`%>oZ- zWm0vuUphvOzf4XpGR(A__fBFXTjCsDi}3B)%6XEouxP;0H`t{S@#Wy5f*UpC3)Ty} zCb|%Bput5fw|~|959<zqd4!Q=H!1}}5#drat~9M%Y;6C+?F*yyoGbH}*`TzGd)t3z z@$D<XNvHbW=Gz)GYU<)?BjZYGQ{iERKFy}MQ=WHnNd2P0$f_=>zIb*#<Qbpwgl8vd zsfuE*BDwBKyp7n%BwFU;$XYBm+vMAf4Of&kFXKhAb?!$l4t|6N9&3$!jzccEHsUXh z#iIy9;PX}1vyLKE9r2kV*+fj?w2_(|SE`t)n7AD2oji%{JG<JR+uimYn&#R@_C;oc z6swhWK2M!5o<k~?ls3vH`y@(q;P!?akLhGIg?JHPl8F?oW4H>#@2G7s#SO|P2Mex^ zRDE1J1_Rb0mPI|XOSU#Yu6Ki^mOB-TjbvVV&HyBZx+jhv>-in#Cu43YAdWwHfV!xo z-LLhIpTXW^4kl~*FWau1(qtn$39;y+f=tHX<TZ#PIL_R$=Swn?K5q$Zzb@m>3mY+c zghUL`Lm7TnvxaI~9Y$JSMZx*Ak(O;0pOQ3E<k?PjjvqMM{ad(@1fX(uJJv6RdSjNi zp&a=mxCPi0FgRI{aqkA0q;xctARE~bZ(azVZJmjX*AG>q{uQMbR6n$U798FWdDJ_0 z+T18+O2g|qr?<pL`5QGPXCXKacfG>w8ko~jv8Vl~!Pt<kY5!JWly1L`XDkYuUXHP( z82FFkCy;rK4xoj6-zaYYrIEY~c}Fi419ZbV&->mfCrY=tW@0xqhoh>MCXCYWWCkEK zl_q4|&quoc8zb$I;-oG!T#jWMT@N1b`6IUO8ToQ0rD1;_VPyTz)5Xoc?bO_~gg3}x zF@Tm_B6DMGl+7W}h#vkVb}<hJuU#Dc->+Mr!Sn)%0A9$)25>i&<41g?J#GKKr~PL* z#eh5aS!lyt1qai4&);AO(8{7&!K7qushKYr=^w+OV6tK=0z(s_!OMf6Z)?H2@O$~O z<65w7&&}UMvMds1T2P|Ay>`9z_C?i3mIvHl!`SOz(8_a0NJx)#jvdgaDrYIB%|{#A z&Ma+=myEq445q=Tw|#6cT6JMn0SH>q%pt<~riLk@)!2R6KDq}j2GiluCf^p&J5WXU zs|hB?Ot=Q8de?yYu^9&^U6l=`WejdA1#M(0DWx2$#Lj%<@CGy`vV(FgTWgX~)2ag< zFLjTdl-P(pMNUg}<Qd~Apf=JnEi1)1HwX?KKqU<cM9&&WlCFF+Em_JIhBj;BOt*_X zSQ<8g%ZeRHi7_-0U`;lhFSg~_xtyj3lvz0j9|jdHm?@w;w=$uE-M9lt{NWej7O+oi z0aFcIHUH?*uHUwde2sD(rtXYQP*#s2+ud0RHcE1^5l*C1LH0BXaxfGYt}(wWD6PrX zAApd+uU7}Zz+^O%eUkO+7L|=|2u2jBkQ0dn0umH%FXt=La3QaFKj&dCGpK6Z-#n;e z!?hW9W`dU=KkMpdA!scYkBx`=yGKu8&<@TWI;yz;RY_T4YSmo=SU^r99D3ICE+$VR zT$IEy*Wn~1!0wp%bk+MMq5yDbOlIQaa$)tbU<nHEs`sD%kP8;m{`oC;UB(jC-1m&_ z>}7nJT@ji_oVI6#V*a+#Jz!Y~2@^m#1R|jaaT{Pa16%2#s8$Tw!WpGv)KX6wE<9Uc zeZ2P%Sl-5w1nY(X{Qi#r#MH;>s5jl`QVfMi-)Y+^@r_2Q3z&RB2fZ)e$p)-rKH2*= zhJT@vl8o0fJ`Rvq5EGHyv#E)#j>oXT(QvyZu$G<!p?8uQm;%8rU<HMw987#C1}Q2X zk!T^u^j!DI7R>v>_%Gw!F=I{oNj7qyxvaoV88t2fWvc{4ya%wxa9@}(zy*g~Md!JS z0E9!pc9_QDjVLEFNJ!2oG)u^+r4y1-#pZ`n+1R*h9WC2tN9e@$Sc&@{HV7I8g(cu8 zngdB2mLzOgQ((U_CKn|yI0X}-e&3Y4bMz>*Ap)DIiG%K`ZMwgPS+1qzb8+;rQEv2) z<6=LFAs8KF`x*18rUI31>dH7s)4^f60y&|K&Gb2kYXSE<*F#Kzr`ShQ=#49}S>R;v zo6RFz0-+X@<TyL%icK}Go?_Al`!APKOAT45I&?_KD5~Kq0=|>89w-E4;{j_7(p+cU zMU^^$aC(1?(}gfS?mb0ULP~mE;3js46p4*8)I-Mo7;A(mA8r?JEUJhwaLFM@;5*=E zI@0~h>Attm_rHJ6^WNFMzoL)|1DC()`8`zOuGZ%eD1&hX>i~<mki3hMVn2%v^ehK@ z&=3dz*6FJm3As(vWAeYED%OL@;`9-i7!Wjc_o0duUF*79cUDyC=F-FyAo~C=BtAT5 zYeJl1I--P#aPrKmd`2p}j?9PB8B1qG%LBbdOeGptr1a&?Jba4d0udqvk8!X#Avm98 z#94zqV1#-Ps3M#$5Gwq6CBZ0MR;1h!)RJSPOq`_g&NZyAM!N{6zSZi+Vli*W1gdcS zaKft@K9<sh@@nT&AcIAjo%~6Fh6N5d>u|RVPwGHq-1GfIT`$9UVVYB14yOti#kS-t zTbo1*n7D-^1%@>%0~41o_J6#)?I(tKU&`wjOb{~(?_9B|>0u1t0Q8ZK?ikyPNf_AD z6qh21XF`B!hNQy-mK9d@#4vxL=ZV>0@yY`VTPU$md<4+x9NT}z`+pb*jU(kJknW|$ zL_gdWSdLjANM*uTzzh%&Dq94V$%^F|D^+rAWGfmsR{~=C>=o~4OvbW+*m9j$>dOdE z3weBuqlDmMK3+t)S!_ZF*=Y!B{5vOl-gFMtdZ+56QqU?>4EnjTvb8iY@h}XNRnVu9 z^KF5>r#)*hQg;JIn+%9AGLTIa>sSW=4ssCw1T+?8FK89r?}#jP1P=C%pF?jvR=14J z^uSn;&)|;-N#a1Tb9kx=LKw|h=r(i=S6>+T@M!m|(Dk6$jg30-kmV{{>sXX(!Jhy> zb&MTA){N?LR2!e=)96@oY?KC4E<OlSdStn`(N}}i1mp!u?|=!qy(+-Tgso-xah+p% zHTw})r2=OVN(f7_F*gp986}>$=di$Qe5MbRQ{b^{3NM-?<E1DWZ;tEssik{E7Mm!M zY*P8kFhs^%17D-E0yxI!2WapixqhlNpkL`A&@*ynxMzpZcs~dO4gs>EaKCr8J_G#= zob7IZ9y|wV!nnik!!3YeqJMK)wQ0c}i@6aeq%!m%#k9r!IHL0~rl38Ea;s#*3=N)> zfo?lCO5!!iPnuDx5$Wn0KZFx;w*Ot&0^|-4biRZ?7(aqP`0;4ht8m9I^nZk0Z%5!T zMxRbc{D2N*BQd`bUpAaCB{g1fD@C;F*MP@}b+OD)D@{iSdnUfQJoxdUu3zqGd6KC& z7I9#Zs^S;Eo>;b?%(tVA2(^q5MkbrRth~xej~mJv)6i=e99iusH~Q@L1V?r|;VpKy z{_t4OYfj%fgz2Nwltq%u))i3M^2hVcMz;nd)ml16M#sqGkne(fJ(dWEV`ITt|4cLx zijCrXI5r-Ohb2kU6@#iHkff=uMzclI3sH-mOd6`Pxqp&9si=|IlrQLp9>;vvBVDf` z0|Ux|_kfNDBHE=oXd0F<csWQ8(sz=E{KqBqJbPT-z+TK14_F7GAS6}~cKqV3=ly2? zj*(zXED<r>Pt6RxWh_a!V_{@MNl}epG)#sfCxfx63SB=}s!{XGprmN2ugaE7DO^dv zW&DQu;Z-i7BGGBY3;HK6H2b$-8T{f@-x>gGU&jmFY@x&e*_chP)pbn|vj<J9Vdn6d zJ>z}^;Dd;UPKSSr=oFH~P<~yb$IugvL_N<Ia}Ji+`${)@b?*=urB_8I3(GV!LBuYI zQFN=?R;`szXNWz>!<{=>*4+u2oNY;qV~w{I#?UZCdf;;nPG9m&o`xyx8b6G{Pv`hS zm~}kvo%jYp_MzZ4M4^xt3`NJ_A+or$#C<m^_LY+nP9ub*-B3^T?JBWzOsLFwJn7;2 zQX2)4(fvt%k~};@mC<r)%q!0?r>5^HS9o|`N{wXZdiUb2ES^V+t>&POJE>32a-~h4 z(koeXD5#|BRGI(LqmleEJ#Q_zv&7u9me${V*X(W0MkUgxrWRl@O-2yssB6xcugy_h zl`)A?w6%PKjYQY%o#?3v7zr2&7zr2&Z6t>F32h|UNEkH%BLO2})PzwJMoqAhFlquu q!l((OCXCw6t>qIi5-`dJqyGmJuJLal{NnHc0000<MNUMnLSTXiFDADD diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/red.png b/graphics/Qat/QatPlotWidgets/src/ICONS/red.png deleted file mode 100644 index 8b2f6d7cd7a6d057f6221aae180af8c2643a3460..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|=L{Jc6nGA7X!>Ny oE?FJKe0FA)ZkhRWpbBIVDsRZexPSL&=i4ArPgg&ebxsLQ0GiSmsQ>@~ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/square.png b/graphics/Qat/QatPlotWidgets/src/ICONS/square.png deleted file mode 100644 index e60b10b58f19dba5b78d2e8b3c4d7cb4feed4694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz2TvErkcif|*A@8~6nIz;I{o-R z{ous51<}T<yLN4KS+R5CySqDL`F2EaF8Cr1R1XCX)(N)nU)`Vhh{0kni}9ON6L>%p Mp00i_>zopr06l9bJOBUy diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png b/graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png deleted file mode 100644 index 29c335946817a64070f86713767e0d0ee8359f05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJc25__kcif|(;c}Q40u@F|Nl?7 zt=Qz@dufaJg*#kt)5;VZ4_(jBKG(kCdr(8(d{KcQhROeYI5Zo)%h_5)6qZcqRAiO7 zbh2Rr(~>0?N=mFAbC-17cs<)zK}*-4YuWCnLJYHwi-S~!8}>P0-!jFQVcy(b<*qMT q9=x;IQg&LMVfyE(_N(?6y=GA{)p)jJU#tPpNerH@elF{r5}E*aR7cGK diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/triup.png b/graphics/Qat/QatPlotWidgets/src/ICONS/triup.png deleted file mode 100644 index d7afd0ca928f155f75797f52cd02d0225610aec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ4o?@ykcif|(+~1BDDXI6{Qp0F zZ-qfe;%m007uAk*m)tdOj69`ZD0_X8=ze>}x15d|t9G|(dI(j#7F(p?zTo=O*-avh z+2wj%Ml5^oU;DF<h4IT2<G0cC9G)!m-nneC+QPq*vKN>S*v(89vu(JYe`JCuf5JCe s%cRT9C4bZZB-mu-OlIElsxC(T;U=|L?iFgHKsPaXy85}Sb4q9e03}*Wl>h($ diff --git a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp b/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp deleted file mode 100644 index d04c4574bc1..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp +++ /dev/null @@ -1,210 +0,0 @@ -#include "QatPlotWidgets/LabelEditorDialog.h" -#include <QColorDialog> -#include <iostream> -#include "ui_LabelEditorDialog.h" - -class LabelEditorDialog::Clockwork { -public: - Ui::LabelEditorDialog ui; - CharacterWidget *cw; -}; - -LabelEditorDialog::~LabelEditorDialog() { - delete m_c; -} -LabelEditorDialog::LabelEditorDialog(QWidget *parent): QDialog(parent) ,m_c(new Clockwork()){ - m_c->ui.setupUi(this); - connect (m_c->ui.boldButton, SIGNAL(clicked()), this, SLOT(textBold())); - connect (m_c->ui.italicButton, SIGNAL(clicked()), this, SLOT(textItalic())); - connect (m_c->ui.scriptButton, SIGNAL(clicked()), this, SLOT(textScript())); - connect (m_c->ui.fontComboBox, SIGNAL(activated( const QString & ) ), this, SLOT(textFamily(const QString &))); - connect (m_c->ui.fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(textSize(int))); - connect (m_c->ui.colorButton, SIGNAL(clicked()), this, SLOT(textColor())); - connect (m_c->ui.specialCButton, SIGNAL(clicked()), this, SLOT(toggleChars())); - QColor color("black"); - - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); - - m_c->cw=new CharacterWidget(0); - m_c->ui.frame->setWidget(m_c->cw); - connect (m_c->ui.fontComboBox, SIGNAL(activated( const QString &)), m_c->cw, SLOT(updateFamily(const QString & ))); - connect (m_c->cw, SIGNAL(characterSelected(const QString &)), m_c->ui.textEdit, SLOT(insertPlainText(const QString & ))); - - m_c->cw->updateSize("12"); - - connect(m_c->ui.textEdit, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), this, SLOT(updateCharFormat(const QTextCharFormat &))); - m_c->ui.frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - - QTextCharFormat format; - QFont font; - font.setFamily("Arial"); - font.setPointSize(24); - format.setFont(font); - m_c->ui.textEdit->setCurrentCharFormat(format); - m_c->ui.textEdit->setFocus(); - m_c->ui.textEdit->setText(QString("")); -} - -const QTextEdit *LabelEditorDialog::textEdit() const { - return m_c->ui.textEdit; -} - - -QTextEdit *LabelEditorDialog::textEdit() { - return m_c->ui.textEdit; -} - - - - -void LabelEditorDialog::textFamily( const QString &f ) -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontFamily(f); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textSize( int i ) -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontPointSize(i); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textBold() -{ - - QFont font=m_c->ui.boldButton->font(); - bool flag=font.bold(); - flag = !flag; - font.setBold(flag); - m_c->ui.boldButton->setFont(font); - - - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontWeight(flag ? QFont::Bold : QFont::Normal ); - tE->mergeCurrentCharFormat(format); - -} - -void LabelEditorDialog::textItalic() -{ - QFont font=m_c->ui.italicButton->font(); - bool flag=font.italic(); - flag = !flag; - font.setItalic(flag); - m_c->ui.italicButton->setFont(font); - - - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontItalic(flag); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textScript() -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - - QString text = m_c->ui.scriptButton->text(); - if (text==QString("-")) { - m_c->ui.scriptButton->setText(QString("^")); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - } - if (text==QString("^")){ - m_c->ui.scriptButton->setText(QString("_")); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - } - if (text==QString("_")) { - m_c->ui.scriptButton->setText(QString("-")); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - } - - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textColor() -{ - QColor textColorVal; - QColor col = QColorDialog::getColor(textColorVal, this ); - if ( !col.isValid() ) return; - - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,col); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); - - QTextEdit * tE = m_c->ui.textEdit; - tE->setTextColor(col); -} - -void LabelEditorDialog::updateCharFormat(const QTextCharFormat &f) { - - // Don't update if cursor moves to select text, it is damn annoying. - if (m_c->ui.textEdit->textCursor().selectionStart()!=m_c->ui.textEdit->textCursor().selectionEnd()) return; - - static QTextCharFormat df; - df.setVerticalAlignment(QTextCharFormat::AlignNormal); - df.setFontItalic(false); - df.setFontWeight(QFont::Normal); - df.setFontPointSize(24); - df.setFontFamily("Arial"); - - QTextCharFormat F = f.fontPointSize()!=0.0 ? f: df; - if (F.verticalAlignment()==QTextCharFormat::AlignNormal) m_c->ui.scriptButton->setText(QString("-")); - if (F.verticalAlignment()==QTextCharFormat::AlignSubScript) m_c->ui.scriptButton->setText(QString("_")); - if (F.verticalAlignment()==QTextCharFormat::AlignSuperScript) m_c->ui.scriptButton->setText(QString("^")); - { - QFont font=m_c->ui.italicButton->font(); - font.setItalic (F.fontItalic()); - m_c->ui.italicButton->setFont(font); - } - { - QFont font=m_c->ui.boldButton->font(); - font.setBold(F.fontWeight()==QFont::Bold); - m_c->ui.boldButton->setFont(font); - } - - m_c->ui.fontSizeSpinBox->setValue(int(F.fontPointSize()+0.5)); - - QString fam=F.fontFamily(); - m_c->ui.fontComboBox->setEditText(fam); - - - QColor color=F.foreground().color(); - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); -} - - - -void LabelEditorDialog::toggleChars() { - if (m_c->ui.frame->isHidden()) { - m_c->ui.frame->show(); - setMinimumSize(600,600); - resize(minimumSize()); - } - else { - - m_c->ui.frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - } - -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui b/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui deleted file mode 100644 index ee1b0a2e6e1..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui +++ /dev/null @@ -1,311 +0,0 @@ -<ui version="4.0" > - <class>LabelEditorDialog</class> - <widget class="QDialog" name="LabelEditorDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>600</width> - <height>200</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>600</width> - <height>200</height> - </size> - </property> - <property name="windowTitle" > - <string>Label Edit</string> - </property> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>9</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>0</number> - </property> - <item> - <widget class="QFontComboBox" name="fontComboBox" > - <property name="toolTip" > - <string>Set the Font Family</string> - </property> - <property name="currentIndex" > - <number>40</number> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="fontSizeSpinBox" > - <property name="toolTip" > - <string>Set the font size</string> - </property> - <property name="value" > - <number>24</number> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="colorButton" > - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="boldButton" > - <property name="font" > - <font> - <weight>50</weight> - <bold>false</bold> - </font> - </property> - <property name="toolTip" > - <string>Toggle Bold Characters</string> - </property> - <property name="text" > - <string>B</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="italicButton" > - <property name="toolTip" > - <string>Toggle Italic Characters</string> - </property> - <property name="text" > - <string>I</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="scriptButton" > - <property name="toolTip" > - <string>Set Superscript</string> - </property> - <property name="text" > - <string>-</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="specialCButton" > - <property name="font" > - <font> - <family>Standard Symbols L</family> - </font> - </property> - <property name="toolTip" > - <string>Choose Special Character</string> - </property> - <property name="text" > - <string>S</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>0</number> - </property> - <item> - <widget class="QTextEdit" name="textEdit" > - <property name="minimumSize" > - <size> - <width>0</width> - <height>50</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>100</height> - </size> - </property> - <property name="font" > - <font> - <pointsize>24</pointsize> - </font> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - <property name="lineWrapMode" > - <enum>QTextEdit::WidgetWidth</enum> - </property> - <property name="lineWrapColumnOrWidth" > - <number>1500</number> - </property> - </widget> - </item> - <item> - <widget class="QScrollArea" name="frame" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Ignored" hsizetype="Ignored" > - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>400</height> - </size> - </property> - <property name="palette" > - <palette> - <active> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Raised</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>LabelEditorDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>LabelEditorDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp deleted file mode 100644 index 73a56d3c440..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp +++ /dev/null @@ -1,175 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LinearRangeDivider.h" -#include <cmath> -#include <sstream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LinearRangeDivider::LinearRangeDivider(): - m_min(0.0),m_max(1.0) -{ -} - -LinearRangeDivider::~LinearRangeDivider() { -} - - - -// Set the range: -void LinearRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - recompute(); - - - - -} - -// Set the range: -void LinearRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LinearRangeDivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LinearRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LinearRangeDivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - - -void LinearRangeDivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - double lower, multiplier; - int nTicks; - - double exponent = floor(log10(m_max-m_min)); - multiplier = pow(10,exponent); - int Ntyp = int(10*m_max/multiplier-10*m_min/multiplier); - // number from 10 to 100 - double omult; - if (Ntyp<12) { - omult = .1*multiplier; - multiplier = .2* multiplier; - } - else if (Ntyp<16) { - omult = .1*multiplier; - multiplier = .3*multiplier; - } - else if (Ntyp<25) { - omult = .2*multiplier; - multiplier = .4*multiplier; - } - else if (Ntyp<30) { - omult = .1*multiplier; - multiplier = .5*multiplier; - } - else if (Ntyp<40) { - omult = .2*multiplier; - multiplier = .6*multiplier; - } - else if (Ntyp<50) { - omult = .2*multiplier; - multiplier = .8*multiplier; - } - else if (Ntyp<60) { - omult = multiplier; - multiplier = 1.0*multiplier; - } - else if (Ntyp<75) { - omult = 0.4*multiplier; - multiplier = 1.2*multiplier; - } - else if (Ntyp<80) { - omult = 0.5*multiplier; - multiplier = 1.5*multiplier; - } - else { - omult = 0.5*multiplier; - multiplier = 2.0*multiplier; - } - int tk=(int) floor(m_min/omult +0.5); - - lower = tk*omult; - nTicks=int(((m_max-lower)/multiplier) + 1.05); - - if (nTicks<50) { - for (int i=0;i<nTicks;i++) { - double sub = lower+i*multiplier; - //if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; - if (sub>=m_min && sub<=m_max) { - m_subdivision.push_back(sub); - - std::ostringstream label; - label << sub; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - - } - } - else { - - { - m_subdivision.push_back(m_min); - - std::ostringstream label; - label << m_min; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - { - m_subdivision.push_back(m_max); - - std::ostringstream label; - label << m_max; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - } -} - -// Get the validity of each subdivision: -bool LinearRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp b/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp deleted file mode 100644 index 79f6d95324d..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LinearSubdivider.h" -#include <cmath> -#include <sstream> -#include <iostream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LinearSubdivider::LinearSubdivider(): - m_min(0.0),m_max(1.0) -{ -} - -LinearSubdivider::~LinearSubdivider() { -} - - - -// Set the range: -void LinearSubdivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - recompute(); - - - - -} - -// Set the range: -void LinearSubdivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LinearSubdivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LinearSubdivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LinearSubdivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - - -void LinearSubdivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - - double exponent = floor(log10(m_max-m_min)); - double multiplier = pow(10,exponent); - int Ntyp = int (10*m_max/multiplier-10*m_min/multiplier+0.5); - // number from 10 to 100 - int intervals=1; - if (Ntyp==12) { - intervals=4; - } - else if (Ntyp==20) { - intervals=5; - } - else if (Ntyp==30) { - intervals=5; - } - else if (Ntyp==40) { - intervals=4; - } - else if (Ntyp==50) { - intervals=5; - } - else if (Ntyp==60) { - intervals=5; - } - else if (Ntyp==70) { - intervals=7; - } - else if (Ntyp==80) { - intervals=4; - } - else if (Ntyp==90) { - intervals=3; - } - else { - intervals=5; - } - multiplier *= (Ntyp/10.0/intervals); - - int nTicks=int(((m_max-m_min)/multiplier) + 1.05); - - if (nTicks<50) { - for (int i=0;i<nTicks;i++) { - double sub = m_min+i*multiplier; - //if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; - if (sub>=m_min && sub<=m_max) { - m_subdivision.push_back(sub); - - } - - } - } - else { - - { - m_subdivision.push_back(m_min); - } - { - m_subdivision.push_back(m_max); - } - } -} - -// Get the validity of each subdivision: -bool LinearSubdivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp deleted file mode 100644 index e1d58348115..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp +++ /dev/null @@ -1,150 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LogRangeDivider.h" -#include <cmath> -#include <sstream> -#include <algorithm> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LogRangeDivider::LogRangeDivider(): - m_min(0.0),m_max(1.0) -{ -} - -LogRangeDivider::~LogRangeDivider() { -} - - - -// Set the range: -void LogRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=std::min(min,max); - m_max=std::max(min,max); - - if (m_max<0) { - m_max=1; - m_min=0.1; - } - if (m_min<0) { - m_min=m_max/10.0; - } - - recompute(); - - - - -} - -// Set the range: -void LogRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LogRangeDivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LogRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LogRangeDivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - -void LogRangeDivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - - double exponentMin = floor(log10(m_min)); - double multMin = pow(10,exponentMin); - unsigned int NMin = (unsigned int) (m_min/multMin+1); - if (NMin==10) { - NMin=1; - multMin*=10; - } - - double nDecades = log10(m_max/m_min); - static unsigned int valueSet3[]={1}; - static unsigned int valueSet2[]={1,5}; - static unsigned int valueSet1[]={1,2,5}; - static unsigned int valueSet0[]={1,2,3,4,5,6,7,8,9}; - static unsigned int *valueSet=NULL; - unsigned int valueSetSize=0; - unsigned int nJump = (unsigned int) (nDecades/8 + 1); - if (nDecades<1) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else if (nDecades<2) { - valueSet=valueSet1; - valueSetSize=sizeof(valueSet1)/sizeof(int); - } - else if (nDecades<3) { - valueSet=valueSet2; - valueSetSize=sizeof(valueSet2)/sizeof(int); - } - else { - valueSet=valueSet3; - valueSetSize=sizeof(valueSet3)/sizeof(int); - } - - while (1) { - - if (std::find(valueSet,valueSet+valueSetSize,NMin)!=valueSet+valueSetSize) { - m_subdivision.push_back(NMin*multMin); - std::ostringstream label; - label << NMin*multMin; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - - NMin++; - if (NMin==10) { - NMin=1; - multMin*=pow(10,nJump); - } - if (NMin*multMin > m_max) break; - } - -} - -// Get the validity of each subdivision: -bool LogRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - -//if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; diff --git a/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp b/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp deleted file mode 100644 index 88278a195d1..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp +++ /dev/null @@ -1,145 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LogSubdivider.h" -#include <cmath> -#include <sstream> -#include <algorithm> -#include <iostream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LogSubdivider::LogSubdivider(): - m_min(0.0),m_max(1.0) -{ -} - -LogSubdivider::~LogSubdivider() { -} - - - -// Set the range: -void LogSubdivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=std::min(min,max); - m_max=std::max(min,max); - - if (m_max<0) { - m_max=1; - m_min=0.1; - } - if (m_min<0) { - m_min=m_max/10.0; - } - - recompute(); - - - - -} - -// Set the range: -void LogSubdivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LogSubdivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LogSubdivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LogSubdivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - -void LogSubdivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - double nDecades = log10(m_max/m_min); - - - - - double exponentMin = floor(log10(m_min)); - double multMin = pow(10,exponentMin); - unsigned int NMin = (unsigned int) (m_min/multMin+1); - if (NMin==10) { - NMin=1; - multMin*=10; - } - - static unsigned int valueSet3[]={1}; - // static unsigned int valueSet2[]={1,5}; - // static unsigned int valueSet1[]={1,2,5}; - static unsigned int valueSet0[]={1,2,3,4,5,6,7,8,9}; - static unsigned int *valueSet=NULL; - unsigned int valueSetSize=0; - unsigned int nJump = (unsigned int) (nDecades/8 + 1); - if (nDecades<1) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else if (nDecades<2) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else { - valueSet=valueSet3; - valueSetSize=sizeof(valueSet3)/sizeof(int); - } - - while (1) { - - if (std::find(valueSet,valueSet+valueSetSize,NMin)!=valueSet+valueSetSize) { - m_subdivision.push_back(NMin*multMin); - } - - NMin++; - if (NMin==10) { - NMin=1; - multMin*=pow(10,nJump); - } - if (NMin*multMin > m_max) break; - } - -} - -// Get the validity of each subdivision: -bool LogSubdivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - -//if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; diff --git a/graphics/Qat/QatPlotWidgets/src/PVControl.cpp b/graphics/Qat/QatPlotWidgets/src/PVControl.cpp deleted file mode 100644 index 6ea5c3b4787..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PVControl.cpp +++ /dev/null @@ -1,250 +0,0 @@ -#include "QatPlotWidgets/PVControl.h" -#include <QtGui/QDoubleValidator> -#include "ui_PVControl.h" -#include <sstream> -#include <iostream> -#include <limits> - -class PVControl::Clockwork { -public: - Ui::PVControl ui; - QDoubleValidator *validator; - QRectF rectI; - QRectF rectII; - PlotView *plotView; - -}; - -QRectF PVControl::rect() { - return m_c->rectII; -} - -PVControl::~PVControl() { - delete m_c; -} - -Ui::PVControl & PVControl::ui() { - return m_c->ui; -} - -PVControl::PVControl (PlotView *parent, const QRectF & rect):QDialog(parent), m_c(new Clockwork()){ - m_c->validator=NULL; - m_c->plotView=parent; - - m_c->ui.setupUi(this); - setRect(rect); - - QObject::connect(m_c->ui.xZeroCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setXZero(bool))); - QObject::connect(m_c->ui.yZeroCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setYZero(bool))); - QObject::connect(m_c->ui.gridCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setGrid(bool))); - QObject::connect(m_c->ui.logXCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setLogX(bool))); - QObject::connect(m_c->ui.logYCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setLogY(bool))); - QObject::connect(m_c->ui.labelBoxBox, SIGNAL(clicked(bool)), parent, SLOT(setBox(bool))); - - QObject::connect(m_c->ui.xMaxDial, SIGNAL(valueChanged(int)), this, SLOT(setXMax(int))); - QObject::connect(m_c->ui.xMinDial, SIGNAL(valueChanged(int)), this, SLOT(setXMin(int))); - QObject::connect(m_c->ui.yMaxDial, SIGNAL(valueChanged(int)), this, SLOT(setYMax(int))); - QObject::connect(m_c->ui.yMinDial, SIGNAL(valueChanged(int)), this, SLOT(setYMin(int))); - - - QObject::connect(m_c->ui.xMinBox, SIGNAL(editingFinished()), this, SLOT(changeXMin())); - QObject::connect(m_c->ui.xMaxBox, SIGNAL(editingFinished()), this, SLOT(changeXMax())); - QObject::connect(m_c->ui.yMinBox, SIGNAL(editingFinished()), this, SLOT(changeYMin())); - QObject::connect(m_c->ui.yMaxBox, SIGNAL(editingFinished()), this, SLOT(changeYMax())); - - QObject::connect(m_c->ui.labelHomePushButton, SIGNAL(clicked()), this, SIGNAL(labelHome())); - QObject::connect(m_c->ui.xAxisFontButton, SIGNAL(clicked()), this, SIGNAL(editXAxisFont())); - QObject::connect(m_c->ui.yAxisFontButton, SIGNAL(clicked()), this, SIGNAL(editYAxisFont())); - - QObject::connect(m_c->ui.labelWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setLabelXSizePercentage(int))); - QObject::connect(m_c->ui.labelHeightSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setLabelYSizePercentage(int))); - - m_c->validator=new QDoubleValidator(this); - m_c->validator->setRange(-std::numeric_limits<double>::max(), - +std::numeric_limits<double>::max(), - 10); - - - m_c->ui.xMinBox->setValidator(m_c->validator); - m_c->ui.xMaxBox->setValidator(m_c->validator); - m_c->ui.yMinBox->setValidator(m_c->validator); - m_c->ui.yMaxBox->setValidator(m_c->validator); -} - -void PVControl::setRect( const QRectF & rect) { - - QObject *sender = QObject::sender(); - - std::ostringstream leftStream, rightStream, topStream, bottomStream; - leftStream << rect.left(); - rightStream << rect.right(); - topStream << rect.top(); - bottomStream << rect.bottom(); - - if (sender== m_c->ui.xMinBox || sender==m_c->ui.xMaxBox || sender==m_c->ui.yMinBox || sender==m_c->ui.yMaxBox || - sender== m_c->ui.xMinDial || sender==m_c->ui.xMaxDial || sender==m_c->ui.yMinDial || sender==m_c->ui.yMaxDial) { - } - else { - m_c->ui.xMinBox->setText(leftStream.str().c_str()); - m_c->ui.yMinBox->setText(topStream.str().c_str()); - m_c->ui.xMaxBox->setText(rightStream.str().c_str()); - m_c->ui.yMaxBox->setText(bottomStream.str().c_str()); - m_c->rectI =rect; - - m_c->ui.yMinDial->setValue(0); - m_c->ui.yMaxDial->setValue(99); - m_c->ui.xMinDial->setValue(0); - m_c->ui.xMaxDial->setValue(99); - m_c->rectII=rect; - m_c->ui.logXCheckBox->setEnabled(rect.left()>0.0); - m_c->ui.logYCheckBox->setEnabled(rect.top()>0.0); - } - - -} - -PlotView::Style PVControl::yAxisStyle() { - return m_c->ui.logYCheckBox->isChecked() ? PlotView::LOG : PlotView::LINEAR; -} - - -PlotView::Style PVControl::xAxisStyle() { - return m_c->ui.logXCheckBox->isChecked() ? PlotView::LOG : PlotView::LINEAR; -} - -// called when XMax is changed: -void PVControl::setXMax(int value) { - if (m_c->ui.xMinDial->value()>= value) m_c->ui.xMinDial->setValue(value-1); - m_c->rectII.setRight(m_c->rectI.left()+value/99.0*m_c->rectI.width()); - emit rectChanged(m_c->rectII); -} - -// called when XMin is changed: -void PVControl::setXMin(int value) { - if (m_c->ui.xMaxDial->value()<= value) m_c->ui.xMaxDial->setValue(value+1); - m_c->rectII.setLeft(m_c->rectI.left()+value/99.0*m_c->rectI.width()); - emit rectChanged(m_c->rectII); -} - -// called when YMax is changed: -void PVControl::setYMax(int value) { - if (m_c->ui.yMinDial->value()>= value) m_c->ui.yMinDial->setValue(value-1); - m_c->rectII.setBottom(m_c->rectI.top()+value/99.0*m_c->rectI.height()); - emit rectChanged(m_c->rectII); -} - -// called when YMin is changed: -void PVControl::setYMin(int value) { - if (m_c->ui.yMaxDial->value()<= value) m_c->ui.yMaxDial->setValue(value+1); - m_c->rectII.setTop(m_c->rectI.top()+value/99.0*m_c->rectI.height()); - emit rectChanged(m_c->rectII); -} - -void PVControl::changeXMin() { - - std::string txt=m_c->ui.xMinBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value < m_c->rectI.right() && (!m_c->plotView->isLogX() || value > 0)) { - m_c->rectI.setLeft(value); - m_c->ui.xMinDial->setValue(0); - setXMin(0); - m_c->ui.logXCheckBox->setEnabled(m_c->rectI.left()>0.0); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.left(); - m_c->ui.xMinBox->setText(oldValueStream.str().c_str()); - } - } -} -void PVControl::changeYMin() { - - std::string txt=m_c->ui.yMinBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value < m_c->rectI.bottom() && (!m_c->plotView->isLogY() || value>0)) { - m_c->rectI.setTop(value); - m_c->ui.yMinDial->setValue(0); - setYMin(0); - m_c->ui.logYCheckBox->setEnabled(m_c->rectI.top()>0.0); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.top(); - m_c->ui.yMinBox->setText(oldValueStream.str().c_str()); - } - } -} - - - -void PVControl::changeXMax() { - - std::string txt=m_c->ui.xMaxBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value > m_c->rectI.left()) { - m_c->rectI.setRight(value); - m_c->ui.xMaxDial->setValue(99); - setXMax(99); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.right(); - m_c->ui.xMaxBox->setText(oldValueStream.str().c_str()); - } - } - - -} - - -void PVControl::changeYMax() { - - std::string txt=m_c->ui.yMaxBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value > m_c->rectI.top()) { - m_c->rectI.setBottom(value); - m_c->ui.yMaxDial->setValue(99); - setYMax(99); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.bottom(); - m_c->ui.yMaxBox->setText(oldValueStream.str().c_str()); - } - } - - - -} - - -void PVControl::setLabelXSizePercentage(int pc) { - QObject *sender = QObject::sender(); - - if (sender!=m_c->ui.labelWidthSpinBox) m_c->ui.labelWidthSpinBox->setValue(pc); - qreal f = pc; - emit labelXSizePercentageChanged(f); -} - -void PVControl::setLabelYSizePercentage(int pc) { - QObject *sender = QObject::sender(); - if (sender != m_c->ui.labelHeightSpinBox) m_c->ui.labelHeightSpinBox->setValue(pc); - qreal f = pc; - emit labelYSizePercentageChanged(f); -} diff --git a/graphics/Qat/QatPlotWidgets/src/PVControl.ui b/graphics/Qat/QatPlotWidgets/src/PVControl.ui deleted file mode 100644 index 7b8289e382b..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PVControl.ui +++ /dev/null @@ -1,1262 +0,0 @@ -<ui version="4.0" > - <class>PVControl</class> - <widget class="QDialog" name="PVControl" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>387</width> - <height>520</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>231</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="1" > - <widget class="QPushButton" name="okButton" > - <property name="text" > - <string>OK</string> - </property> - <property name="autoDefault" > - <bool>false</bool> - </property> - </widget> - </item> - <item row="0" column="0" colspan="2" > - <widget class="QTabWidget" name="tabWidget" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Open PlotView Range Selection Page</p></body></html></string> - </property> - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="optionsTab" > - <attribute name="title" > - <string>Options</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_2" > - <item> - <layout class="QVBoxLayout" name="verticalLayout" > - <item> - <layout class="QGridLayout" name="gridLayout" > - <item row="0" column="0" > - <widget class="QCheckBox" name="labelBoxBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the label (or statistics) box</p></body></html></string> - </property> - <property name="text" > - <string>LabelBox</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item rowspan="5" row="0" column="1" colspan="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>51</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="3" > - <widget class="QPushButton" name="labelHomePushButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Send the Label Box to its home position.</string> - </property> - <property name="text" > - <string>Home</string> - </property> - </widget> - </item> - <item row="0" column="4" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item rowspan="2" row="1" column="0" > - <widget class="QLabel" name="label" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Width</string> - </property> - </widget> - </item> - <item rowspan="2" row="1" column="2" > - <widget class="QSpinBox" name="labelWidthSpinBox" > - <property name="font" > - <font> - <family>Arial</family> - <pointsize>12</pointsize> - </font> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="maximum" > - <number>100</number> - </property> - <property name="value" > - <number>40</number> - </property> - </widget> - </item> - <item row="1" column="3" colspan="2" > - <spacer name="horizontalSpacer" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="label_2" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Height</string> - </property> - </widget> - </item> - <item rowspan="2" row="3" column="2" > - <widget class="QSpinBox" name="labelHeightSpinBox" > - <property name="font" > - <font> - <family>Arial</family> - <pointsize>12</pointsize> - </font> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="maximum" > - <number>100</number> - </property> - <property name="value" > - <number>30</number> - </property> - </widget> - </item> - <item row="3" column="3" colspan="2" > - <spacer name="horizontalSpacer_2" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer_2" > - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QCheckBox" name="logXCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Selects logarithmic or linear y scale</p></body></html></string> - </property> - <property name="text" > - <string>Logarithmic X Scale</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="logYCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Selects logarithmic or linear y scale</p></body></html></string> - </property> - <property name="text" > - <string>Logarithmic Y Scale</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="gridCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles visibility of gridlines</p></body></html></string> - </property> - <property name="text" > - <string>Show Grid</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="xZeroCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the zero-line in x</p></body></html></string> - </property> - <property name="text" > - <string>Show X Zero</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="yZeroCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the zero-line in y</p></body></html></string> - </property> - <property name="text" > - <string>Show Y Zero</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer" > - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - <widget class="QWidget" name="rangeTab" > - <attribute name="title" > - <string>Range</string> - </attribute> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>9</number> - </property> - <item> - <widget class="QGroupBox" name="yRangeBox" > - <property name="title" > - <string>Y Range</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="maxYLabel" > - <property name="text" > - <string>Max</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="minYLabel" > - <property name="text" > - <string>Min</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QDial" name="yMaxDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y-range upper boundary smooth adjustment</p></body></html></string> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>99</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QDial" name="yMinDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y-range lower boundary smooth adjustment</p></body></html></string> - </property> - <property name="maximum" > - <number>98</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="yMaxBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Upper boundary of the y-range</p></body></html></string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="yMinBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lower boundary of the y-range</p></body></html></string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="xRangeBox" > - <property name="title" > - <string>X Range</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="maxXLabel" > - <property name="text" > - <string>Max</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="minXLabel" > - <property name="text" > - <string>Min</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QDial" name="xMaxDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">X-range upper boundary smooth adjustment</p></body></html></string> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>99</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QDial" name="xMinDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">X-range lower boundary smooth adjustment</p></body></html></string> - </property> - <property name="maximum" > - <number>98</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="xMaxBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Upper boundary of the x-range</p></body></html></string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="xMinBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lower boundary of the x-range</p></body></html></string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string>Format</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="axifFontGroupBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="title" > - <string>Axis Font</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="1" > - <widget class="QLabel" name="yAxisFontLabel" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Y Axis Font</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="yAxisFontButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Choose a font for the y axis numbers</string> - </property> - <property name="text" > - <string>Edit</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLabel" name="xAxisFontLabel" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>X Axis Font</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="xAxisFontButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Choose a font for the x axis numbers</string> - </property> - <property name="text" > - <string>Edit</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>tabWidget</tabstop> - <tabstop>labelBoxBox</tabstop> - <tabstop>labelHomePushButton</tabstop> - <tabstop>logXCheckBox</tabstop> - <tabstop>logYCheckBox</tabstop> - <tabstop>gridCheckBox</tabstop> - <tabstop>xZeroCheckBox</tabstop> - <tabstop>yZeroCheckBox</tabstop> - <tabstop>okButton</tabstop> - <tabstop>yMinBox</tabstop> - <tabstop>yMinDial</tabstop> - <tabstop>yMaxBox</tabstop> - <tabstop>yMaxDial</tabstop> - <tabstop>xMinBox</tabstop> - <tabstop>xMinDial</tabstop> - <tabstop>xMaxBox</tabstop> - <tabstop>xMaxDial</tabstop> - </tabstops> - <resources/> - <connections> - <connection> - <sender>okButton</sender> - <signal>pressed()</signal> - <receiver>PVControl</receiver> - <slot>close()</slot> - <hints> - <hint type="sourcelabel" > - <x>337</x> - <y>497</y> - </hint> - <hint type="destinationlabel" > - <x>193</x> - <y>259</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp b/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp deleted file mode 100644 index fe21393737c..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "QatPlotWidgets/ParameterDialog.h" -#include "ui_ParameterDialog.h" -class ParameterDialog::Clockwork { -public: - Genfun::Parameter *p; - Ui::ParameterDialog ui; -}; - -ParameterDialog::ParameterDialog(QWidget *parent, Genfun::Parameter * p): QDialog(parent), m_c(new Clockwork()){ - m_c->p=p; - m_c->ui.setupUi(this); - - double xmin=m_c->p->getLowerLimit(); - double xmax=m_c->p->getUpperLimit(); - double val =m_c->p->getValue(); - double frac=double(val-xmin)/double(xmax-xmin); - - int min=m_c->ui.dial->minimum(); - int max=m_c->ui.dial->maximum(); - int dialVal = min + int(frac*(max-min)); - m_c->ui.dial->setValue(dialVal); - connect(m_c->ui.dial, SIGNAL(valueChanged(int)), this, SLOT(updateParameter(int))); -} - - -ParameterDialog::~ParameterDialog() { - delete m_c; -} - -void ParameterDialog::updateParameter(int val) { - - int min=m_c->ui.dial->minimum(); - int max=m_c->ui.dial->maximum(); - - double frac=double(val-min)/double(max-min); - - double xmin=m_c->p->getLowerLimit(); - double xmax=m_c->p->getUpperLimit(); - - m_c->p->setValue(frac*(xmax-xmin)+xmin); - - emit updateFunction(); -} diff --git a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui b/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui deleted file mode 100644 index 8c67e5e380e..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui +++ /dev/null @@ -1,116 +0,0 @@ -<ui version="4.0" > - <class>ParameterDialog</class> - <widget class="QDialog" name="ParameterDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>229</width> - <height>253</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QDial" name="dial" > - <property name="palette" > - <palette> - <active> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="notchesVisible" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>ParameterDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>ParameterDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp deleted file mode 100644 index d979560e091..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp +++ /dev/null @@ -1,358 +0,0 @@ -#include "QatPlotWidgets/PlotDirDialog.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/PlotHist2D.h" -#include "ui_PlotDirDialog.h" -class PlotDirDialog::Clockwork { -public: - std::vector<PlotHist1D *> synchedPlot1D; - std::vector<PlotHist2D *> synchedPlot2D; - Ui::PlotDirDialog ui; -}; - -PlotDirDialog::PlotDirDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - // Unveil later (note, do this also on 1D, 2D dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - connect(m_c->ui.circleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.squareSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.upTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.downTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.noSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - - connect(m_c->ui.symbolSizeSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setSymbolSize1D(int))); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth1D(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - - - connect(m_c->ui.blackBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.redBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.greenBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.blueBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.cyanBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.purpleBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.grayBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - - connect(m_c->ui.solidBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense1BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense2BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense3BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense4BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense5BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense6BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense7BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.horizontalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.verticalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.crossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.bDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.fDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.diagCrossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.noBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - - - - - - - connect(m_c->ui.lineWidthSpinBox2D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth2D(int))); - - connect(m_c->ui.blackLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.redLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.greenLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.blueLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.cyanLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.purpleLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.grayLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - - - connect(m_c->ui.blackBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.redBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.greenBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.blueBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.cyanBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.purpleBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.grayBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - - - connect(m_c->ui.solidLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle2D(bool))); - connect(m_c->ui.noLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle2D(bool))); - - connect(m_c->ui.solidBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense1BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense2BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense3BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense4BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense5BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense6BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense7BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.noBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - - - -} - -PlotDirDialog::~PlotDirDialog() { - delete m_c; -} - - -#include <iostream> -void PlotDirDialog::synchTo(std::vector<PlotHist1D *> p1D, std::vector<PlotHist2D *> p2D) { - - m_c->synchedPlot1D=p1D; - m_c->synchedPlot2D=p2D; - -} - - -void PlotDirDialog::togglePlotStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - - if (theSender==m_c->ui.noSymbolToolButton1D) { - prop.plotStyle=PlotHist1D::Properties::LINES; - } - else { - prop.plotStyle=PlotHist1D::Properties::SYMBOLS; - } - - - if (theSender==m_c->ui.circleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::CIRCLE; - else if (theSender==m_c->ui.squareSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::SQUARE; - else if (theSender==m_c->ui.upTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_U; - else if (theSender==m_c->ui.downTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_L; - - plot->setProperties(prop); - } - } - emit updateManager(); -} - - - - -void PlotDirDialog::setSymbolSize1D (int sz) { - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - PlotHist1D::Properties prop = plot->properties(); - prop.symbolSize=sz; - plot->setProperties(prop); - } - emit updateManager(); -} - - - - -void PlotDirDialog::setLineWidth1D (int width) { - - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - PlotHist1D::Properties prop = plot->properties(); - prop.pen.setWidth(width); - plot->setProperties(prop); - } - emit updateManager(); - -} - - - -void PlotDirDialog::toggleLineColor1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushColor1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackBrushToolButton1D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton1D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton1D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton1D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton1D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton1D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton1D) prop.brush.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleLineStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidBrushToolButton1D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton1D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton1D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton1D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton1D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton1D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton1D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton1D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.horizontalBrushToolButton1D) prop.brush.setStyle(Qt::HorPattern); - else if (theSender==m_c->ui.verticalBrushToolButton1D) prop.brush.setStyle(Qt::VerPattern); - else if (theSender==m_c->ui.crossPatternBrushToolButton1D) prop.brush.setStyle(Qt::CrossPattern); - else if (theSender==m_c->ui.bDiagBrushToolButton1D) prop.brush.setStyle(Qt::BDiagPattern); - else if (theSender==m_c->ui.fDiagBrushToolButton1D) prop.brush.setStyle(Qt::FDiagPattern); - else if (theSender==m_c->ui.diagCrossPatternBrushToolButton1D) prop.brush.setStyle(Qt::DiagCrossPattern); - else if (theSender==m_c->ui.noBrushToolButton1D) prop.brush.setStyle(Qt::NoBrush); - plot->setProperties(prop); - } - } - emit updateManager(); - -} - - -void PlotDirDialog::setLineWidth2D (int width) { - - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - PlotHist2D::Properties prop = plot->properties(); - prop.pen.setWidth(width); - plot->setProperties(prop); - } - emit updateManager(); - -} - - - -void PlotDirDialog::toggleLineColor2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackLineToolButton2D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton2D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton2D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton2D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton2D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton2D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton2D) prop.pen.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushColor2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackBrushToolButton2D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton2D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton2D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton2D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton2D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton2D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton2D) prop.brush.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleLineStyle2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidLineToolButton2D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.noLineToolButton2D) prop.pen.setStyle(Qt::NoPen); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushStyle2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidBrushToolButton2D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton2D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton2D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton2D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton2D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton2D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton2D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton2D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.noBrushToolButton2D) prop.brush.setStyle(Qt::NoBrush); - plot->setProperties(prop); - } - } - emit updateManager(); - -} - - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui b/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui deleted file mode 100644 index cbfeff5eb89..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui +++ /dev/null @@ -1,1992 +0,0 @@ -<ui version="4.0" > - <class>PlotDirDialog</class> - <widget class="QDialog" name="PlotDirDialog" > - <property name="windowModality" > - <enum>Qt::NonModal</enum> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>524</width> - <height>688</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="geometry" > - <rect> - <x>9</x> - <y>633</y> - <width>453</width> - <height>32</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> - </property> - </widget> - <widget class="QTabWidget" name="tabWidget" > - <property name="geometry" > - <rect> - <x>40</x> - <y>10</y> - <width>451</width> - <height>591</height> - </rect> - </property> - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="tabHisto1D" > - <attribute name="title" > - <string>Histograms (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="2" > - <widget class="QSpinBox" name="symbolSizeSpinBox1D" > - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>1</number> - </property> - </widget> - </item> - <item row="1" column="0" colspan="2" > - <widget class="QLabel" name="symbolSizeLabel" > - <property name="text" > - <string>Symbol Size</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox_5" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Symbols</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QToolButton" name="circleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/circle.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="squareSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/square.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="upTriangleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/triup.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="downTriangleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/tridown.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="noSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/nosymbol.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="1" colspan="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabLine1D" > - <attribute name="title" > - <string>Line (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="3" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="lineWidthLabel" > - <property name="text" > - <string>Line Width</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lineWidthSpinBox1D" /> - </item> - <item row="1" column="0" > - <widget class="QGroupBox" name="lineStyleGroupBox" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Lines</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="1" > - <widget class="QToolButton" name="noLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-none.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dashDotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dashdot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dashDotDotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dashdotdot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="dashLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dash.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="solidLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-solid.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="0" colspan="3" > - <widget class="QGroupBox" name="groupBox_4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreLineColorsToolButton1D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabLine2D" > - <attribute name="title" > - <string>Line (2D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lineWidthSpinBox2D" /> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="lineWidthLabel_5" > - <property name="text" > - <string>Line Width</string> - </property> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0" > - <widget class="QGroupBox" name="lineStyleGroupBox_4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Lines</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QToolButton" name="solidLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-solid.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="noLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-none.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="3" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_12" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreLineColorsToolButton2D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabBrush1D" > - <attribute name="title" > - <string>Brush (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreBrushColorsToolButton1D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_3" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Fill</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="4" column="2" > - <widget class="QToolButton" name="diagCrossPatternBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDiagCrossPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="4" column="1" > - <widget class="QToolButton" name="bDiagBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushBDiagPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QToolButton" name="horizontalBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushHorPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="noBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushNoBrush.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dense2BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense2Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dense5BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense5Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="solidBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushSolidPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="dense1BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense1Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dense3BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense3Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QToolButton" name="dense6BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense6Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="dense4BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense4Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QToolButton" name="dense7BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense7Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QToolButton" name="verticalBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushVerPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QToolButton" name="crossPatternBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushCrossPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="4" column="0" > - <widget class="QToolButton" name="fDiagBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushFDiagPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabBrush2D" > - <attribute name="title" > - <string>Brush (2D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_17" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Fill</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QToolButton" name="noBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushNoBrush.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dense2BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense2Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dense5BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense5Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="solidBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushSolidPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="dense1BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense1Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dense3BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense3Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QToolButton" name="dense6BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense6Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="dense4BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense4Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QToolButton" name="dense7BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense7Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox_16" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreBrushColorsToolButton2D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string>Function</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QTableWidget" name="parameterTableWidget" > - <property name="rowCount" > - <number>10</number> - </property> - <property name="columnCount" > - <number>2</number> - </property> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <column/> - <column/> - </widget> - </item> - <item row="0" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </widget> - </widget> - <resources> - <include location="PlotWidgets.qrc" /> - </resources> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>PlotDirDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>PlotDirDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp deleted file mode 100644 index 8cc82723296..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp +++ /dev/null @@ -1,225 +0,0 @@ -#include "QatPlotWidgets/PlotFunction1DDialog.h" -#include "QatPlotWidgets/ParameterDialog.h" -#include "QatPlotting/PlotFunction1D.h" -#include "ui_PlotDirDialog.h" -#include <sstream> - -class PlotFunction1DDialog::Clockwork { -public: - Ui::PlotDirDialog ui; - PlotFunction1D *synchedPlot; - std::vector<Genfun::Parameter *> parameters; - std::map<Genfun::Parameter *, ParameterDialog *> paramDialogMap; -}; - -PlotFunction1DDialog::PlotFunction1DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(4); - m_c->ui.tabWidget->removeTab(3); - m_c->ui.tabWidget->removeTab(2); - m_c->ui.tabWidget->removeTab(0); - - // Unveil later (note, do this also on 2D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - - connect(m_c->ui.parameterTableWidget, SIGNAL(cellChanged(int, int)), this, SLOT(changeParameter(int, int))); - connect(m_c->ui.parameterTableWidget, SIGNAL(cellDoubleClicked(int,int)), this, SLOT (popParameterDial(int,int))); - - m_c->ui.buttonBox->button(QDialogButtonBox::Ok)->setDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Cancel)->setDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Ok)->setAutoDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false); - -} - -PlotFunction1DDialog::~PlotFunction1DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotFunction1DDialog::synchTo(PlotFunction1D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotFunction1D::Properties prop=plot->properties(); - QPen pen=prop.pen; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox1D->setValue(width); - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton1D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton1D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton1D->setChecked(true); - else if (style==Qt::DashLine) m_c->ui.dashLineToolButton1D->setChecked(true); - else if (style==Qt::DotLine) m_c->ui.dotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotLine) m_c->ui.dashDotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotDotLine) m_c->ui.dashDotDotLineToolButton1D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton1D->setChecked(true); - } - - -} - -void PlotFunction1DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } -} - - -void PlotFunction1DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } - } -} - -void PlotFunction1DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } - } -} - -void PlotFunction1DDialog::clearParameters() { - m_c->parameters.erase(m_c->parameters.begin(),m_c->parameters.end()); - m_c->ui.parameterTableWidget->clear(); - m_c->ui.parameterTableWidget->hide(); -} - -void PlotFunction1DDialog::addParameter(Genfun::Parameter *p) { - m_c->parameters.push_back(p); - m_c->ui.parameterTableWidget->setRowCount(m_c->parameters.size()); - - - std::ostringstream stream; - stream << p->getValue(); - - { - QTableWidgetItem *item = new QTableWidgetItem(p->getName().c_str()); - item->setFlags(0); - m_c->ui.parameterTableWidget->setItem(m_c->parameters.size()-1, 0, item); - } - - { - QTableWidgetItem *item = new QTableWidgetItem(stream.str().c_str()); - m_c->ui.parameterTableWidget->setItem(m_c->parameters.size()-1, 1, item); - item->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled); - } - m_c->ui.parameterTableWidget->show(); - -} - -void PlotFunction1DDialog::changeParameter(int row, int column) { - - std::istringstream inStream(m_c->ui.parameterTableWidget->item(row, column)->text().toStdString().c_str()); - double x; - if (inStream >> x) { - if (x > m_c->parameters[row]->getLowerLimit() && x < m_c->parameters[row]->getUpperLimit()) { - m_c->parameters[row]->setValue(x); - emit updateFunction(); - return; - } - } - std::ostringstream outStream; - outStream << m_c->parameters[row]->getValue(); - QTableWidgetItem *valueItem=m_c->ui.parameterTableWidget->item(row,1); - if (valueItem) valueItem->setText(outStream.str().c_str()); -} - - -void PlotFunction1DDialog::popParameterDial(int row, int column) { - if (column==1) { - - ParameterDialog *d=NULL; - std::map<Genfun::Parameter *, ParameterDialog *>::iterator pd=m_c->paramDialogMap.find(m_c->parameters[row]); - if (pd==m_c->paramDialogMap.end()) { - - - d = new ParameterDialog(0, m_c->parameters[row]); - d->setWindowTitle(m_c->parameters[row]->getName().c_str()); - connect(d, SIGNAL(updateFunction()), this, SIGNAL(updateFunction())); - connect(d, SIGNAL(updateFunction()), this, SLOT(synchToFunction())); - m_c->paramDialogMap[m_c->parameters[row]]=d; - } - else { - d = (*pd).second; - } - d->show(); - d->raise(); - } - -} - -void PlotFunction1DDialog::synchToFunction() { - blockSignals(true); - - for (unsigned int row=0;row<m_c->parameters.size();row++) { - std::ostringstream outStream; - outStream << m_c->parameters[row]->getValue(); - QTableWidgetItem *valueItem=m_c->ui.parameterTableWidget->item(row,1); - if (valueItem) valueItem->setText(outStream.str().c_str()); - } - blockSignals(false); -} diff --git a/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp deleted file mode 100644 index 427a1bab74a..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp +++ /dev/null @@ -1,290 +0,0 @@ -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotHist1D.h" -#include "ui_PlotDirDialog.h" -class PlotHist1DDialog::Clockwork { -public: - PlotHist1D *synchedPlot; - Ui::PlotDirDialog ui; -}; - -PlotHist1DDialog::PlotHist1DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - m_c->ui.tabWidget->removeTab(4); - m_c->ui.tabWidget->removeTab(2); - - // Unveil later (note, do this also on 2D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - connect(m_c->ui.symbolSizeSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setSymbolSize(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - - connect(m_c->ui.blackBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.redBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.greenBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.blueBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.cyanBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.purpleBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.grayBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - connect(m_c->ui.solidBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense1BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense2BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense3BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense4BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense5BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense6BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense7BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.horizontalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.verticalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.crossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.bDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.fDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.diagCrossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.noBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - - - connect(m_c->ui.circleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.squareSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.upTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.downTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.noSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - -} - -PlotHist1DDialog::~PlotHist1DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotHist1DDialog::synchTo(PlotHist1D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotHist1D::Properties prop=plot->properties(); - QPen pen=prop.pen; - QBrush brush = prop.brush; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox1D->setValue(width); - - int symSize=prop.symbolSize; - m_c->ui.symbolSizeSpinBox1D->setValue(symSize); - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton1D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton1D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton1D->setChecked(true); - else if (style==Qt::DashLine) m_c->ui.dashLineToolButton1D->setChecked(true); - else if (style==Qt::DotLine) m_c->ui.dotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotLine) m_c->ui.dashDotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotDotLine) m_c->ui.dashDotDotLineToolButton1D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton1D->setChecked(true); - } - - - { - QColor color = brush.color(); - if (color==QColor("black")) m_c->ui.blackBrushToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redBrushToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenBrushToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueBrushToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanBrushToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleBrushToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayBrushToolButton1D->setChecked(true); - else { - m_c->ui.moreBrushColorsToolButton1D->setChecked(true); - } - Qt::BrushStyle style = brush.style(); - if (style==Qt::SolidPattern) m_c->ui.solidBrushToolButton1D->setChecked(true); - else if (style==Qt::Dense1Pattern) m_c->ui.dense1BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense2Pattern) m_c->ui.dense2BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense3Pattern) m_c->ui.dense3BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense4Pattern) m_c->ui.dense4BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense5Pattern) m_c->ui.dense5BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense6Pattern) m_c->ui.dense6BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense7Pattern) m_c->ui.dense7BrushToolButton1D->setChecked(true); - else if (style==Qt::HorPattern) m_c->ui.horizontalBrushToolButton1D->setChecked(true); - else if (style==Qt::VerPattern) m_c->ui.verticalBrushToolButton1D->setChecked(true); - else if (style==Qt::CrossPattern) m_c->ui.crossPatternBrushToolButton1D->setChecked(true); - else if (style==Qt::BDiagPattern) m_c->ui.bDiagBrushToolButton1D->setChecked(true); - else if (style==Qt::FDiagPattern) m_c->ui.fDiagBrushToolButton1D->setChecked(true); - else if (style==Qt::DiagCrossPattern) m_c->ui.diagCrossPatternBrushToolButton1D->setChecked(true); - else if (style==Qt::NoBrush) m_c->ui.noBrushToolButton1D->setChecked(true); - } - - PlotHist1D::Properties::PlotStyle plotStyle = prop.plotStyle; - PlotHist1D::Properties::SymbolStyle symbolStyle = prop.symbolStyle; - - if (plotStyle==PlotHist1DProperties::LINES) { - m_c->ui.noSymbolToolButton1D->setChecked(true); - } - else { - if (symbolStyle==PlotHist1D::Properties::CIRCLE) m_c->ui.circleSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::SQUARE) m_c->ui.squareSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_U) m_c->ui.upTriangleSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_L) m_c->ui.downTriangleSymbolToolButton1D->setChecked(true); - } - - -} - -void PlotHist1DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - -void PlotHist1DDialog::setSymbolSize (int i) { - if (m_c->synchedPlot) { - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - prop.symbolSize=i; - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - - -void PlotHist1DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleBrushColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackBrushToolButton1D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton1D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton1D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton1D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton1D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton1D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton1D) prop.brush.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleBrushStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidBrushToolButton1D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton1D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton1D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton1D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton1D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton1D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton1D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton1D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.horizontalBrushToolButton1D) prop.brush.setStyle(Qt::HorPattern); - else if (theSender==m_c->ui.verticalBrushToolButton1D) prop.brush.setStyle(Qt::VerPattern); - else if (theSender==m_c->ui.crossPatternBrushToolButton1D) prop.brush.setStyle(Qt::CrossPattern); - else if (theSender==m_c->ui.bDiagBrushToolButton1D) prop.brush.setStyle(Qt::BDiagPattern); - else if (theSender==m_c->ui.fDiagBrushToolButton1D) prop.brush.setStyle(Qt::FDiagPattern); - else if (theSender==m_c->ui.diagCrossPatternBrushToolButton1D) prop.brush.setStyle(Qt::DiagCrossPattern); - else if (theSender==m_c->ui.noBrushToolButton1D) prop.brush.setStyle(Qt::NoBrush); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - - -void PlotHist1DDialog::togglePlotStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - - if (theSender==m_c->ui.noSymbolToolButton1D) { - prop.plotStyle=PlotHist1D::Properties::LINES; - } - else { - prop.plotStyle=PlotHist1D::Properties::SYMBOLS; - } - - - if (theSender==m_c->ui.circleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::CIRCLE; - else if (theSender==m_c->ui.squareSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::SQUARE; - else if (theSender==m_c->ui.upTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_U; - else if (theSender==m_c->ui.downTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_L; - - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp deleted file mode 100644 index addb77e219d..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp +++ /dev/null @@ -1,206 +0,0 @@ -#include "QatPlotWidgets/PlotHist2DDialog.h" -#include "QatPlotting/PlotHist2D.h" -#include "ui_PlotDirDialog.h" -class PlotHist2DDialog::Clockwork { -public: - PlotHist2D *synchedPlot; - Ui::PlotDirDialog ui; -}; - -PlotHist2DDialog::PlotHist2DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - m_c->ui.tabWidget->removeTab(3); - m_c->ui.tabWidget->removeTab(1); - m_c->ui.tabWidget->removeTab(0); - - // Unveil later (note, do this also on 1D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - connect(m_c->ui.lineWidthSpinBox2D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - - - connect(m_c->ui.blackLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - - connect(m_c->ui.blackBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.redBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.greenBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.blueBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.cyanBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.purpleBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.grayBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - - - connect(m_c->ui.solidLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - connect(m_c->ui.solidBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense1BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense2BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense3BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense4BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense5BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense6BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense7BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.noBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - - -} - -PlotHist2DDialog::~PlotHist2DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotHist2DDialog::synchTo(PlotHist2D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotHist2D::Properties prop=plot->properties(); - QPen pen=prop.pen; - QBrush brush = prop.brush; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox2D->setValue(width); - - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton2D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton2D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton2D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton2D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton2D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton2D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton2D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton2D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton2D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton2D->setChecked(true); - } - - - { - QColor color = brush.color(); - if (color==QColor("black")) m_c->ui.blackBrushToolButton2D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redBrushToolButton2D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenBrushToolButton2D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueBrushToolButton2D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanBrushToolButton2D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleBrushToolButton2D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayBrushToolButton2D->setChecked(true); - else { - m_c->ui.moreBrushColorsToolButton2D->setChecked(true); - } - Qt::BrushStyle style = brush.style(); - if (style==Qt::SolidPattern) m_c->ui.solidBrushToolButton2D->setChecked(true); - else if (style==Qt::Dense1Pattern) m_c->ui.dense1BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense2Pattern) m_c->ui.dense2BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense3Pattern) m_c->ui.dense3BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense4Pattern) m_c->ui.dense4BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense5Pattern) m_c->ui.dense5BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense6Pattern) m_c->ui.dense6BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense7Pattern) m_c->ui.dense7BrushToolButton2D->setChecked(true); - else if (style==Qt::NoBrush) m_c->ui.noBrushToolButton2D->setChecked(true); - } - - -} - -void PlotHist2DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - - - -void PlotHist2DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton2D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton2D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton2D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton2D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton2D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton2D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton2D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleBrushColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackBrushToolButton2D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton2D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton2D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton2D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton2D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton2D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton2D) prop.brush.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton2D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.noLineToolButton2D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleBrushStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidBrushToolButton2D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton2D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton2D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton2D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton2D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton2D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton2D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton2D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.noBrushToolButton2D) prop.brush.setStyle(Qt::NoBrush); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotView.cpp b/graphics/Qat/QatPlotWidgets/src/PlotView.cpp deleted file mode 100644 index f4849a0ba32..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotView.cpp +++ /dev/null @@ -1,1405 +0,0 @@ -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/LinearRangeDivider.h" -#include "QatPlotWidgets/LinearSubdivider.h" -#include "QatPlotWidgets/LogSubdivider.h" -#include "QatPlotWidgets/LogRangeDivider.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/Plotable.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsItemGroup> -#include <QResizeEvent> -#include <QPrinter> -#include <QPrintDialog> -#include <QPainter> -#include <QPixmap> -#include <QClipboard> -#include <QTimer> -#include <QFileDialog> -#include <QFontDialog> -#include <QGraphicsSceneMouseEvent> -#include <QMenu> -#include <QAction> -#include <QPicture> -#include <QSvgGenerator> -#include <iostream> -#include <stdexcept> -#include <cmath> -#include <sstream> -#include <memory> -#include "QatPlotWidgets/LabelEditorDialog.h" -#include "QatPlotWidgets/PVControl.h" -#include "ui_PVControl.h" - -std::ostream & operator << (std::ostream & o, const QPointF &p ) { - return o << '(' << p.x() << ' ' << p.y() << ')'; -} - -std::ostream & operator << (std::ostream & o, const QPoint &p ) { - return o << '(' << p.x() << ' ' << p.y() << ')'; -} - - -std::ostream & operator << (std::ostream & o, const QMatrix &m ) { - return o << '(' << m.m11() - << ' ' - << m.m12() - << ' ' - << m.m21() - << ' ' - << m.m22() - << ' ' - << m.dx() - << ' ' - << m.dy() - << ' ' << ')'; -} - -class SRectF: public QRectF { -public: - inline SRectF(const QPolygonF & poly) { - if (poly.size()!=4) { - throw std::runtime_error("Constructing a rectangle requires 4 point polygon"); - } - else { - double width = poly[1].x()-poly[0].x(), height= (poly[2].y()-poly[0].y()); - setRect(poly[0].x(), poly[0].y(), width, height); - } - } -}; - - -class LabelItem:public QGraphicsRectItem{ -public: - - LabelItem(const QRectF & rect, QDialog *dialog, bool visible=false): - QGraphicsRectItem(rect),m_dialog(dialog),m_visible(visible) - { - - { - QPen pen; - pen.setColor(QColor("lightGray")); - pen.setStyle(m_visible ? Qt::SolidLine : Qt::NoPen); - defaultPen=pen; - } - { - QPen pen; - pen.setColor(QColor("darkBlue")); - pen.setStyle(Qt::SolidLine); - hoverPen=pen; - } - - setPen(defaultPen); - setBrush(defaultBrush); - - - setAcceptsHoverEvents(true); - - } - - void hoverEnterEvent(QGraphicsSceneHoverEvent *) { - setPen(hoverPen); - setBrush(hoverBrush); - } - - void hoverLeaveEvent(QGraphicsSceneHoverEvent *) { - setPen(defaultPen); - setBrush(defaultBrush); - } - - void mousePressEvent(QGraphicsSceneMouseEvent *) { - if (m_dialog) { - if (!m_dialog->isVisible()) { - //QPoint point=rect().topLeft().toPoint(); - m_dialog->move(m_dialog->parentWidget()->pos()+m_dialog->parentWidget()->rect().bottomRight()); - m_dialog->show(); - } - else - { - m_dialog->hide(); - } - } - } - bool isVisible() const {return m_visible;} - - QPen defaultPen, hoverPen; - QBrush defaultBrush, hoverBrush; - - -private: - QDialog *m_dialog; - bool m_visible; -}; - -class GraphBoxItem:public QGraphicsRectItem{ -public: - - GraphBoxItem(const QRectF & rect, PVControl *control, PlotView *parent=NULL): - QGraphicsRectItem(rect),m_popup(new QMenu(parent)), m_control(control),m_pvParent(parent) - { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("black")); - setPen(pen); - setAcceptsHoverEvents(true); - - QSize size(150,75); - m_popup->resize(size); - m_copyAction=m_popup->addAction("Copy"); - m_saveAction=m_popup->addAction("Save"); - m_printAction=m_popup->addAction("Print"); - - QObject::connect (m_printAction, SIGNAL(triggered()), parent, SLOT(print())); - QObject::connect (m_copyAction, SIGNAL(triggered()), parent, SLOT(copy())); - QObject::connect (m_saveAction, SIGNAL(triggered()), parent, SLOT(save())); - - } - - void hoverEnterEvent(QGraphicsSceneHoverEvent *) { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("darkBlue")); - setPen(pen); - } - - void hoverLeaveEvent(QGraphicsSceneHoverEvent *) { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("black")); - setPen(pen); - } - - void mousePressEvent (QGraphicsSceneMouseEvent *e) { - if (e->buttons()==Qt::RightButton) { - m_popup->popup(e->widget()->mapToGlobal(e->pos().toPoint())); - } - else if (e->buttons()==Qt::MidButton) { - double slX = (m_pvParent->rect()->right() - m_pvParent->rect()->left())/double(rect().width()); - double slY = (m_pvParent->rect()->top() - m_pvParent->rect()->bottom())/double(rect().height()); - double x = (e->pos().toPoint().x()-rect().left()) * slX + m_pvParent->rect()->left(); - double y = (e->pos().toPoint().y()-rect().bottom()) * slY + m_pvParent->rect()->top(); - m_pvParent->pointChosen(x,y); - } - else if (e->buttons()==Qt::LeftButton) { - m_control->move(m_control->parentWidget()->pos()+m_control->parentWidget()->rect().topRight()); - if (!m_control->isVisible()) { - m_control->show(); - m_control->raise(); - } - else { - m_control->hide(); - } - } - } - - void mouseReleaseEvent (QGraphicsSceneMouseEvent *e) { - if (e->buttons()==Qt::RightButton) m_popup->hide(); - } - - -private: - QMenu *m_popup; - PVControl *m_control; - QAction *m_printAction; - QAction *m_copyAction; - QAction *m_saveAction; - PlotView *m_pvParent; -}; - - -class PlotView::Clockwork { - - -public: - - - Clockwork(): - created(false), - m_control(NULL), - graphBox(NULL), - xLabelBox(NULL), yLabelBox(NULL), vLabelBox(NULL), titleBox(NULL), statBox(NULL), - xLabelEditorDialog(NULL), yLabelEditorDialog(NULL), vLabelEditorDialog(NULL), titleEditorDialog(NULL), statEditorDialog(NULL), - xLabelTextItem(NULL), yLabelTextItem(NULL), vLabelTextItem(NULL), titleTextItem(NULL), statTextItem(NULL), - g(NULL),gridLinesGroup(NULL),contentsGroup(NULL),xZeroLine(NULL),yZeroLine(NULL), - xRangeDivider(NULL),yRangeDivider(NULL), xAllocDivider(NULL), yAllocDivider(NULL), - xAxisStyle{}, yAxisStyle{}, - labelWidth(50), - popupMenu(nullptr), timer(nullptr) - { - xAxisFont.setPointSize(18); - xAxisFont.setFamily("Arial"); - yAxisFont.setPointSize(18); - yAxisFont.setFamily("Arial"); - xPerCento=40; - yPerCento=40; - } - - struct TickLabel{ - TickLabel(double pos, QGraphicsTextItem*tI) :pos(pos),tI(tI) {} - double pos; - QGraphicsTextItem *tI; - }; - - void resizeBoxes(int w, int h) { - graphBoxTopLeft=QPoint(2*labelWidth, 2*labelWidth); - graphBoxSize=QSize(w-4*labelWidth, h-4*labelWidth); - titleBoxTopLeft=QPoint(2*labelWidth, labelWidth); - titleBoxSize=QSize(w-4*labelWidth, labelWidth); - xLabelBoxTopLeft=QPoint(2*labelWidth, h-labelWidth); - xLabelBoxSize=QSize(w-4*labelWidth, labelWidth); - yLabelBoxTopLeft=QPoint(0, 2*labelWidth); - yLabelBoxSize=QSize(labelWidth, h-4*labelWidth); - vLabelBoxTopLeft=QPoint(w-labelWidth, 2*labelWidth); - vLabelBoxSize=QSize(labelWidth, h-4*labelWidth); - statBoxTopLeft=QPoint(2*labelWidth+(100-xPerCento)*(w-4*labelWidth)/100, 2*labelWidth); - statBoxSize=QSize(xPerCento*(w-4*labelWidth)/100, yPerCento*(h-4*labelWidth)/100); - } - - bool created; - PVControl *m_control; - GraphBoxItem *graphBox; - LabelItem *xLabelBox, *yLabelBox, *vLabelBox, *titleBox, *statBox; - LabelEditorDialog *xLabelEditorDialog, *yLabelEditorDialog, *vLabelEditorDialog, *titleEditorDialog, *statEditorDialog; - QGraphicsTextItem *xLabelTextItem, *yLabelTextItem, *vLabelTextItem, *titleTextItem, *statTextItem; - QGraphicsItemGroup *g, *gridLinesGroup, *contentsGroup; - QGraphicsLineItem *xZeroLine, *yZeroLine; - std::vector<TickLabel> xTickLabel, yTickLabel; - AbsRangeDivider *xRangeDivider, *yRangeDivider; // These are not allocated and not owned. - AbsRangeDivider *xAllocDivider, *yAllocDivider; // These area allocated and owned. - - Style xAxisStyle; - Style yAxisStyle; - - QRectF rect; - QGraphicsScene scene; - QFont xAxisFont; - QFont yAxisFont; - const int labelWidth; - - QPoint graphBoxTopLeft; - QSize graphBoxSize; - QPoint titleBoxTopLeft; - QSize titleBoxSize; - QPoint xLabelBoxTopLeft; - QSize xLabelBoxSize; - QPoint yLabelBoxTopLeft; - QSize yLabelBoxSize; - QPoint vLabelBoxTopLeft; - QSize vLabelBoxSize; - QPoint statBoxTopLeft; - QSize statBoxSize; - - QMenu *popupMenu; - QTimer *timer; - std::vector<Plotable *> plotableList; - double xPerCento, yPerCento; - -}; - - -PlotView::~PlotView() { - delete m_c->xAllocDivider; - delete m_c->yAllocDivider; - delete m_c; -} - - -PlotView::PlotView( QWidget *parent) : - QGraphicsView(parent),m_c(new Clockwork()){ - m_c->rect=QRectF(0,0,1,1); - create(); - setLogX(false); - setLogY(false); - createXRangeDivider(); - createYRangeDivider(); - setFrameShape(QFrame::NoFrame); -} - -PlotView::PlotView(const QRectF * rect, Style xStyle, Style yStyle, bool createRangeDividers, QWidget *parent) : QGraphicsView(parent),m_c(new Clockwork) -{ - m_c->rect=*rect; - create(); - setLogX(xStyle==LOG); - setLogY(yStyle==LOG); - if (createRangeDividers) { - createXRangeDivider(); - createYRangeDivider(); - } - setFrameShape(QFrame::NoFrame); -} - -void PlotView::create() { - // If created, you have to do a big cleanup. - if (m_c->created) { - - delete m_c->g; - m_c->xZeroLine=NULL; // Now gone. - m_c->yZeroLine=NULL; // Now gone. - - // Rebuild group and gridLinesGroup: - m_c->g=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->g); - - m_c->contentsGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->contentsGroup); - m_c->g->addToGroup(m_c->contentsGroup); - - m_c->gridLinesGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->gridLinesGroup); - m_c->g->addToGroup(m_c->gridLinesGroup); - - - for (unsigned int i=0;i<m_c->xTickLabel.size();i++) { - m_c->scene.removeItem(m_c->xTickLabel[i].tI); - delete m_c->xTickLabel[i].tI; - - } - for (unsigned int i=0;i<m_c->yTickLabel.size();i++) { - m_c->scene.removeItem(m_c->yTickLabel[i].tI); - delete m_c->yTickLabel[i].tI; - } - m_c->xTickLabel.erase(m_c->xTickLabel.begin(),m_c->xTickLabel.end()); - m_c->yTickLabel.erase(m_c->yTickLabel.begin(),m_c->yTickLabel.end()); - - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - - } - else { - m_c->created=true; - - m_c->timer = new QTimer(this); - QObject::connect(m_c->timer, SIGNAL(timeout()), this, SLOT(animate()), Qt::QueuedConnection); - - m_c->m_control=new PVControl(this,m_c->rect); - setScene(&m_c->scene); - m_c->g=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->g); - m_c->gridLinesGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->gridLinesGroup); - m_c->g->addToGroup(m_c->gridLinesGroup); - - m_c->contentsGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->contentsGroup); - m_c->g->addToGroup(m_c->contentsGroup); - - - setAlignment(Qt::AlignLeft | Qt::AlignTop); - setMinimumSize(700,500); - m_c->xAxisStyle=m_c->m_control->xAxisStyle(); - m_c->yAxisStyle=m_c->m_control->yAxisStyle(); - - m_c->xLabelEditorDialog = new LabelEditorDialog(this); m_c->xLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->yLabelEditorDialog = new LabelEditorDialog(this); m_c->yLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->vLabelEditorDialog = new LabelEditorDialog(this); m_c->vLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->titleEditorDialog = new LabelEditorDialog(this); m_c->titleEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->statEditorDialog = new LabelEditorDialog(this); - - QSize screenDimensions(700,500); - - setDragMode(NoDrag); - // setRenderHint(QPainter::Antialiasing); - // setCacheMode(QGraphicsView::CacheBackground); - - setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - SRectF sceneRect=mapToScene(0,0,700,500); - - setSceneRect(sceneRect); - resize(screenDimensions.width(),screenDimensions.height()); - - int w=screenDimensions.width()/*-5*/,h=screenDimensions.height()/*-5*/; - m_c->resizeBoxes(w,h); - - m_c->statBox=new LabelItem(QRect(m_c->statBoxTopLeft,m_c->statBoxSize),m_c->statEditorDialog); - { - QPen pen; - pen.setStyle(Qt::NoPen); - m_c->statBox->defaultPen=pen; - } - m_c->scene.addItem(m_c->statBox); - - m_c->graphBox=new GraphBoxItem(QRect(m_c->graphBoxTopLeft,m_c->graphBoxSize),m_c->m_control, this); - m_c->scene.addItem(m_c->graphBox); - m_c->titleBox=new LabelItem(QRect(m_c->titleBoxTopLeft,m_c->titleBoxSize),m_c->titleEditorDialog); - m_c->scene.addItem(m_c->titleBox); - m_c->xLabelBox=new LabelItem(QRect(m_c->xLabelBoxTopLeft,m_c->xLabelBoxSize),m_c->xLabelEditorDialog); - m_c->scene.addItem(m_c->xLabelBox); - m_c->yLabelBox=new LabelItem(QRect(m_c->yLabelBoxTopLeft,m_c->yLabelBoxSize),m_c->yLabelEditorDialog); - m_c->scene.addItem(m_c->yLabelBox); - m_c->vLabelBox=new LabelItem(QRect(m_c->vLabelBoxTopLeft,m_c->vLabelBoxSize),m_c->vLabelEditorDialog); - m_c->scene.addItem(m_c->vLabelBox); - - //Make the stat box movable; set boundary to zero. - m_c->statBox->setFlag(QGraphicsItem::ItemIsMovable); - { - QPen pen; - pen.setStyle(Qt::NoPen); - m_c->statBox->defaultPen=pen; - } - - // Workaround to Qt Bug # 138596 (Qt 4.2.1) - m_c->titleEditorDialog->textEdit()->document()->setTextWidth(m_c->titleBoxSize.width()); - m_c->xLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->xLabelBoxSize.width()); - m_c->yLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->yLabelBoxSize.width()); - m_c->vLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->vLabelBoxSize.width()); - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - - - m_c->titleEditorDialog->textEdit()->setFixedWidth((int) m_c->titleBox->rect().width()); - m_c->titleEditorDialog->setFixedWidth(m_c->titleEditorDialog->childrenRect().width()); - - m_c->xLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->xLabelBox->rect().width()); - m_c->xLabelEditorDialog->setFixedWidth(m_c->xLabelEditorDialog->childrenRect().width()); - - m_c->yLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->yLabelBox->rect().height()); - m_c->yLabelEditorDialog->setFixedWidth(m_c->yLabelEditorDialog->childrenRect().width()); - - m_c->vLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->vLabelBox->rect().height()); - m_c->vLabelEditorDialog->setFixedWidth(m_c->vLabelEditorDialog->childrenRect().width()); - - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - // end workaround - - - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - m_c->statEditorDialog->textEdit()->setWordWrapMode(QTextOption::WrapAnywhere); - m_c->statEditorDialog->textEdit()->setLineWrapMode(QTextEdit::FixedPixelWidth); - - - QFont font; - font.setPointSize(24); - font.setFamily("Arial"); - - - m_c->titleTextItem = new QGraphicsTextItem(m_c->titleBox); - m_c->titleTextItem->setFont(font); - //m_c->scene.addItem(m_c->titleTextItem); - - m_c->xLabelTextItem = new QGraphicsTextItem(m_c->xLabelBox); - m_c->xLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->xLabelTextItem); - - m_c->yLabelTextItem = new QGraphicsTextItem(m_c->yLabelBox); - m_c->yLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->yLabelTextItem); - - m_c->vLabelTextItem = new QGraphicsTextItem(m_c->vLabelBox); - m_c->vLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->vLabelTextItem); - - m_c->statTextItem = new QGraphicsTextItem(m_c->statBox); - m_c->statTextItem->setFont(font); - //m_c->scene.addItem(m_c->statTextItem); - m_c->statBox->setFlag(QGraphicsItem::ItemIsSelectable); - - connect(m_c->m_control, SIGNAL(rectChanged(const QRectF &)), this, SLOT(setRect (const QRectF &))); - - connect(m_c->titleEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateTitle())); - connect(m_c->xLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateXLabel())); - connect(m_c->yLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateYLabel())); - connect(m_c->vLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateVLabel())); - connect(m_c->statEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateStat())); - - connect(m_c->m_control, SIGNAL(labelHome()), this, SLOT(labelHome())); - connect(m_c->m_control, SIGNAL(editXAxisFont()), this, SLOT(editXAxisFont())); - connect(m_c->m_control, SIGNAL(editYAxisFont()), this, SLOT(editYAxisFont())); - - connect(m_c->m_control, SIGNAL(labelXSizePercentageChanged(qreal)), this, SLOT(setLabelXSizePercentage(qreal))); - connect(m_c->m_control, SIGNAL(labelYSizePercentageChanged(qreal)), this, SLOT(setLabelYSizePercentage(qreal))); - m_c->popupMenu=new QMenu(this); - - } - - - // Label the x axes: - if (m_c->xRangeDivider) m_c->xRangeDivider->setRange(m_c->rect.left(), m_c->rect.right()); - if (m_c->yRangeDivider) m_c->yRangeDivider->setRange(m_c->rect.top(), m_c->rect.bottom()); - - LinToLog *toLogY= m_c->yAxisStyle==LOG ? new LinToLog (m_c->rect.top(),m_c->rect.bottom()) : NULL; - LinToLog *toLogX= m_c->xAxisStyle==LOG ? new LinToLog (m_c->rect.left(),m_c->rect.right()) : NULL; - // Master transformer: - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - // End master transformer.. - - if (m_c->xRangeDivider) { - for (int ix=0;ix<m_c->xRangeDivider->getNumSubdivisions();ix++) { - if (!m_c->xRangeDivider->isValid(ix)) continue; - - std::ostringstream x_label; - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double yValue=m_c->rect.top(); - double wValue=m_c->rect.bottom(); - if (toLogX) xValue = (*toLogX)(xValue); - - - - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/32.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - // Again (along the top). - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/32.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - // More (subdivisions, linear:): - if (!isLogX()) { - int nPass=ix==0 ? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LinearSubdivider()); - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double xPlusValue= ix!=m_c->xRangeDivider->getNumSubdivisions()-1 ? m_c->xRangeDivider->getSubdivision(ix+1).x(): 2*xValue-m_c->xRangeDivider->getSubdivision(ix-1).x(); - // Works for linear. - - // This is a second pass: - if (n==1) { - if (ix==0) { - double interval=xPlusValue-xValue; - xPlusValue=xValue; - xValue = xValue-interval; - } - } - - subdivider->setRange(xValue,xPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - // if (!subdivider->isValid(i)) continue; - double xValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (xValue<m_c->rect.left() || xValue>m_c->rect.right()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - else { // Log X - int nPass=ix==0 || ix == m_c->xRangeDivider->getNumSubdivisions()-1? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LogSubdivider()); - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double xPlusValue= ix!=m_c->xRangeDivider->getNumSubdivisions()-1 ? m_c->xRangeDivider->getSubdivision(ix+1).x(): 2*xValue-m_c->xRangeDivider->getSubdivision(ix-1).x(); - if (n==1) { - if (ix==0) { - xPlusValue=xValue; - xValue=m_c->rect.left(); - } - else { - xValue=xPlusValue; - xPlusValue=m_c->rect.right(); - } - } - - subdivider->setRange(xValue,xPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - double xValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (toLogX) xValue = (*toLogX)(xValue); - if (xValue<m_c->rect.left() || xValue>m_c->rect.right()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - - QGraphicsTextItem *anon = new QGraphicsTextItem(); - anon->setDocument(m_c->xRangeDivider->getSubdivision(ix).label()); - anon->setFont(m_c->xAxisFont); - anon->adjustSize(); - m_c->scene.addItem(anon); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X)+m_c->graphBoxTopLeft-QPoint(SBR.width()/2,0)); - m_c->xTickLabel.push_back(Clockwork::TickLabel(xValue,anon)); - - { - QGraphicsLineItem *line=new QGraphicsLineItem(QLineF(QPointF(xValue,m_c->rect.top()),QPointF(xValue,m_c->rect.bottom()))); - QPen pen=line->pen(); - pen.setStyle(Qt::DotLine); - pen.setColor(QColor("lightGray")); - line->setPen(pen); - m_c->scene.addItem(line); - m_c->gridLinesGroup->addToGroup(line); - } - } - } - if (m_c->yRangeDivider) { - for (int iy=0;iy<m_c->yRangeDivider->getNumSubdivisions();iy++) { - if (!m_c->yRangeDivider->isValid(iy)) continue; - - std::ostringstream y_label; - double yValue = m_c->yRangeDivider->getSubdivision(iy).x(); - double xValue = m_c->rect.left(); - double wValue = m_c->rect.right(); - if (toLogY) yValue = (*toLogY)(yValue); - - - QPointF X(xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/32.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - // Again: - { - QPointF X(wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/32.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - // More (subdivisions, linear:): - if (!isLogY()) { - int nPass=iy==0 ? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LinearSubdivider()); - double yValue=m_c->yRangeDivider->getSubdivision(iy).x(); - double yPlusValue= iy!=m_c->yRangeDivider->getNumSubdivisions()-1 ? m_c->yRangeDivider->getSubdivision(iy+1).x(): 2*yValue-m_c->yRangeDivider->getSubdivision(iy-1).x(); - // Works for linear. - - // This is a second pass: - if (n==1) { - if (iy==0) { - double interval=yPlusValue-yValue; - yPlusValue=yValue; - yValue = yValue-interval; - } - } - - subdivider->setRange(yValue,yPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - // if (!subdivider->isValid(i)) continue; - double yValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (yValue<m_c->rect.top() || yValue>m_c->rect.bottom()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - else { // Log Y - int nPass=iy==0 || iy == m_c->yRangeDivider->getNumSubdivisions()-1? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LogSubdivider()); - double yValue=m_c->yRangeDivider->getSubdivision(iy).x(); - double yPlusValue= iy!=m_c->yRangeDivider->getNumSubdivisions()-1 ? m_c->yRangeDivider->getSubdivision(iy+1).x(): 2*yValue-m_c->yRangeDivider->getSubdivision(iy-1).x(); - if (n==1) { - if (iy==0) { - yPlusValue=yValue; - yValue=m_c->rect.top(); - } - else { - yValue=yPlusValue; - yPlusValue=m_c->rect.bottom(); - } - } - - subdivider->setRange(yValue,yPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - double yValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (toLogY) yValue = (*toLogY)(yValue); - if (yValue<m_c->rect.top() || yValue>m_c->rect.bottom()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - - QGraphicsTextItem *anon = new QGraphicsTextItem(); - anon->setDocument(m_c->yRangeDivider->getSubdivision(iy).label()); - anon->setFont(m_c->yAxisFont); - anon->adjustSize(); - m_c->scene.addItem(anon); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X).toPoint()+m_c->graphBoxTopLeft-QPoint(2*SBR.width()/2+10,SBR.height()/2)); - m_c->yTickLabel.push_back(Clockwork::TickLabel(yValue,anon)); - - { - QGraphicsLineItem *line=new QGraphicsLineItem(QLineF(QPointF(m_c->rect.left(),yValue),QPointF(m_c->rect.right(),yValue))); - QPen pen=line->pen(); - pen.setStyle(Qt::DotLine); - pen.setColor(QColor("lightGray")); - line->setPen(pen); - m_c->scene.addItem(line); - m_c->gridLinesGroup->addToGroup(line); - } - - } - } - if (m_c->rect.contains(0,m_c->rect.center().y())) - { - m_c->xZeroLine=new QGraphicsLineItem(QLineF(QPointF(0,m_c->rect.bottom()),QPointF(0,m_c->rect.top()))); - QPen pen=m_c->xZeroLine->pen(); - pen.setColor(QColor("lightGray")); - m_c->xZeroLine->setPen(pen); - m_c->scene.addItem(m_c->xZeroLine); - m_c->g->addToGroup(m_c->xZeroLine); - } - - if (m_c->rect.contains(m_c->rect.center().x(), 0)) - { - m_c->yZeroLine=new QGraphicsLineItem(QLineF(QPointF(m_c->rect.right(),0),QPointF(m_c->rect.left(),0))); - QPen pen=m_c->yZeroLine->pen(); - pen.setColor(QColor("lightGray")); - m_c->yZeroLine->setPen(pen); - m_c->scene.addItem(m_c->yZeroLine); - m_c->g->addToGroup(m_c->yZeroLine); - } - - //=============================HERE IS A PLACE TO PLAY!!! - // - // Scene - // ContentsGroup - // Rect - // Matrix and inverse - - for (unsigned int i=0;i<m_c->plotableList.size();i++) { - m_c->plotableList[i]->describeYourselfTo(this); - } - //=============================END OF PLAYGROUND - - // Now go through the contents group and order everything! - QList<QGraphicsItem *> contentsList =m_c->contentsGroup->children(); - QList<QGraphicsItem *> gridLinesList=m_c->gridLinesGroup->children(); - QList<QGraphicsItem *> gList =m_c->g->children(); - - - for (int i=0;i<contentsList.size();i++) { - contentsList.at(i)->setZValue(i); - } - for (int i=0;i<gridLinesList.size();i++) { - gridLinesList.at(i)->setZValue(i); - } - for (int i=0;i<gList.size();i++) { - gList.at(i)->setZValue(i); - } - m_c->graphBox->setZValue(0); - m_c->g->setZValue(1); - m_c->vLabelBox->setZValue(2); - m_c->vLabelTextItem->setZValue(3); - m_c->titleBox->setZValue(4); - m_c->titleTextItem->setZValue(5); - m_c->xLabelBox->setZValue(6); - m_c->xLabelTextItem->setZValue(7); - m_c->yLabelBox->setZValue(8); - m_c->yLabelTextItem->setZValue(9); - m_c->statBox->setZValue(10); - m_c->statTextItem->setZValue(11); - - delete toLogY; - delete toLogX; - - m_c->g->setMatrix(m); - m_c->g->setPos(m_c->graphBoxTopLeft); - - setGrid(m_c->m_control->ui().gridCheckBox->isChecked()); - setXZero(m_c->m_control->ui().xZeroCheckBox->isChecked()); - setYZero(m_c->m_control->ui().yZeroCheckBox->isChecked()); -} - - -void PlotView::resizeEvent (QResizeEvent * /*event*/) { //unused parameter - // This is here to prevent funny sizes appearing during resize: - create(); - - //QSize size=event->size(); // size not used anymore... - //int h=size.height(); - //int w=size.width(); - - int h=height(); - int w=width(); - - m_c->resizeBoxes(w,h); - - - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - - m_c->g->setMatrix(m); - m_c->g->setPos(m_c->graphBoxTopLeft); - - m_c->graphBox->setRect(QRect(m_c->graphBoxTopLeft,m_c->graphBoxSize)); - - m_c->titleBox ->setRect(QRect(m_c->titleBoxTopLeft,m_c->titleBoxSize)); - m_c->titleTextItem->setPos(m_c->titleBox->sceneBoundingRect().topLeft()); - - m_c->xLabelBox->setRect(QRect(m_c->xLabelBoxTopLeft,m_c->xLabelBoxSize)); - m_c->xLabelTextItem->setPos(m_c->xLabelBox->sceneBoundingRect().topLeft()); - - m_c->yLabelBox->setRect(QRect(m_c->yLabelBoxTopLeft,m_c->yLabelBoxSize)); - m_c->yLabelTextItem->setPos(m_c->yLabelBox->sceneBoundingRect().bottomLeft()); - - m_c->vLabelBox->setRect(QRect(m_c->vLabelBoxTopLeft,m_c->vLabelBoxSize)); - m_c->vLabelTextItem->setPos(m_c->vLabelBox->sceneBoundingRect().bottomLeft()); - - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); - - for (unsigned int i=0;i<m_c->yTickLabel.size();i++) { - QGraphicsTextItem *anon=m_c->yTickLabel[i].tI; - double yValue=m_c->yTickLabel[i].pos; - double xValue=m_c->rect.left(); - QPointF X(xValue,yValue); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos( m.map(X).toPoint()+m_c->graphBoxTopLeft-QPoint(2*SBR.width()/2+10,SBR.height()/2)); - } - - for (unsigned int i=0;i<m_c->xTickLabel.size();i++) { - QGraphicsTextItem *anon=m_c->xTickLabel[i].tI; - double xValue=m_c->xTickLabel[i].pos; - double yValue=m_c->rect.top(); - QPointF X(xValue,yValue); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X)+m_c->graphBoxTopLeft-QPoint(SBR.width()/2,0)); - } - - // Workaround to Qt Bug # 138596 (Qt 4.2.1) - if (1) { - m_c->titleTextItem->setTextWidth(m_c->titleBox->rect().width()); - m_c->xLabelTextItem->setTextWidth(m_c->xLabelBox->rect().width()); - m_c->yLabelTextItem->setTextWidth(m_c->yLabelBox->rect().height()); - m_c->vLabelTextItem->setTextWidth(m_c->vLabelBox->rect().height()); - m_c->statTextItem->setTextWidth(m_c->statBox->rect().width()); - - - m_c->titleEditorDialog->textEdit()->setFixedWidth((int) m_c->titleBox->rect().width()); - m_c->titleEditorDialog->setFixedWidth(m_c->titleEditorDialog->childrenRect().width()); - - m_c->xLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->xLabelBox->rect().width()); - m_c->xLabelEditorDialog->setFixedWidth(m_c->xLabelEditorDialog->childrenRect().width()); - - m_c->yLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->yLabelBox->rect().height()); - m_c->yLabelEditorDialog->setFixedWidth(m_c->yLabelEditorDialog->childrenRect().width()); - - m_c->vLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->vLabelBox->rect().height()); - m_c->vLabelEditorDialog->setFixedWidth(m_c->vLabelEditorDialog->childrenRect().width()); - - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - } - - setGrid(m_c->m_control->ui().gridCheckBox->isChecked()); - setXZero(m_c->m_control->ui().xZeroCheckBox->isChecked()); - setYZero(m_c->m_control->ui().yZeroCheckBox->isChecked()); -} - -// Draw Primitives into the plotter: -// Set the Plot Rectangle -void PlotView::setRect(const QRectF & R){ - if (R.top()<=0) { - if (isLogY()) throw std::runtime_error("Ymin<=0 requested with logarithmic scale"); - } - if (R.left()<=0) { - if (isLogX()) throw std::runtime_error("Xmin<=0 requested with logarithmic scale"); - } - m_c->rect=R; - create(); - resize(QWidget::size()); - m_c->m_control->blockSignals(true); - m_c->m_control->setRect(R); - m_c->m_control->blockSignals(false); -} - - -// Get the Plot Rectangle: -QRectF * PlotView::rect() { - return &m_c->rect; -} - -const QRectF * PlotView::rect() const { - return &m_c->rect; -} - -// Clear the Plots -void PlotView::clear() { - stopAnimating(); - m_c->plotableList.erase(m_c->plotableList.begin(),m_c->plotableList.end()); - create(); -} - - -void PlotView::setGrid(bool flag){ - if (flag) m_c->gridLinesGroup->show(); else m_c->gridLinesGroup->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().gridCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - -} -void PlotView::setXZero(bool flag){ - if (m_c->xZeroLine) { - if (flag) m_c->xZeroLine->show(); else m_c->xZeroLine->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().xZeroCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} -void PlotView::setYZero(bool flag){ - if (m_c->yZeroLine) { - if (flag) m_c->yZeroLine->show(); else m_c->yZeroLine->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().yZeroCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} -void PlotView::setLogX(bool flag){ - if (flag==LOG && m_c->rect.left()<=0) { - throw std::runtime_error("Logarithmic scale requested where xmin<=0"); - } - m_c->xAxisStyle=flag ? LOG:LINEAR; - - if (m_c->xRangeDivider && m_c->xRangeDivider==m_c->xAllocDivider) createXRangeDivider(); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().logXCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - create(); -} - -void PlotView::setLogY(bool flag){ - if (flag==LOG && m_c->rect.top()<=0) { - throw std::runtime_error("Logarithmic scale requested where ymin<=0"); - } - m_c->yAxisStyle=flag ? LOG:LINEAR; - if (m_c->yRangeDivider && m_c->yRangeDivider==m_c->yAllocDivider) createYRangeDivider(); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().logYCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - - create(); -} - -bool PlotView::isLogY() const { - return m_c->yAxisStyle==LOG; -} - -bool PlotView::isLogX() const { - return m_c->xAxisStyle==LOG; -} - -void PlotView::setBox(bool flag){ - - if (flag) { - m_c->statBox->show(); - m_c->statTextItem->show(); - } - else { - m_c->statBox->hide(); - m_c->statTextItem->hide(); - } - { - if (QObject::sender()==m_c->m_control->ui().labelBoxBox) m_c->statBox->setSelected(true); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().labelBoxBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} - - -QTextEdit *PlotView::titleTextEdit() {return m_c->titleEditorDialog->textEdit();} -QTextEdit *PlotView::xLabelTextEdit(){return m_c->xLabelEditorDialog->textEdit();} -QTextEdit *PlotView::yLabelTextEdit(){return m_c->yLabelEditorDialog->textEdit();} -QTextEdit *PlotView::vLabelTextEdit(){return m_c->vLabelEditorDialog->textEdit();} -QTextEdit *PlotView::statTextEdit() {return m_c->statEditorDialog->textEdit();} - -void PlotView::updateTitle() { - QTextEdit *textEdit=m_c->titleEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->titleTextItem->setDocument(document); - QPointF q=m_c->titleBox->sceneBoundingRect().topLeft(); - m_c->titleTextItem->setPos(q); - m_c->titleTextItem->setTextWidth(m_c->titleBox->rect().width()); ///!!! HERE - m_c->titleTextItem->update(); -} - -void PlotView::updateStat() { - QTextEdit *textEdit=m_c->statEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->statTextItem->setDocument(document); - QPointF q=m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos(); - m_c->statTextItem->setPos(q); - m_c->statTextItem->update(); - m_c->statTextItem->setTextWidth(m_c->statBox->rect().width()); -} - - -void PlotView::updateXLabel() { - QTextEdit *textEdit=m_c->xLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->xLabelTextItem->setDocument(document); - QPointF q=m_c->xLabelBox->sceneBoundingRect().topLeft(); - m_c->xLabelTextItem->setPos(q); - m_c->xLabelTextItem->setTextWidth(m_c->xLabelBox->rect().width()); - m_c->xLabelTextItem->update(); -} - -void PlotView::updateYLabel() { - QTextEdit *textEdit=m_c->yLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->yLabelTextItem->setDocument(document); - - QPointF q=m_c->yLabelBox->sceneBoundingRect().bottomLeft(); - QMatrix M; - M.rotate(-90); - m_c->yLabelTextItem->setMatrix(M); - m_c->yLabelTextItem->setPos(q); - m_c->yLabelTextItem->update(); - -} - -void PlotView::updateVLabel() { - QTextEdit *textEdit=m_c->vLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->vLabelTextItem->setDocument(document); - QPointF q=m_c->vLabelBox->sceneBoundingRect().bottomLeft(); - QMatrix M; - M.rotate(-90); - m_c->vLabelTextItem->setMatrix(M); - m_c->vLabelTextItem->setPos(q); - m_c->vLabelTextItem->update(); - -} - - -void PlotView::copy() { - - QPen xp=m_c->xLabelBox->pen(); - QPen yp=m_c->xLabelBox->pen(); - QPen vp=m_c->xLabelBox->pen(); - QPen tp =m_c->titleBox->pen(); - //SM QPen gp =m_c->graphBox->pen(); - - xp.setStyle(Qt::NoPen); - yp.setStyle(Qt::NoPen); - vp.setStyle(Qt::NoPen); - tp.setStyle(Qt::NoPen); - //SM gp.setStyle(Qt::NoPen); - - m_c->xLabelBox->setPen(xp); - m_c->yLabelBox->setPen(yp); - m_c->vLabelBox->setPen(vp); - m_c->titleBox->setPen(tp); - //SM m_c->graphBox->setPen(gp); - - - QPixmap px = QPixmap::grabWidget(this); - QClipboard *cb = QApplication::clipboard(); - cb->setPixmap(px); - - if (m_c->xLabelBox->isVisible()) xp.setStyle(Qt::SolidLine); - if (m_c->yLabelBox->isVisible()) yp.setStyle(Qt::SolidLine); - if (m_c->vLabelBox->isVisible()) vp.setStyle(Qt::SolidLine); - if (m_c->titleBox->isVisible()) tp.setStyle(Qt::SolidLine); - - - m_c->xLabelBox->setPen(xp); - m_c->yLabelBox->setPen(yp); - m_c->vLabelBox->setPen(vp); - m_c->titleBox->setPen(tp); - -} - -void PlotView::print() { - QPrinter printer; - printer.setColorMode(QPrinter::Color); - printer.setResolution(600); - printer.setFullPage(TRUE); - QPrintDialog pDialog(&printer, this); - if (pDialog.exec()) { - - QPainter paint(&printer); - QRect viewport=paint.viewport(); - viewport.setTopLeft(QPoint(1000,1500)); - paint.setViewport(viewport); - - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - QMatrix m; - m.scale(5,5); - QPixmap ps = px.transformed(m); - - paint.drawPixmap(0,0,ps); - - } - - - -} - - -void PlotView::save() { - QString filename=QFileDialog::getSaveFileName(this, tr("Save File")); - if (filename!="") { - if (filename.toStdString().find(".pic")!=std::string::npos) { - - QPicture picture; - picture.setBoundingRect(QWidget::rect()); - QPainter painter; - painter.begin(&picture); // paint in picture - painter.setPen(Qt::NoPen); - recreate(); - scene()->render (&painter); - - painter.end(); // painting done - picture.save(filename); // save picture - - - } - else if (filename.toStdString().find(".svg")!=std::string::npos) { - - QSvgGenerator generator; - generator.setFileName(filename); - generator.setSize(size()); - //generator.setViewBox(QWidget::rect()); - //generator.setTitle(tr("SVG Generator Example Drawing")); - //generator.setDescription(tr("An SVG drawing created by the SVG Generator " - // "Example provided with Qt.")); - QPainter painter; - painter.begin(&generator); - recreate(); - scene()->render (&painter); - painter.end(); - } - else { - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - px.save(filename); - } - } -} - -void PlotView::save (const std::string & filename) { - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - px.save(QString(filename.c_str())); - -} - - - -QGraphicsItemGroup *PlotView::group() { - return m_c->contentsGroup; -} - -QGraphicsScene *PlotView::scene() { - return &m_c->scene; -} - - -QMatrix PlotView::matrix() { - // Master transformer: - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - // End master transformer.. - return m; -} - - -void PlotView::add (Plotable *p) { - m_c->plotableList.push_back(p); - create(); -} - -// Set the Range Divider -void PlotView::setXRangeDivider(AbsRangeDivider * xDivider) { - m_c->xRangeDivider=xDivider; -} - -// Create or re-create a Range Divider (according to current type) -AbsRangeDivider *PlotView::createXRangeDivider(bool set) { - if (m_c->xAllocDivider) delete m_c->xAllocDivider; - m_c->xAllocDivider = m_c->xAxisStyle==LOG ? (AbsRangeDivider *) new LogRangeDivider : (AbsRangeDivider *) new LinearRangeDivider; - if (set) m_c->xRangeDivider=m_c->xAllocDivider; - return m_c->xAllocDivider; -} - -// Set the Range Divider -void PlotView::setYRangeDivider(AbsRangeDivider * yDivider) { - m_c->yRangeDivider=yDivider; -} - -// Create or re-create Range Divider (according to current type). -AbsRangeDivider *PlotView::createYRangeDivider (bool set) { - if (m_c->yAllocDivider) delete m_c->yAllocDivider; - m_c->yAllocDivider = m_c->yAxisStyle==LOG ? (AbsRangeDivider *) new LogRangeDivider : (AbsRangeDivider *) new LinearRangeDivider; - if (set) m_c->yRangeDivider=m_c->yAllocDivider; - return m_c->yAllocDivider; -} - -void PlotView::labelHome() { - m_c->statBox ->setPos(0,0); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); -} - -void PlotView::editXAxisFont() { - bool ok; - QFont font = QFontDialog::getFont(&ok, m_c->xAxisFont, this); - if (ok) { - m_c->xAxisFont=font; - create(); - // the user clicked OK and font is set to the font the user selected - } else { - // the user canceled the m_dialog; font is set to the initial - // value, in this case Helvetica [Cronyx], 10 - } - -} - -void PlotView::editYAxisFont() { - bool ok; - QFont font = QFontDialog::getFont(&ok, m_c->yAxisFont, this); - if (ok) { - m_c->yAxisFont=font; - create(); - // the user clicked OK and font is set to the font the user selected - } else { - // the user canceled the m_dialog; font is set to the initial - // value, in this case Helvetica [Cronyx], 10 - } - -} -QFont & PlotView::xAxisFont() const { - return m_c->xAxisFont; -} - -QFont & PlotView::yAxisFont() const { - return m_c->yAxisFont; -} - -void PlotView::recreate() { - create(); -} - -void PlotView::animate() { - if (isVisible()) create(); -} - -bool PlotView::isBox() const { - return m_c->m_control->ui().labelBoxBox->isChecked(); -} -bool PlotView::isGrid() const { - return m_c->m_control->ui().gridCheckBox->isChecked(); -} -bool PlotView::isXZero() const { - return m_c->m_control->ui().xZeroCheckBox->isChecked(); -} -bool PlotView::isYZero() const { - return m_c->m_control->ui().yZeroCheckBox->isChecked(); -} -qreal PlotView::statBoxX() const { - return m_c->statBox->x(); -} -qreal PlotView::statBoxY() const { - return m_c->statBox->y(); -} - -void PlotView::setLabelPos(qreal x, qreal y) { - m_c->statBox ->setPos(x,y); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); -} - -void PlotView::startAnimating(int frameRateMillisec) { - m_c->timer->start(frameRateMillisec); -} - -void PlotView::stopAnimating() { - m_c->timer->stop(); -} - -void PlotView::setLabelXSizePercentage (qreal percentage) { - m_c->xPerCento=percentage; - m_c->m_control->blockSignals(true); - m_c->m_control->setLabelXSizePercentage (int (percentage+0.5)); - m_c->m_control->blockSignals(false); - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); -} -void PlotView::setLabelYSizePercentage (qreal percentage) { - m_c->yPerCento=percentage; - m_c->m_control->blockSignals(true); - m_c->m_control->setLabelYSizePercentage (int (percentage+0.5)); - m_c->m_control->blockSignals(false); - create(); - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - -} - -qreal PlotView::labelXSizePercentage() const { - return m_c->xPerCento; -} - -qreal PlotView::labelYSizePercentage() const { - return m_c->yPerCento; -} diff --git a/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc b/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc deleted file mode 100644 index f81d632e57f..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc +++ /dev/null @@ -1,39 +0,0 @@ -<RCC> - <qresource prefix="/resource-1" > - <file>ICONS/BrushBDiagPattern.png</file> - <file>ICONS/BrushCrossPattern.png</file> - <file>ICONS/BrushDense1Pattern.png</file> - <file>ICONS/BrushDense2Pattern.png</file> - <file>ICONS/BrushDense3Pattern.png</file> - <file>ICONS/BrushDense4Pattern.png</file> - <file>ICONS/BrushDense5Pattern.png</file> - <file>ICONS/BrushDense6Pattern.png</file> - <file>ICONS/BrushDense7Pattern.png</file> - <file>ICONS/BrushDiagCrossPattern.png</file> - <file>ICONS/BrushFDiagPattern.png</file> - <file>ICONS/BrushHorPattern.png</file> - <file>ICONS/BrushNoBrush.png</file> - <file>ICONS/BrushSolidPattern.png</file> - <file>ICONS/BrushVerPattern.png</file> - <file>ICONS/QtSolid.png</file> - <file>ICONS/black.png</file> - <file>ICONS/blue.png</file> - <file>ICONS/brush-styles.png</file> - <file>ICONS/circle.png</file> - <file>ICONS/cyan.png</file> - <file>ICONS/gray.png</file> - <file>ICONS/green.png</file> - <file>ICONS/mauve.png</file> - <file>ICONS/nosymbol.png</file> - <file>ICONS/qpen-dash.png</file> - <file>ICONS/qpen-dashdot.png</file> - <file>ICONS/qpen-dashdotdot.png</file> - <file>ICONS/qpen-dot.png</file> - <file>ICONS/qpen-none.png</file> - <file>ICONS/qpen-solid.png</file> - <file>ICONS/red.png</file> - <file>ICONS/square.png</file> - <file>ICONS/tridown.png</file> - <file>ICONS/triup.png</file> - </qresource> -</RCC> diff --git a/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro b/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro deleted file mode 100644 index e7e925ab0ec..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro +++ /dev/null @@ -1,56 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis -DESTDIR=../../../lib -FORMS=LabelEditorDialog.ui PVControl.ui PlotDirDialog.ui ParameterDialog.ui -CONFIG += qt debug -QT += svg -LIBS = -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -# Input -HEADERS += ../QatPlotWidgets/CustomRangeDivider.h \ - ../QatPlotWidgets/RangeDivision.h \ - ../QatPlotWidgets/AbsRangeDivider.h \ - ../QatPlotWidgets/LinearRangeDivider.h \ - ../QatPlotWidgets/LogRangeDivider.h \ - ../QatPlotWidgets/PlotView.h \ - ../QatPlotWidgets/LabelEditorDialog.h \ - ../QatPlotWidgets/characterwidget.h \ - ../QatPlotWidgets/PVControl.h \ - ../QatPlotWidgets/PlotHist1DDialog.h \ - ../QatPlotWidgets/PlotHist2DDialog.h \ - ../QatPlotWidgets/PlotDirDialog.h \ - ../QatPlotWidgets/PlotFunction1DDialog.h \ - ../QatPlotWidgets/ParameterDialog.h \ - ../QatPlotWidgets/LinearSubdivider.h \ - ../QatPlotWidgets/LogSubdivider.h - -SOURCES += CustomRangeDivider.cpp \ - RangeDivision.cpp \ - AbsRangeDivider.cpp \ - LinearRangeDivider.cpp \ - LogRangeDivider.cpp \ - PlotView.cpp \ - LabelEditorDialog.cpp \ - characterwidget.cpp \ - PVControl.cpp \ - PlotHist1DDialog.cpp \ - PlotHist2DDialog.cpp \ - PlotDirDialog.cpp \ - PlotFunction1DDialog.cpp \ - ParameterDialog.cpp \ - LinearSubdivider.cpp \ - LogSubdivider.cpp - -target.path=/usr/local/lib -headers.path=/usr/local/include/QatPlotWidgets -headers.files= ../QatPlotWidgets/*.h ../QatPlotWidgets/*.icc ui_PlotDirDialog.h ui_LabelEditorDialog.h ui_PVControl.h ui_ParameterDialog.h - -INSTALLS += target -INSTALLS += headers -RESOURCES = PlotWidgets.qrc diff --git a/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp b/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp deleted file mode 100644 index 9394192a6e5..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "QatPlotWidgets/RangeDivision.h" -QTextDocument* RangeDivision::label() const { - return m_label; -} - -void RangeDivision::setLabel(QTextDocument *doc) { - delete m_label; - m_label=doc->clone(); -} - -const double & RangeDivision::x() const { - return m_x; -} - - -RangeDivision::RangeDivision(double value): m_x(value),m_label(new QTextDocument) { -} - -RangeDivision::~RangeDivision() { - delete m_label; -} - -RangeDivision::RangeDivision ( const RangeDivision & right): - m_x(right.m_x), - m_label(right.m_label->clone()) -{ -} - -RangeDivision & RangeDivision::operator=(const RangeDivision & right) { - if (&right!=this) { - if (m_label) delete m_label; - m_label=right.m_label->clone(); - m_x=right.m_x; - } - return *this; -} - diff --git a/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp b/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp deleted file mode 100644 index 109dd650373..00000000000 --- a/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved. -** -** This file is part of the example classes of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License version 2.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of -** this file. Please review the following information to ensure GNU -** General Public Licensing requirements will be met: -** http://www.trolltech.com/products/qt/opensource.html -** -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://www.trolltech.com/products/qt/licensing.html or contact the -** sales department at sales@trolltech.com. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#include <QtGui> - -#include "QatPlotWidgets/characterwidget.h" -#include <iostream> -CharacterWidget::CharacterWidget(QWidget *parent) - : QWidget(parent) -{ - m_squareSize = 24; - m_columns = 16; - m_lastKey = -1; - setMouseTracking(true); -} - -void CharacterWidget::updateFont(const QFont &font) -{ - m_displayFont.setFamily(font.family()); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - - -void CharacterWidget::updateFamily(const QString &family) -{ - m_displayFont.setFamily(family); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateSize(const QString &fontSize) -{ - m_displayFont.setPointSize(fontSize.toInt()); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateStyle(const QString &fontStyle) -{ - QFontDatabase fontDatabase; - const QFont::StyleStrategy oldStrategy = m_displayFont.styleStrategy(); - m_displayFont = fontDatabase.font(m_displayFont.family(), fontStyle, m_displayFont.pointSize()); - m_displayFont.setStyleStrategy(oldStrategy); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateFontMerging(bool enable) -{ - if (enable) - m_displayFont.setStyleStrategy(QFont::PreferDefault); - else - m_displayFont.setStyleStrategy(QFont::NoFontMerging); - adjustSize(); - update(); -} - -QSize CharacterWidget::sizeHint() const -{ - return QSize(m_columns*m_squareSize, (65536/m_columns)*m_squareSize); -} - -void CharacterWidget::mouseMoveEvent(QMouseEvent *event) -{ - QPoint widgetPosition = mapFromGlobal(event->globalPos()); - uint key = (widgetPosition.y()/m_squareSize)*m_columns + widgetPosition.x()/m_squareSize; - - QString text = QString::fromLatin1("<p>Character: <span style=\"font-size: 24pt; font-family: %1\">").arg(m_displayFont.family()) - + QChar(key) - + QString::fromLatin1("</span><p>Value: 0x") - + QString::number(key, 16) + QString ("Type " ) + QString::number(QChar(key).category()); - QToolTip::showText(event->globalPos(), text, this); -} - -void CharacterWidget::mousePressEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_lastKey = (event->y()/m_squareSize)*m_columns + event->x()/m_squareSize; - if (QChar(m_lastKey).category() != QChar::NoCategory) - emit characterSelected(QString(QChar(m_lastKey))); - update(); - } - else - QWidget::mousePressEvent(event); -} - -void CharacterWidget::paintEvent(QPaintEvent *event) -{ - QPainter painter(this); - painter.fillRect(event->rect(), QBrush(Qt::white)); - painter.setFont(m_displayFont); - - QRect redrawRect = event->rect(); - int beginRow = redrawRect.top()/m_squareSize; - int endRow = redrawRect.bottom()/m_squareSize; - int beginColumn = redrawRect.left()/m_squareSize; - int endColumn = redrawRect.right()/m_squareSize; - - painter.setPen(QPen(Qt::gray)); - for (int row = beginRow; row <= endRow; ++row) { - for (int column = beginColumn; column <= endColumn; ++column) { - painter.drawRect(column*m_squareSize, row*m_squareSize, m_squareSize, m_squareSize); - } - } - - QFontMetrics fontMetrics(m_displayFont); - painter.setPen(QPen(Qt::black)); - for (int row = beginRow; row <= endRow; ++row) { - - for (int column = beginColumn; column <= endColumn; ++column) { - - int key = row*m_columns + column; - painter.setClipRect(column*m_squareSize, row*m_squareSize, m_squareSize, m_squareSize); - - if (key == m_lastKey) - painter.fillRect(column*m_squareSize + 1, row*m_squareSize + 1, m_squareSize, m_squareSize, QBrush(Qt::red)); - QChar Char(key); - // QChar::Category cat =Char.category(); - // if (QChar(key).isPrint()) - painter.drawText(column*m_squareSize + (m_squareSize / 2) - fontMetrics.width(QChar(key))/2, - row*m_squareSize + 4 + fontMetrics.ascent(), - QString(Char)); - - } - } -} diff --git a/graphics/Qat/QatPlotting/CMakeLists.txt b/graphics/Qat/QatPlotting/CMakeLists.txt deleted file mode 100644 index 4ab04dd9c75..00000000000 --- a/graphics/Qat/QatPlotting/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -# Package: QatPlotting -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotting ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPlotting - src/*.c* - PUBLIC_HEADERS QatPlotting - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${QT4_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} QatDataAnalysis ${QT4_LIBRARIES} GL ) - diff --git a/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h b/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h deleted file mode 100644 index c7c3d5fbf7b..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h +++ /dev/null @@ -1,84 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------------// -// // -// Abstract base class for plotters // -// // -//----------------------------------------------------------------------------------------// - -#ifndef _ABSPLOTTER_H_ -#define _ABSPLOTTER_H_ - -class Graphic; -class QRectF; -class Plotable; -class QMatrix; -class QGraphicsItemGroup; -class QGraphicsScene; -class AbsPlotter { - -public: - - // Default constructor: - AbsPlotter(); - - // Virtual destructor: - virtual ~AbsPlotter(); - - // Add a plotable: - virtual void add(Plotable *)=0; - - // Get the scene - virtual QGraphicsScene *scene()=0; - - // Get the contents group: - virtual QGraphicsItemGroup *group()=0; - - // Get the transformation matrix. - virtual QMatrix matrix()=0; - - // Set the Plot Rectangle - virtual void setRect(const QRectF & ) = 0; - - // Get the Plot Rectangle: - virtual QRectF * rect() = 0; - virtual const QRectF * rect() const = 0; - - // Clear the Plots, and the rectangle as well: - virtual void clear() = 0; - - // Is this log scale X? - virtual bool isLogX() const=0; - - // Is this log scale Y? - virtual bool isLogY() const=0; - - // Start Animating - virtual void startAnimating(int frameRateMillisec)=0; - - // Stop Animating - virtual void stopAnimating()=0; -}; - -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h b/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h deleted file mode 100644 index a6b8c29f34c..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef Lin2Log -#define Lin2Log -#include <cmath> -#include <stdexcept> -class LinToLog { - - public: - - // Constructor: - LinToLog(double minVal, double maxVal):m_a(minVal),m_b(maxVal) - { - if (m_a>m_b) throw std::runtime_error ("Error in logarithmic mapper a>b "); - if (m_a<=0) throw std::runtime_error ("Error in logarithmic mapper a<=0 "); - m_c = (m_a-m_b)/log(m_a/m_b); - } - - double operator () (double x) const { - return m_a + m_c*log(x/m_a); - } - - private: - - double m_a; - double m_b; - double m_c; -}; -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h deleted file mode 100644 index acbf62e9fa1..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h +++ /dev/null @@ -1,94 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTBAND1D_H -#define QATPLOTTING_PLOTBAND1D_H - -#include "QatPlotting/Plotable.h" -//#include "QatPlotting/PlotBand1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <QtCore/QSizeF> -#include <memory> - -class AbsPlotter; -class PlotBand1DProperties; - -namespace Genfun { - class AbsFunction; -} - -class PlotBand1D: public Plotable{ - -public: - - // Define Properties: - typedef PlotBand1DProperties Properties; - - // Constructors - PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & functino2, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotBand1D(const PlotBand1D &); - - // Assignment operator: - PlotBand1D & operator=(const PlotBand1D &) = delete; - - // Destructor - virtual ~PlotBand1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h deleted file mode 100644 index 41ec2f1a710..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _PLOTBAND1DPROPERTIES_H_ -#define _PLOTBAND1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotBand1DProperties { - - public: - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotBand1DProperties(){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h deleted file mode 100644 index 1fe15a994da..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h +++ /dev/null @@ -1,78 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTBOX_H -#define QATPLOTTING_PLOTBOX_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotBoxProperties.h" -#include "CLHEP/Matrix/SymMatrix.h" -#include "CLHEP/Matrix/Vector.h" -#include <QtCore/QRectF> - -class PlotBox: public Plotable { - -public: - - // Define Properties: - typedef PlotBoxProperties Properties; - - // Constructors - PlotBox(double x, double y, double dx, double dy); - - // Destructor - virtual ~PlotBox(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - -private: - - // Copy constructor: - PlotBox(const PlotBox &); - - // Assignment operator: - PlotBox & operator=(const PlotBox &); - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h deleted file mode 100644 index b7796ac537f..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTBOXPROPERTIES_H_ -#define _PLOTBOXPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotBoxProperties { - - public: - - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotBoxProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h b/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h deleted file mode 100644 index 3bedf8f6709..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTERRORELLIPSE_H -#define QATPLOTTING_PLOTERRORELLIPSE_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotErrorEllipseProperties.h" -#include "CLHEP/Matrix/SymMatrix.h" -#include "CLHEP/Matrix/Vector.h" -#include <QtCore/QRectF> - -class PlotErrorEllipse: public Plotable { - -public: - - enum Style { - ONEUNITCHI2, - ONESIGMA, - TWOSIGMA, - THREESIGMA, - NINETY, - NINETYFIVE, - NINETYNINE }; - - // Define Properties: - typedef PlotErrorEllipseProperties Properties; - - // Constructors - PlotErrorEllipse(double x, double y, double sx2, double sy2, double sxy, Style style=ONESIGMA); - - // Destructor - virtual ~PlotErrorEllipse(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - - -private: - - // Copy constructor: - PlotErrorEllipse(const PlotErrorEllipse &); - - // Assignment operator: - PlotErrorEllipse & operator=(const PlotErrorEllipse &); - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h deleted file mode 100644 index 3e88fe848df..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTERRORELLIPSEPROPERTIES_H_ -#define _PLOTERRORELLIPSEPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotErrorEllipseProperties { - - public: - - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotErrorEllipseProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h deleted file mode 100644 index 1c9aca3e78b..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h +++ /dev/null @@ -1,92 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTFUNCTION1D_H -#define QATPLOTTING_PLOTFUNCTION1D_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotFunction1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> -#include <memory> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotFunction1D: public Plotable{ - -public: - - // Define Properties: - typedef PlotFunction1DProperties Properties; - - // Constructors - PlotFunction1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotFunction1D(const Genfun::AbsFunction & function, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotFunction1D(const PlotFunction1D &); - - // Assignment operator: - PlotFunction1D & operator=(const PlotFunction1D &); - - // Destructor - virtual ~PlotFunction1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -protected: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#include "QatPlotting/PlotFunction1D.icc" -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc deleted file mode 100644 index 4870f38ab5b..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc +++ /dev/null @@ -1,117 +0,0 @@ -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatDataAnalysis/Query.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -class PlotFunction1D::Clockwork { - -public: - Clockwork() : - function(nullptr), - rect(), - domainRestriction(nullptr), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete domainRestriction; - delete function; - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - function=(other.function)?other.function->clone():nullptr; - rect=other.rect; - domainRestriction=(other.domainRestriction)?other.domainRestriction->clone():nullptr; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - delete function; - function=(other.function)?other.function->clone():nullptr; - rect=other.rect; - delete domainRestriction; - domainRestriction=(other.domainRestriction)?other.domainRestriction->clone():nullptr; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool - maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - if (rect->contains(p1)) { - if (fabs(y1-max) < fabs(y1-min)) { - p.setX(p1.x()); - p.setY(max); - } else { - p.setX(p1.x()); - p.setY(min); - } - } else { - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - } - return true; - } - - static void - moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->moveTo(m.map(QPointF(x,y))); - } - - static void - lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *function; // The function - QRectF rect; // The "natural" bounding rectangle - const Cut<double> *domainRestriction; // Domain restrictions. - Properties *myProperties; // My properties. May - Properties defaultProperties; - -}; diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h deleted file mode 100644 index 9e919baa03b..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTFUNCTION1DPROPERTIES_H_ -#define _PLOTFUNCTION1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotFunction1DProperties { - - public: - - QPen pen; - QBrush brush; - double baseLine; - - - // Construct Default: - PlotFunction1DProperties(): - baseLine(0.0){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h deleted file mode 100644 index cb373c68edd..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h +++ /dev/null @@ -1,86 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Hist1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTHIST1D_H -#define QATPLOTTING_PLOTHIST1D_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotHist1DProperties.h" -#include <QtCore/QRectF> -#include <vector> -#include <memory> -class Hist1D; -class PlotHist1D: public Plotable { - -public: - - - // Define properties: - typedef PlotHist1DProperties Properties; - - // Constructor - PlotHist1D(const Hist1D &); - - // Copy constructor: - PlotHist1D(const PlotHist1D &); - - // Assignment operator: - PlotHist1D & operator=(const PlotHist1D &) = delete; - - // Destructor - virtual ~PlotHist1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the title: - virtual std::string title() const; - - // Get the text summary: - virtual std::string textSummary() const; - - // Get the histogram: - const Hist1D *histogram() const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h deleted file mode 100644 index 4bbe7d05be9..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _PLOTHIST1DPROPERTIES_H_ -#define _PLOTHIST1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotHist1DProperties { - - public: - - - QPen pen; - QBrush brush; - - enum PlotStyle {LINES, SYMBOLS} plotStyle; - - - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotHist1DProperties(): - plotStyle(LINES), - symbolStyle(CIRCLE), - symbolSize(5) - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h deleted file mode 100644 index ad794bc2194..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h +++ /dev/null @@ -1,86 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Hist2D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTHIST2D_H -#define QATPLOTTING_PLOTHIST2D_H -#include "QatPlotting/Plotable.h" -//#include "QatPlotting/PlotHist2DProperties.h" -//#include <QtCore/QRectF> -//#include <vector> -#include <memory> - -class Hist2D; -//class PlotHist2DProperties; < The graphics/Qat/QatPlotWidgets package needs this here -#include "QatPlotting/PlotHist2DProperties.h" -class QrectF; -class AbsPlotter; - -class PlotHist2D: public Plotable { - -public: - - - // Define properties: - typedef PlotHist2DProperties Properties; - - // Constructor - PlotHist2D(const Hist2D &); - - // Copy constructor: - PlotHist2D(const PlotHist2D &); - - // Assignment operator: - PlotHist2D & operator=(const PlotHist2D &) = delete; - - // Destructor - virtual ~PlotHist2D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the histogram: - const Hist2D *histogram() const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h deleted file mode 100644 index 9ff80367ca0..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTHIST2DPROPERTIES_H_ -#define _PLOTHIST2DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotHist2DProperties { - - public: - - - QPen pen; - QBrush brush; - - // Construct Default: - PlotHist2DProperties() - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h b/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h deleted file mode 100644 index 1439d3f05c0..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h +++ /dev/null @@ -1,83 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable Measure // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTMEASURE_H -#define QATPLOTTING_PLOTMEASURE_H -#include "QatPlotting/Plotable.h" -//#include "PlotMeasureProperties.h" -//#include <QtCore/QRectF> -//#include <vector> -class QRectF; -class PlotMeasureProperties; -class AbsPlotter; -class QPointF; - -class PlotMeasure: public Plotable { - -public: - - // Define properties: - typedef PlotMeasureProperties Properties; - - // Constructor - PlotMeasure(); - - // Destructor - virtual ~PlotMeasure(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double sizePlus, double sizeMnus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotMeasure(const PlotMeasure &); - - // Assignment operator: - PlotMeasure operator=(const PlotMeasure &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h deleted file mode 100644 index 5f1f19f6743..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _PLOTMEASUREPROPERTIES_H_ -#define _PLOTMEASUREPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotMeasureProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotMeasureProperties(): - symbolStyle(CIRCLE), - symbolSize(5){ - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h deleted file mode 100644 index 7a62e648c10..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h +++ /dev/null @@ -1,90 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for two Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTORBIT_H -#define QATPLOTTING_PLOTORBIT_H -class AbsFunction; -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotOrbitProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> -#include <memory> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotOrbit: public Plotable{ - -public: - - // Define Properties: - typedef PlotOrbitProperties Properties; - - // Constructors - PlotOrbit(const Genfun::AbsFunction & functionX, - const Genfun::AbsFunction & functionY, - double t0, - double t1); - - // Copy constructor: - PlotOrbit(const PlotOrbit &); - - // Assignment operator: - PlotOrbit & operator=(const PlotOrbit &); - - // Destructor - virtual ~PlotOrbit(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -protected: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#include "QatPlotting/PlotOrbit.icc" -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc deleted file mode 100644 index 0801b34d705..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc +++ /dev/null @@ -1,140 +0,0 @@ -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatDataAnalysis/Query.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -class PlotOrbit::Clockwork { - -public: - - Clockwork() : - functionX(nullptr), - functionY(nullptr), - rect(), - t0(0.0), t1(1.0), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete functionX; - delete functionY; - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - functionX=(other.functionX)?(other.functionX->clone()):nullptr; - functionY=(other.functionY)?(other.functionY->clone()):nullptr; - rect=other.rect; - t0=other.t0; t1=other.t1; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - delete functionX; - functionX=(other.functionX)?(other.functionX->clone()):nullptr; - delete functionY; - functionY=(other.functionY)?(other.functionY->clone()):nullptr; - rect=other.rect; - t0=other.t0; t1=other.t1; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - - } - - -public: - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } - else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - - if (rect->contains(p1)) { - if (fabs(y1-max) < fabs(y1-min)) { - p.setX(p1.x()); - p.setY(max); - } - else { - p.setX(p1.x()); - p.setY(min); - } - } - else { - - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } - else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - } - - return true; - } - - static void moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->moveTo(m.map(QPointF(x,y))); - } - - static void lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *functionX; // The first function - const Genfun::AbsFunction *functionY; // The second function - QRectF rect; // The "natural" bounding rectangle - double t0,t1; // Start and end times (or parameter values) - Properties *myProperties; // My properties. May - Properties defaultProperties; - -private: - - //Clockwork (const Clockwork &); - //Clockwork & operator=(const Clockwork &); - -}; diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h deleted file mode 100644 index 9a460f7eefa..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _PLOTORBITPROPERTIES_H_ -#define _PLOTORBITPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotOrbitProperties { - - public: - - QPen pen; - - // Construct Default: - PlotOrbitProperties(){} - - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h b/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h deleted file mode 100644 index e018ff9ca35..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTPOINT_H -#define QATPLOTTING_PLOTPOINT_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotPointProperties.h" -#include <QtCore/QRectF> -#include <memory> - -class PlotPoint: public Plotable { - -public: - - // Define Properties: - typedef PlotPointProperties Properties; - - // Constructors - PlotPoint(double x, double y); - - // Destructor - virtual ~PlotPoint(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - // Copy constructor: - PlotPoint(const PlotPoint &); - - // Assignment operator: - PlotPoint & operator=(const PlotPoint &); - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h deleted file mode 100644 index 0c8da137bd6..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _PLOTPOINTPROPERTIES_H_ -#define _PLOTPOINTPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotPointProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotPointProperties(): - symbolStyle(CIRCLE), - symbolSize(5){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h b/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h deleted file mode 100644 index 0e9536f175c..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h +++ /dev/null @@ -1,82 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable Profile // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTPROFILE_H -#define QATPLOTTING_PLOTPROFILE_H -#include "QatPlotting/Plotable.h" -#include "PlotProfileProperties.h" -#include <QtCore/QRectF> -#include <vector> -class PlotProfile: public Plotable { - -public: - - - // Define properties: - typedef PlotProfileProperties Properties; - - // Constructor - PlotProfile(); - - // Destructor - virtual ~PlotProfile(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double size); - - // Add Points: - void addPoint(const QPointF & point, double errorPlus, double errorMinus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotProfile(const PlotProfile &); - - // Assignment operator: - PlotProfile & operator=(const PlotProfile &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h deleted file mode 100644 index 34d8bdc0582..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _PLOTPROFILEPROPERTIES_H_ -#define _PLOTPROFILEPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotProfileProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - int errorBarSize; - bool drawSymbol; - - // Construct Default: - PlotProfileProperties(): - symbolStyle(CIRCLE), - symbolSize(5), - errorBarSize(symbolSize), - drawSymbol(true){ - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h b/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h deleted file mode 100644 index 9b687096927..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTRECT_H -#define QATPLOTTING_PLOTRECT_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotRectProperties.h" -#include <QtCore/QRectF> -#include <memory> - -class PlotRect: public Plotable { - -public: - - // Define Properties: - typedef PlotRectProperties Properties; - - // Constructors - PlotRect(const QRectF & rect); - - // Destructor - virtual ~PlotRect(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - // Copy constructor: - PlotRect(const PlotRect &); - - // Assignment operator: - PlotRect & operator=(const PlotRect &); - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h deleted file mode 100644 index 69540e0f05a..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _PLOTRECTPROPERTIES_H_ -#define _PLOTRECTPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotRectProperties { - - public: - - - QPen pen; - QBrush brush; - - // Construct Default: - PlotRectProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h deleted file mode 100644 index ee46566eaa1..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Residual1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTRESIDUAL1D_H -#define QATPLOTTING_PLOTRESIDUAL1D_H -#include "QatPlotting/Plotable.h" -#include "PlotResidual1DProperties.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtCore/QRectF> -#include <vector> -#include <memory> -class Hist1D; - -class PlotResidual1D: public Plotable { - -public: - - - // Define properties: - typedef PlotResidual1DProperties Properties; - - // Constructor - PlotResidual1D(const Hist1D &, Genfun::GENFUNCTION); - - // Copy constructor: - PlotResidual1D(const PlotResidual1D &); - - // Assignment operator: - PlotResidual1D & operator=(const PlotResidual1D &); - - // Destructor - virtual ~PlotResidual1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the title: - virtual std::string title() const; - - // Get the histogram: - const Hist1D *histogram() const; - - // Get the function: - const Genfun::AbsFunction *function () const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h deleted file mode 100644 index 70c7d703bc9..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _PLOTRESIDUAL1DPROPERTIES_H_ -#define _PLOTRESIDUAL1DPROPERTIES_H_ -#include <QtGui/QPen> - -class PlotResidual1DProperties { - - public: - - - QPen pen; - - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotResidual1DProperties(): - symbolStyle(CIRCLE), - symbolSize(5) - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h b/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h deleted file mode 100644 index 171752b51f4..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h +++ /dev/null @@ -1,82 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable ShadeBox // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTSHADEBOX_H -#define QATPLOTTING_PLOTSHADEBOX_H -#include "QatPlotting/Plotable.h" -#include "PlotShadeBoxProperties.h" -#include <QtCore/QRectF> -#include <vector> -class PlotShadeBox: public Plotable { - -public: - - - // Define properties: - typedef PlotShadeBoxProperties Properties; - - // Constructor - PlotShadeBox(); - - // Destructor - virtual ~PlotShadeBox(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double size); - - // Add Points: - void addPoint(const QPointF & point, double errorPlus, double errorMinus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotShadeBox(const PlotShadeBox &); - - // Assignment operator: - PlotShadeBox & operator=(const PlotShadeBox &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h deleted file mode 100644 index e3cbbb3dad6..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _PLOTSHADEBOXPROPERTIES_H_ -#define _PLOTSHADEBOXPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotShadeBoxProperties { - - public: - - - QPen pen; - QBrush brush; - double horizontalSize; - - // Construct Default: - PlotShadeBoxProperties(): - horizontalSize(1.0) - { - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h b/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h deleted file mode 100644 index 5185271f45a..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h +++ /dev/null @@ -1,221 +0,0 @@ -#ifndef _PlotStream_h_ -#define _PlotStream_h_ -#include <sstream> -#include <iomanip> -#include <QtGui/QTextEdit> -#include <QtGui/QColor> -#include <string> -// This is a simple class to be used with editable label widgets -class PlotStream { - - public: - - class Clear { - public: - Clear() {} - }; - - class EndP { - public: - EndP() {} - }; - - class Family { - public: - Family(const std::string & name):name(name) {} - std::string name; - }; - - class Size { - public: - Size(unsigned int pointsize):pointsize(pointsize){} - unsigned int pointsize; - }; - - class Super { - public: - Super(){} - }; - - class Sub { - public: - Sub(){} - }; - - class Normal { - public: - Normal(){} - }; - - class Bold { - public: - Bold(){} - }; - - class Regular { - public: - Regular(){} - }; - - class Italic { - public: - Italic(){} - }; - - class Oblique { - public: - Oblique(){} - }; - - class Left { - public: - Left(){} - }; - - class Right { - public: - Right(){} - }; - - class Center { - public: - Center(){} - }; - - class Color { - public: - Color(const QColor &color):color(color){} - QColor color; - }; - - PlotStream (QTextEdit * textEdit):textEdit(textEdit){} - - PlotStream & operator << (const Clear &){ - textEdit->clear(); - stream.str(""); - return *this; - } - PlotStream & operator << (const EndP &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - return *this; - } - PlotStream & operator << (const Family & family){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontFamily(QString(family.name.c_str())); - return *this; - } - PlotStream & operator << (const Size & sz){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontPointSize(sz.pointsize); - return *this; - } - PlotStream & operator << (const Super &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - textEdit->setCurrentCharFormat(format); - return *this; - } - PlotStream & operator << (const Sub &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - textEdit->setCurrentCharFormat(format); - return *this; - } - - PlotStream & operator << (const Normal &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - textEdit->setCurrentCharFormat(format); - return *this; - } - - PlotStream & operator << (const Left &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignLeft); - return *this; - } - - PlotStream & operator << (const Right &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignRight); - return *this; - } - - PlotStream & operator << (const Center &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignCenter); - return *this; - } - - PlotStream & operator << (const Bold &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontWeight(QFont::Bold); - return *this; - } - - PlotStream & operator << (const Regular &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontWeight(QFont::Normal); - return *this; - } - - PlotStream & operator << (const Italic &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontItalic(true); - return *this; - } - - PlotStream & operator << (const Oblique &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontItalic(false); - return *this; - } - - PlotStream & operator << (const Color & color) { - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setTextColor(color.color); - return *this; - } - - PlotStream & operator << (const std::string & text) { - stream << text; - return *this; - } - - PlotStream & operator << (const char c) { - stream << c; - return *this; - } - - PlotStream & operator << (double x) { - stream << x; - return *this; - } - - PlotStream & operator << (int i) { - stream << i; - return *this; - } - - QTextEdit *textEdit; - std::ostringstream stream; -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotText.h b/graphics/Qat/QatPlotting/QatPlotting/PlotText.h deleted file mode 100644 index ca2d6f8dc61..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotText.h +++ /dev/null @@ -1,63 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTTEXT_H -#define QATPLOTTING_PLOTTEXT_H -#include "QatPlotting/Plotable.h" -#include <QtCore/QRectF> -#include <QtCore/QString> - -class QGraphicsTextItem; -class QTextDocument; - -class PlotText: public Plotable { - -public: - - // Constructors - PlotText(double x, double y, const QString & string=QString("")); - - // Destructor - virtual ~PlotText(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the document: - void setDocument(QTextDocument *document); - - // Copy constructor: - PlotText(const PlotText &); - - // Assignment operator: - PlotText & operator=(const PlotText &); - -private: - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h deleted file mode 100644 index fbded1c95c9..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h +++ /dev/null @@ -1,75 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef _PLOTWAVE1D_H_ -#define _PLOTWAVE1D_H_ -class AbsFunction; -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotFunction1D.h" -#include "QatPlotting/PlotWave1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotWave1D: public PlotFunction1D{ - -public: - - // Define Properties: - typedef PlotWave1DProperties Properties; - - // Constructors - PlotWave1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotWave1D(const Genfun::AbsFunction & function, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotWave1D(const PlotWave1D &); - - // Assignment operator: - PlotWave1D & operator=(const PlotWave1D &); - - // Destructor - virtual ~PlotWave1D(); - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h deleted file mode 100644 index e278571585d..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _PLOTWAVE1DPROPERTIES_H_ -#define _PLOTWAVE1DPROPERTIES_H_ -#include "QatPlotting/PlotFunction1DProperties.h" -typedef PlotFunction1DProperties PlotWave1DProperties; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/Plotable.h b/graphics/Qat/QatPlotting/QatPlotting/Plotable.h deleted file mode 100644 index 906df6d7bad..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/Plotable.h +++ /dev/null @@ -1,59 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//--------------------------------------------------------------------------// -// Class Plotable // -// // -// Joe Boudreau June 2K // -// // -// This class is a base class for all plotable objects. It describes // -// the plottable thing in terms of individual points and connected points // -// (polylines). The plotters can then blindly iterate through their // -// plottables, obtaining their points, scaling them, and plotting them. // -// // -// The plottables also hold the plot styles // -// // -//--------------------------------------------------------------------------// -#ifndef _PLOTABLE_H_ -#define _PLOTABLE_H_ - -class QRectF; -class AbsPlotter; -class Plotable { - -public: - - // Constructor - Plotable(); - - // Destructor - virtual ~Plotable(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const=0; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo (AbsPlotter *plotter) const =0; - -}; -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/RealArg.h b/graphics/Qat/QatPlotting/QatPlotting/RealArg.h deleted file mode 100644 index 114f4c80454..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/RealArg.h +++ /dev/null @@ -1,71 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// ----------------------------------------------------------// -// // -// Set of domain restrictions for 1-D functions: // -// // -// // -// RealArg::Eq(value) // -// RealArg::Gt(value) // -// RealArg::Lt(value) // -// // -// These are useful for specifying where a function is valid // -// i.e. the domain of the function. // -// // -// ----------------------------------------------------------// - -#ifndef QATPLOTTING_REALARG_H -#define QATPLOTTING_REALARG_H -#include "CLHEP/GenericFunctions/CutBase.hh" -namespace RealArg { - - class Eq: public Cut<double> { - public: - Eq(double value); - virtual bool operator() (const double & x) const; - virtual Eq *clone() const; - private: - double m_value; // value; - }; - - class Gt: public Cut<double> { - public: - Gt(double value); - virtual bool operator() (const double & x) const; - virtual Gt *clone() const; - private: - double m_value; // value; - }; - - class Lt: public Cut<double> { - public: - Lt(double value); - virtual bool operator() (const double & x) const; - virtual Lt *clone() const; - private: - double m_value; // value; - }; - -} - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h b/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h deleted file mode 100644 index 1e8782fa3bf..00000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -// *-----------------------------------------------------------------*/ -// * A base class for functions to be visualized in the presenter */ -// * ----------------------------------------------------------------*/ -#ifndef QATPLOTTING_VISFUNCTION_H -#define QATPLOTTING_VISFUNCTION_H -class Plotable; -#include <QtCore/QRectF> -#include <map> -#include <string> -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "CLHEP/GenericFunctions/CutBase.hh" - -class VisFunction { - -public: - - // Constructor: - VisFunction(const std::string & name); - - // Destructor: - virtual ~VisFunction(); - - // Get the number of parameters: - unsigned int getNumParameters() const; - - // Get the Parameter: - Genfun::Parameter *getParameter(unsigned int i) const; - - // Add a parameter - void addParameter(Genfun::Parameter *parameter); - - // Get the number of functions: - unsigned int getNumFunctions() const; - - // Get the Function - const Genfun::AbsFunction *getFunction(unsigned int i) const; - - // Get the Domain Resctriction (NULL if unrestricted) - const Cut<double> *getDomainRestriction(unsigned int i) const; - - // Add a function. (Clones the function in, also the cut if any). - void addFunction(Genfun::GENFUNCTION f, const Cut<double> *domainRestriction=NULL); - - // Name - const std::string & name() const; - - // Rect Hint - const QRectF & rectHint() const; - - // Rect Hint - QRectF & rectHint(); - - private: - - // Illegal operations: - VisFunction (const VisFunction & ); - VisFunction & operator= (const VisFunction &); - - // Internals: - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/src/AbsPlotter.cpp b/graphics/Qat/QatPlotting/src/AbsPlotter.cpp deleted file mode 100644 index 944effd2cd1..00000000000 --- a/graphics/Qat/QatPlotting/src/AbsPlotter.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/AbsPlotter.h" - -AbsPlotter::AbsPlotter() { -} - -AbsPlotter::~AbsPlotter() { -} diff --git a/graphics/Qat/QatPlotting/src/PlotBand1D.cpp b/graphics/Qat/QatPlotting/src/PlotBand1D.cpp deleted file mode 100644 index 72e9616f3bd..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotBand1D.cpp +++ /dev/null @@ -1,363 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/PlotBand1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -#include "QatPlotting/PlotBand1DProperties.h" - -class PlotBand1D::Clockwork { - -public: - - Clockwork() : - function1(nullptr), - function2(nullptr), - rect(), - domainRestriction(nullptr), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete function1; - delete function2; - delete domainRestriction; - delete myProperties; - } - //copy - Clockwork(const Clockwork & other){ - function1=other.function1->clone(); - function2=other.function2->clone(); - rect=other.rect; - domainRestriction=other.domainRestriction ? other.domainRestriction->clone() : nullptr; - myProperties= (other.myProperties)? (new Properties(*(other.myProperties))) : nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork& other){ - if (&other != this){ - delete function1; function1=other.function1->clone(); - delete function2;function2=other.function2->clone(); - rect=other.rect; - delete domainRestriction; - domainRestriction=other.domainRestriction ? other.domainRestriction->clone() : nullptr; - delete myProperties; - myProperties= (other.myProperties)? (new Properties(*(other.myProperties))) : nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } -**/ - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } - else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - if (rect->contains(p1)) { - p=p1; - return false; - } - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } - else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - return true; - } - - static void moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->moveTo(m.map(QPointF(x,y))); - } - - static void lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *function1; // The function defining the band. - const Genfun::AbsFunction *function2; // The function defining the band. - QRectF rect; // The "natural" bounding rectangle - const Cut<double> *domainRestriction; // Domain restrictions. - Properties *myProperties; // My properties. May - Properties defaultProperties; - -}; - -// Constructor -PlotBand1D::PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function1=function1.clone(); - m_c->function2=function2.clone(); - m_c->rect=naturalRectangle; -} - -PlotBand1D::PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function1=function1.clone(); - m_c->function2=function2.clone(); - m_c->rect=naturalRectangle; - m_c->domainRestriction=domainRestriction.clone(); -} - -// Copy constructor: -PlotBand1D::PlotBand1D(const PlotBand1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} -/** -// Assignment operator: -PlotBand1D & PlotBand1D::operator=(const PlotBand1D & source){ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - **/ - -#include <iostream> -// Destructor -PlotBand1D::~PlotBand1D(){ - //not necessary if using unique_ptr - //delete m_c; -} - - - -const QRectF PlotBand1D::rectHint() const { - return m_c->rect; -} - - -// Get the graphic description:: -void PlotBand1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen = properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - { - unsigned int dim = m_c->function1->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotBand1D: requires a function of exactly 1 argument"); - } - { - unsigned int dim = m_c->function2->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotBand1D: requires a function of exactly 1 argument"); - } - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - for (int b=0;b<2;b++) { - - const Genfun::AbsFunction * function = b==0 ? m_c->function1: m_c->function2; - - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - if (!m_c->domainRestriction || (*m_c->domainRestriction)(x)) { // Check that X is in function domain - - double y = (*function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection); - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection); - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - } - else { - // A fill pattern of some sort.. - double yBase=0; - QPainterPath *path=NULL; - bool empty=true; - for (int b=0;b<2;b++) { - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = b ? minX + i*delta : maxX-i*delta; - if (!m_c->domainRestriction || (*m_c->domainRestriction)(x)) { // Check that X is in function domain - - double y = b? (*m_c->function1) (x) : (*m_c->function2) (x) ; - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - Clockwork::moveTo(path,m, point, toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (b==1 && i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - } - delete toLogX; - delete toLogY; -} - - - -const PlotBand1D::Properties PlotBand1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotBand1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotBand1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotBox.cpp b/graphics/Qat/QatPlotting/src/PlotBox.cpp deleted file mode 100644 index 62c2e4f1ffd..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotBox.cpp +++ /dev/null @@ -1,137 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotBox.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <array> - -class PlotBox::Clockwork { - - public: - - Clockwork():rectangle(), myProperties(nullptr), defaultProperties(),x(0),y(0),dx(0),dy(0){} - ~Clockwork() { delete myProperties;} - - - - QRectF rectangle; // The "natural" bounding rectangle - Properties *myProperties; - Properties defaultProperties; - double x,y,dx,dy; -}; - -// Constructor -PlotBox::PlotBox(double x, double y, double dx, double dy) - - :Plotable(),m_c(new Clockwork()) - -{ - m_c->rectangle=QRectF(QPointF(x,y),QSizeF(2*dx, 2*dy)); - m_c->x=x; - m_c->y=y; - m_c->dx=dx; - m_c->dy=dy; -} - - - -// Destructor -PlotBox::~PlotBox(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotBox::rectHint() const { - return m_c->rectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotBox::describeYourselfTo(AbsPlotter *plotter) const{ - if (plotter->isLogY()) return; - if (plotter->isLogX()) return; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - QPainterPath path; - bool started=false; - static CLHEP::HepVector U0(2); U0[0]=+m_c->dx; U0[1]=+m_c->dy; - static CLHEP::HepVector U1(2); U1[0]=+m_c->dx; U1[1]=-m_c->dy; - static CLHEP::HepVector U2(2); U2[0]=-m_c->dx; U2[1]=-m_c->dy; - static CLHEP::HepVector U3(2); U3[0]=-m_c->dx; U3[1]=+m_c->dy; - std::array<CLHEP::HepVector,5> plusU={U0, U1, U2, U3, U0}; - for (int i=0;i<5;i++) { - CLHEP::HepVector V(2); - V[0]=m_c->x; - V[1]=m_c->y; - V+=plusU[i]; - if (plotter->rect()->contains(QPointF(V[0],V[1]))){ - double x = V[0]; - double y = V[1]; - if (!started) { - started=true; - path.moveTo(m.map(QPointF(x,y))); - } else { - path.lineTo(m.map(QPointF(x,y))); - } - } - } - - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - -} - - - -const PlotBox::Properties PlotBox::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotBox::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotBox::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp b/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp deleted file mode 100644 index 4232bf254d9..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp +++ /dev/null @@ -1,212 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotErrorEllipse.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <iostream> -#include <iomanip> -#include <sstream> -namespace{ - const CLHEP::HepVector defaultVector(2); -} - -class PlotErrorEllipse::Clockwork { - - public: - - Clockwork():X(defaultVector), U0(defaultVector),U1(defaultVector), - nRectangle(),myProperties(nullptr), defaultProperties(), style() {} - ~Clockwork() { delete myProperties;} - - - CLHEP::HepVector X; - CLHEP::HepVector U0; - CLHEP::HepVector U1; - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; - Properties defaultProperties; - Style style; -}; - -// Constructor -PlotErrorEllipse::PlotErrorEllipse( - double x, double y, - double sx2, double sy2, double sxy, Style style) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->X=CLHEP::HepVector(2); - m_c->U0=CLHEP::HepVector(2); - m_c->U1=CLHEP::HepVector(2); - m_c->style=style; - - CLHEP::HepSymMatrix M(2); - M[0][0]=sx2; - M[0][1]=sxy; - M[1][1]=sy2; - - m_c->X[0]=x; - m_c->X[1]=y; - double T = M.trace(); - double D = M.determinant(); - double L0 = (T+sqrt(T*T-4*D))/2.0; - double L1 = (T-sqrt(T*T-4*D))/2.0; - - if (sxy!=0) { - m_c->U0[0]=1; - m_c->U0[1]=(L0-sx2)/sxy; - m_c->U1[0]=1; - m_c->U1[1]=(L1-sx2)/sxy; - m_c->U0 /= m_c->U0.norm(); - m_c->U1 /= m_c->U1.norm(); - m_c->U0 *= sqrt(L0); - m_c->U1 *= sqrt(L1); - } - else { - m_c->U0[0]=sqrt(sx2); - m_c->U0[1]=0; - m_c->U1[0]=0; - m_c->U1[1]=sqrt(sy2); - } - - double factor=0; - if (m_c->style==ONEUNITCHI2) { - factor=1; - } - else if (m_c->style==ONESIGMA) { - factor=sqrt(2.30); - } - else if (m_c->style==TWOSIGMA) { - factor=sqrt(6.18); - } - else if (m_c->style==THREESIGMA) { - factor=sqrt(11.83); - } - else if (m_c->style==NINETY) { - factor=sqrt(4.61); - } - else if (m_c->style==NINETYFIVE) { - factor=sqrt(5.99); - } - else if (m_c->style==NINETYNINE) { - factor=sqrt(9.21); - } - - m_c->U0 *= factor; // For 68% confidence: - m_c->U1 *= factor; // For 68% confidence; - - // Now make the bounding box: - double minX=1E-30,maxX=-1E30; - double minY=1E-30,maxY=-1E30; - if (m_c->U0[0]>maxX) maxX=m_c->U0[0]; - if (m_c->U0[0]<minX) minX=m_c->U0[0]; - if (m_c->U1[0]>maxX) maxX=m_c->U1[0]; - if (m_c->U1[0]<minX) minX=m_c->U1[0]; - if (m_c->U0[1]>maxY) maxY=m_c->U0[1]; - if (m_c->U0[1]<minY) minY=m_c->U0[1]; - if (m_c->U1[1]>maxY) maxY=m_c->U1[1]; - if (m_c->U1[1]<minY) minY=m_c->U1[1]; - - minX += x; - maxX += x; - minY += y; - maxY += y; - // m_c->nRectangle=QRectF(QPointF(minX-(maxX-minX)/2.0,minY+(maxY-minY)/2.0),QSizeF(maxX-minX, maxY-minY)); - double max = std::max(m_c->U0.norm(),m_c->U1.norm()); - - m_c->nRectangle=QRectF(m_c->X[0]-2*max, m_c->X[1]-2*max, 4*max, 4*max); - -} - - - -// Destructor -PlotErrorEllipse::~PlotErrorEllipse(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotErrorEllipse::rectHint() const { - return m_c->nRectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotErrorEllipse::describeYourselfTo(AbsPlotter *plotter) const{ - if (plotter->isLogY()) return; - if (plotter->isLogX()) return; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - QPainterPath path; - bool started=false; - for (int i=0;i<360;i++) { - CLHEP::HepVector V=m_c->U0*sin(2*M_PI*i/360.0) + m_c->U1*cos(2*M_PI*i/360.0)+m_c->X; - if (plotter->rect()->contains(QPointF(V[0],V[1]))){ - double x = V[0]; - double y = V[1]; - if (!started) { - started=true; - path.moveTo(m.map(QPointF(x,y))); - } - else { - path.lineTo(m.map(QPointF(x,y))); - } - } - } - - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - -} - - - -const PlotErrorEllipse::Properties PlotErrorEllipse::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotErrorEllipse::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotErrorEllipse::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp b/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp deleted file mode 100644 index 399963f47c8..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp +++ /dev/null @@ -1,264 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotFunction1D.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/AbsPlotter.h" - -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - - -// Constructor -PlotFunction1D::PlotFunction1D(const Genfun::AbsFunction & function, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function=function.clone(); - m_c->rect=naturalRectangle; -} - -PlotFunction1D::PlotFunction1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function=function.clone(); - m_c->rect=naturalRectangle; - m_c->domainRestriction=domainRestriction.clone(); -} - -// Copy constructor: -PlotFunction1D::PlotFunction1D(const PlotFunction1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - - //Assignment operator: -PlotFunction1D & PlotFunction1D::operator=(const PlotFunction1D & source){ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -#include <iostream> -// Destructor -PlotFunction1D::~PlotFunction1D(){ - //delete m_c; -} - - - -const QRectF PlotFunction1D::rectHint() const { - return m_c->rect; -} - - -// Get the graphic description:: -void PlotFunction1D::describeYourselfTo(AbsPlotter *plotter) const { - - - QPen pen = properties().pen; - QBrush brush=properties().brush; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - unsigned int dim = m_c->function->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotFunction1D: requires a function of exactly 1 argument"); - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(x)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - else { - // A fill pattern of some sort.. - double yBase=std::max(std::min(maxY, properties().baseLine),minY); - - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(x)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - QPointF intersection; - Clockwork::moveTo(path,m, QPointF(x,yBase), toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - delete toLogX; - delete toLogY; -} - - -const PlotFunction1D::Properties PlotFunction1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotFunction1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotFunction1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotHist1D.cpp b/graphics/Qat/QatPlotting/src/PlotHist1D.cpp deleted file mode 100644 index 68c84abc2a1..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotHist1D.cpp +++ /dev/null @@ -1,422 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <cfloat> -// Constructor - -class PlotHist1D::Clockwork { -public: - - Clockwork() : histogram(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() {delete myProperties;} - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram;//shared histogram pointer - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - histogram = other.histogram;//shared histogram pointer - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - **/ - // This is state: - const Hist1D *histogram; // The histogram - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotHist1D::PlotHist1D(const Hist1D & histogram): - Plotable(),m_c(new Clockwork()) -{ - - m_c->histogram=&histogram; - - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<histogram.nBins();i++) { - double yplus = histogram.bin(i) + histogram.binError(i); - double yminus = histogram.bin(i) - histogram.binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - double dist = yMax-yMin; - double marge = dist/10; - yMax += marge; - if (yMin>0) { - yMin=0; - } - else if (yMin<0) { - yMin-=marge; - } - - QPointF lowerRight(m_c->histogram->min(),yMin); - QPointF upperLeft (m_c->histogram->max(),yMax); - m_c->nRectangle.setLeft (histogram.min()); - m_c->nRectangle.setRight(histogram.max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); -} - -// Copy constructor: -PlotHist1D::PlotHist1D(const PlotHist1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -/** Assignment operator: -PlotHist1D & PlotHist1D::operator=(const PlotHist1D & source) -{ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} -**/ - -// Destructor -PlotHist1D::~PlotHist1D(){ - //delete m_c; -} - - -const QRectF PlotHist1D::rectHint() const { - - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double yplus = m_c->histogram->bin(i) + m_c->histogram->binError(i); - double yminus = m_c->histogram->bin(i) - m_c->histogram->binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - m_c->nRectangle.setLeft (m_c->histogram->min()); - m_c->nRectangle.setRight(m_c->histogram->max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotHist1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - PlotHist1D::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (properties().plotStyle==PlotHist1DProperties::SYMBOLS) { - - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->histogram->binCenter(i)) : m_c->histogram->binCenter(i); - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)) : m_c->histogram->bin(i); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)+m_c->histogram->binError(i)) : m_c->histogram->bin(i)+m_c->histogram->binError(i); - double ydym = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-m_c->histogram->binError(i)) : m_c->histogram->bin(i)-m_c->histogram->binError(i); - - if (plotter->isLogY() && !finite(ydym)) ydym=plotter->rect()->top()+FLT_MIN; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotHist1D::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotHist1D::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotHist1D: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - } - else { // LINES - - QPainterPath path; - - double maxY=plotter->rect()->bottom(); - double minY=plotter->rect()->top(); - double minX=plotter->rect()->left(); - double maxX=plotter->rect()->right(); - bool started=false; - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)) : m_c->histogram->bin(i); - if (plotter->isLogY() && !finite(y)) y=minY; - double binLow = m_c->histogram->binLowerEdge(i); - double binHi = m_c->histogram->binUpperEdge(i); - if (toLogX) binLow=(*toLogX)(binLow); - if (toLogX) binHi =(*toLogX)(binHi); - - - double yEff=std::max(std::min(maxY, y),minY); - double zEff=std::max(std::min(maxY,0.0),minY); - QPointF lowerPoint(binLow, yEff); - QPointF upperPoint(binHi, yEff); - if ( binHi >= minX && binLow <= maxX ) { - if (!started) { - started=true; - if (binLow > minX) { - path.moveTo(m.map(QPointF(binLow,zEff))); - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(upperPoint)); - } - else { - path.moveTo(m.map(QPointF(minX,zEff))); - path.lineTo(m.map(QPointF(minX,yEff))); - path.lineTo(m.map(upperPoint)); - } - } - else if (binHi>=maxX) { - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(QPointF(maxX,yEff))); - path.lineTo(m.map(QPointF(maxX,zEff))); - } - else { - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(upperPoint)); - } - // AND: - if (i==m_c->histogram->nBins()-1) { - path.lineTo(m.map(QPointF(binHi,zEff))); - } - } - } - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - } - - delete toLogX; - delete toLogY; -} - -std::string PlotHist1D::title() const { - return m_c->histogram->name(); -} - -std::string PlotHist1D::textSummary() const { - std::ostringstream textSummaryStream; - textSummaryStream << std::setprecision(3) << std::showpoint << std::setfill(' '); - textSummaryStream << "Area: " << std::setw(9) << m_c->histogram->sum() << '\t' - << "Mean: " << std::setw(9) << m_c->histogram->mean() << '\t' - << "Sigma:" << std::setw(8) << sqrt(m_c->histogram->variance()) << '\t'; - return textSummaryStream.str(); -} - -// Get the histogram: -const Hist1D *PlotHist1D::histogram() const { - return m_c->histogram; -} - -const PlotHist1D::Properties PlotHist1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotHist1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties= new Properties(properties); -} - -void PlotHist1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotHist2D.cpp b/graphics/Qat/QatPlotting/src/PlotHist2D.cpp deleted file mode 100644 index 7721ab16428..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotHist2D.cpp +++ /dev/null @@ -1,200 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2D.h" -#include "QatPlotting/PlotHist2D.h" -#include "QatPlotting/AbsPlotter.h" -//#include "QatPlotting/LinToLog.h" -//#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -//#include <iostream> -//#include <iomanip> -//#include <sstream> -//#include <cfloat> -//added, sroe -//#include "QatPlotting/PlotHist2DProperties.h" -#include <QtCore/QRectF> - -// Constructor - -class PlotHist2D::Clockwork { -public: - - Clockwork() : histogram(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() {delete myProperties;} - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram; //objects share the pointer - nRectangle = other.nRectangle; - myProperties= (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - histogram = other.histogram; //objects share the pointer - nRectangle = other.nRectangle; - delete myProperties; - myProperties= (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - **/ - // This is state: - const Hist2D *histogram; // The histogram - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotHist2D::PlotHist2D(const Hist2D & histogram): - Plotable(),m_c(new Clockwork()) -{ - m_c->histogram=&histogram; - m_c->nRectangle.setLeft (histogram.minX()); - m_c->nRectangle.setRight(histogram.maxX()); - m_c->nRectangle.setTop(histogram.minY()); - m_c->nRectangle.setBottom(histogram.maxY()); -} - -// Copy constructor: -PlotHist2D::PlotHist2D(const PlotHist2D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -/** Assignment operator: -PlotHist2D & PlotHist2D::operator=(const PlotHist2D & source) -{ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} -**/ - -// Destructor -PlotHist2D::~PlotHist2D(){ - //delete m_c; -} - - -const QRectF PlotHist2D::rectHint() const { - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotHist2D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (plotter->isLogX()) return; - if (plotter->isLogY()) return; - - const auto & theHistogram=*(m_c->histogram); - const double max = theHistogram.maxContents(); - const double inverseMax=1.0/max; - const double wx = theHistogram.binWidthX(); - const double wy = theHistogram.binWidthY(); - for (unsigned int i=0;i<theHistogram.nBinsX();i++) { - for (unsigned int j=0;j<theHistogram.nBinsY();j++) { - - double bin = theHistogram.bin(i,j); - if (bin==0) continue; - - double x = theHistogram.binCenterX(i,j); - double y = theHistogram.binCenterY(i,j); - - const double frac = bin*inverseMax; - const double sqfrac = sqrt(frac); - const double dx = wx*sqfrac*0.5; - const double dy = wy*sqfrac*0.5; - double minX = x - dx; - double maxX = x + dx; - double minY = y - dy; - double maxY = y + dy; - const auto & thisRectangle = plotter->rect(); - if (thisRectangle->contains(QPointF(minX, minY)) || - thisRectangle->contains(QPointF(minX, maxY)) || - thisRectangle->contains(QPointF(maxX, maxY)) || - thisRectangle->contains(QPointF(maxX, minY)) ) { - - minX = std::max(theHistogram.minX(), minX); - minY = std::max(theHistogram.minY(), minY); - maxX = std::min(theHistogram.maxX(), maxX); - maxY = std::min(theHistogram.maxY(), maxY); - - QPainterPath path; - path.moveTo(m.map(QPointF(minX,minY))); - path.lineTo(m.map(QPointF(minX,maxY))); - path.lineTo(m.map(QPointF(maxX,maxY))); - path.lineTo(m.map(QPointF(maxX,minY))); - path.lineTo(m.map(QPointF(minX,minY))); - - - QAbstractGraphicsShapeItem *shape = new QGraphicsPathItem(path); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - } - } -} - - -// Get the histogram: -const Hist2D *PlotHist2D::histogram() const { - return m_c->histogram; -} - -const PlotHist2D::Properties PlotHist2D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotHist2D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotHist2D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotMeasure.cpp b/graphics/Qat/QatPlotting/src/PlotMeasure.cpp deleted file mode 100644 index c3868dff643..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotMeasure.cpp +++ /dev/null @@ -1,290 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotMeasure.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -//added -#include "QatPlotting/PlotMeasureProperties.h" -#include <QtCore/QRectF> -#include <vector> - -class PlotMeasure::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotMeasure::PlotMeasure(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotMeasure::~PlotMeasure(){ - delete m_c; -} - - - -const QRectF PlotMeasure::rectHint() const { - return m_c->nRectangle; -} - - - - -void PlotMeasure::addPoint( const QPointF & point, double sizePlus, double sizeMnus) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(sizePlus); - m_c->sizeMnus.push_back(sizeMnus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x()-sizeMnus)); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x()+sizePlus)); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y())); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y())); -} - - -void PlotMeasure::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - - for (unsigned int i=0;i<m_c->points.size();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->points[i].x()) : m_c->points[i].x(); - - double y = plotter->isLogY() ? (*toLogY) (m_c->points[i].y()) : m_c->points[i].y(); - double xdxp = plotter->isLogX() ? (*toLogX)(m_c->points[i].x() + m_c->sizePlus[i]) : m_c->points[i].x() + m_c->sizePlus[i]; - double xdxm = plotter->isLogX() ? (*toLogX)(m_c->points[i].x() - m_c->sizeMnus[i]) : m_c->points[i].x() - m_c->sizeMnus[i]; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - //QPointF penShiftLeft(-pen.widthF()/2.0, 0.0); - QPointF penShiftLeft(0,0); - QPointF plus(xdxp,y); - QPointF mnus(xdxm,y); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotMeasure: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-had, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+vad+penShiftLeft,m.map(plus)-vad+penShiftLeft)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomRight(),plotter->rect()->topRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-had, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+had, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+vad+penShiftLeft,m.map(mnus)-vad+penShiftLeft)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->bottomLeft()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+had, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+vad-QPointF(pen.widthF(),0),m.map(mnus)-vad)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+vad+penShiftLeft,m.map(plus)-vad+penShiftLeft)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - delete toLogX; - delete toLogY; -} - -const PlotMeasure::Properties PlotMeasure::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotMeasure::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotMeasure::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotOrbit.cpp b/graphics/Qat/QatPlotting/src/PlotOrbit.cpp deleted file mode 100644 index 95f73a53b3c..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotOrbit.cpp +++ /dev/null @@ -1,222 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotOrbit.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/AbsPlotter.h" - -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - - -// Constructor -PlotOrbit::PlotOrbit(const Genfun::AbsFunction & functionX, - const Genfun::AbsFunction & functionY, - double t0, double t1): - Plotable(),m_c(new Clockwork()) -{ - m_c->functionX=functionX.clone(); - m_c->functionY=functionY.clone(); - m_c->t0=t0; - m_c->t1=t1; -} - -// Copy constructor: -PlotOrbit::PlotOrbit(const PlotOrbit & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - - -} - -// Assignment operator: -PlotOrbit & PlotOrbit::operator=(const PlotOrbit & source){ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -#include <iostream> -// Destructor -PlotOrbit::~PlotOrbit(){ - //delete m_c; -} - - - -const QRectF PlotOrbit::rectHint() const { - static const int NSTEPS=500;// Synch to value in describeYourself(); - double interval = (m_c->t1-m_c->t0); - double d=interval/NSTEPS; - double minX=1E100,maxX=-minX, minY=minX, maxY=maxX; - - for (int i=0;i<NSTEPS;i++) { - double t = m_c->t0 + i*d; - double x= (*m_c->functionX)(t); - double y= (*m_c->functionY)(t); - minX=std::min(minX,x); - maxX=std::max(maxX,x); - minY=std::min(minY,y); - maxY=std::max(maxY,y); - } - double iX=maxX-minX,iY=maxY-minY; - minX-=iX/10.0; - minY-=iY/10.0; - maxX+=iX/10.0; - maxY+=iY/10.0; - m_c->rect.setLeft(minX); - m_c->rect.setRight(maxX); - m_c->rect.setTop(minY); - m_c->rect.setBottom(maxY); - - return m_c->rect; -} - - -// Get the graphic description:: -void PlotOrbit::describeYourselfTo(AbsPlotter *plotter) const { - - - QPen pen = properties().pen; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - { - unsigned int dimX = m_c->functionX->dimensionality(); - unsigned int dimY = m_c->functionY->dimensionality(); - if (dimX!=1|| dimY!=1) throw std::runtime_error("PlotOrbit: requires two functions of exactly 1 argument"); - } - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 500; // Synch to value in rectHint(); - double interval = (m_c->t1-m_c->t0); - double d=interval/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double t = m_c->t0 + d*i; - double x = (*m_c->functionX)(t); - double y = (*m_c->functionY)(t); - { - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY && x < maxX && x > minX) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - - delete toLogX; - delete toLogY; -} - - -const PlotOrbit::Properties PlotOrbit::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotOrbit::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotOrbit::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotPoint.cpp b/graphics/Qat/QatPlotting/src/PlotPoint.cpp deleted file mode 100644 index 777221ebaa2..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotPoint.cpp +++ /dev/null @@ -1,195 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotPoint.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotPoint::Clockwork { - - public: - - Clockwork():x(0.0),y(0.0),nRectangle(),myProperties(nullptr),defaultProperties(){ - // - } - ~Clockwork() { - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - x = other.x; - y = other.y; - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assignment - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - x=other.x; - y=other.y; - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - double x,y; - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; -}; - - -//copy c'tor -PlotPoint::PlotPoint (const PlotPoint & other):Plotable(),m_c(new Clockwork(*(other.m_c))){ - -} - -PlotPoint & PlotPoint::operator=(const PlotPoint & other) { - if (&other!=this) { - Plotable::operator=(other); - m_c.reset(new Clockwork(*(other.m_c))); - } - return *this; -} - -// Constructor -PlotPoint::PlotPoint(double x, double y) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->x=x; - m_c->y=y; - - m_c->nRectangle=QRectF(m_c->x-1E-10, m_c->y-1E-10, 2E-10, 2E-10); - -} - - - -// Destructor -PlotPoint::~PlotPoint(){ - //delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotPoint::rectHint() const { - return m_c->nRectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotPoint::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - double x=m_c->x; - double y=m_c->y; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - PlotPoint::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x = (*toLogX)(x); - if (toLogY) y = (*toLogY)(y); - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotPoint::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotPoint::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotPoint::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotPoint::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotPoint: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - - delete toLogX; - delete toLogY; -} - -const PlotPoint::Properties PlotPoint::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotPoint::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotPoint::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotProfile.cpp b/graphics/Qat/QatPlotting/src/PlotProfile.cpp deleted file mode 100644 index 05ff58d4101..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotProfile.cpp +++ /dev/null @@ -1,301 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotProfile.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> - -class PlotProfile::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotProfile::PlotProfile(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotProfile::~PlotProfile(){ - delete m_c; -} - - - -const QRectF PlotProfile::rectHint() const { - return m_c->nRectangle; -} - - - - // Add Points: -void PlotProfile::addPoint(const QPointF & point, double errorPlus, double errorMinus) { - m_c->points.push_back(point); - m_c->sizePlus.push_back(errorPlus); - m_c->sizeMnus.push_back(errorMinus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+errorPlus)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-errorMinus)); -} - -void PlotProfile::addPoint( const QPointF & point, double size) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(size); - m_c->sizeMnus.push_back(size); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+size)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-size)); -} - - -void PlotProfile::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - int errorBarSize=properties().errorBarSize; - Properties::SymbolStyle symbolStyle=properties().symbolStyle; - bool drawSymbol=properties().drawSymbol; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - - for (unsigned int i=0;i<m_c->points.size();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->points[i].x()) : m_c->points[i].x(); - - double y = plotter->isLogY() ? (*toLogY) (m_c->points[i].y()) : m_c->points[i].y(); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->points[i].y() + m_c->sizePlus[i]) : m_c->points[i].y() + m_c->sizePlus[i]; - double ydym = plotter->isLogY() ? (*toLogY)(m_c->points[i].y() - m_c->sizeMnus[i]) : m_c->points[i].y() - m_c->sizeMnus[i]; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QSizeF esiz(errorBarSize,errorBarSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(esiz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (drawSymbol) { - if (symbolStyle==Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotProfile: unknown plot symbol"); - } - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - delete toLogX; - delete toLogY; -} - -const PlotProfile::Properties PlotProfile::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotProfile::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotProfile::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotRect.cpp b/graphics/Qat/QatPlotting/src/PlotRect.cpp deleted file mode 100644 index f4c016f59df..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotRect.cpp +++ /dev/null @@ -1,153 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotRect.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotRect::Clockwork { - - public: - Clockwork():rectangle(),myProperties(nullptr),defaultProperties() {} - ~Clockwork() { delete myProperties;} - //copy - Clockwork(const Clockwork & other){ - rectangle=other.rectangle; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - rectangle=other.rectangle; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - //state - QRectF rectangle; - Properties *myProperties; - Properties defaultProperties; -}; - - - -PlotRect::PlotRect (const PlotRect & other):Plotable(),m_c(new Clockwork(*(other.m_c))){ - -} - -PlotRect & PlotRect::operator=(const PlotRect & other) { - if (&other!=this) { - Plotable::operator=(other); - m_c.reset(new Clockwork(*(other.m_c))); - } - return *this; -} - -// Constructor -PlotRect::PlotRect(const QRectF & rectangle) - :Plotable(),m_c(new Clockwork()) -{ - m_c->rectangle=rectangle; -} - - - -// Destructor -PlotRect::~PlotRect(){ - //delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotRect::rectHint() const { - return m_c->rectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotRect::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - double x0=m_c->rectangle.left(); - double x1=m_c->rectangle.right(); - double y0=m_c->rectangle.bottom(); - double y1=m_c->rectangle.top(); - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x0 = (*toLogX)(x0); - if (toLogY) y0 = (*toLogY)(y0); - if (toLogX) x1 = (*toLogX)(x1); - if (toLogY) y1 = (*toLogY)(y1); - - QVector<QPointF> points; - points.push_back(m.map(QPointF(x0,y0))); - points.push_back(m.map(QPointF(x0,y1))); - points.push_back(m.map(QPointF(x1,y1))); - points.push_back(m.map(QPointF(x1,y0))); - points.push_back(m.map(QPointF(x0,y0))); - QGraphicsPolygonItem *shape = new QGraphicsPolygonItem(QPolygonF(points)); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - - delete toLogX; - delete toLogY; -} - -const PlotRect::Properties PlotRect::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotRect::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotRect::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp b/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp deleted file mode 100644 index 89cb9ee60f9..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp +++ /dev/null @@ -1,344 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatPlotting/PlotResidual1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <cfloat> -// Constructor - -class PlotResidual1D::Clockwork { -public: - //Clockwork doesn't own the histogram pointer - Clockwork() : histogram(nullptr), function(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() { - delete myProperties; - delete function; - } - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram; // same histogram is shared - function = other.function->clone(); - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?new Properties(*(other.myProperties)):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - histogram = other.histogram; - delete function; - function = other.function->clone(); - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?new Properties(*(other.myProperties)):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - // This is state: - const Hist1D *histogram; // The histogram - const Genfun::AbsFunction *function; // The function - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotResidual1D::PlotResidual1D(const Hist1D & histogram, Genfun::GENFUNCTION function): - Plotable(),m_c(new Clockwork()) -{ - m_c->histogram=&histogram; - m_c->function = function.clone(); - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<histogram.nBins();i++) { - double x = histogram.binCenter(i); - double yplus = histogram.bin(i) -(*m_c->function)(x)+ histogram.binError(i); - double yminus = histogram.bin(i) -(*m_c->function)(x)- histogram.binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - double dist = yMax-yMin; - double marge = dist/10; - yMax += marge; - if (yMin>0) { - yMin=0; - } - else if (yMin<0) { - yMin-=marge; - } - - QPointF lowerRight(histogram.min(),yMin); - QPointF upperLeft (histogram.max(),yMax); - m_c->nRectangle.setLeft (histogram.min()); - m_c->nRectangle.setRight(histogram.max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); -} - -// Copy constructor: -PlotResidual1D::PlotResidual1D(const PlotResidual1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -// Assignment operator: -PlotResidual1D & PlotResidual1D::operator=(const PlotResidual1D & source) -{ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -// Destructor -PlotResidual1D::~PlotResidual1D(){ - //delete m_c; -} - - -const QRectF PlotResidual1D::rectHint() const { - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotResidual1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - int symbolSize=properties().symbolSize; - PlotResidual1D::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->histogram->binCenter(i)) : m_c->histogram->binCenter(i); - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)-(*m_c->function)(x)) : m_c->histogram->bin(i)-(*m_c->function)(x); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-(*m_c->function)(x)+m_c->histogram->binError(i)) : m_c->histogram->bin(i)-(*m_c->function)(x)+m_c->histogram->binError(i); - double ydym = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-(*m_c->function)(x)-m_c->histogram->binError(i)) : m_c->histogram->bin(i)-(*m_c->function)(x)-m_c->histogram->binError(i); - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()*0.5, siz.height()*0.5); - QPointF had(siz.width()*0.5, 0); - QPointF vad(0,siz.height()*0.5); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotResidual1D::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotResidual1D::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotResidual1D::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize*0.5,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotResidual1D::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize*0.5, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotResidual1D: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - } - } - } - delete toLogX; - delete toLogY; -} - -std::string PlotResidual1D::title() const { - return m_c->histogram->name(); -} - -// Get the histogram: -const Hist1D *PlotResidual1D::histogram() const { - return m_c->histogram; -} - -// Get the function: -const Genfun::AbsFunction *PlotResidual1D::function() const { - return m_c->function->clone(); //cloned because the raw pointer is owned by this class -} - -const PlotResidual1D::Properties PlotResidual1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotResidual1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotResidual1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp b/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp deleted file mode 100644 index 1e6c02d0a52..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp +++ /dev/null @@ -1,181 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotShadeBox.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <memory> -class PlotShadeBox::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotShadeBox::PlotShadeBox(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotShadeBox::~PlotShadeBox(){ - delete m_c; -} - - - -const QRectF PlotShadeBox::rectHint() const { - return m_c->nRectangle; -} - - - - // Add Points: -void PlotShadeBox::addPoint(const QPointF & point, double errorPlus, double errorMinus) { - m_c->points.push_back(point); - m_c->sizePlus.push_back(errorPlus); - m_c->sizeMnus.push_back(errorMinus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+errorPlus)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-errorMinus)); -} - -void PlotShadeBox::addPoint( const QPointF & point, double size) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(size); - m_c->sizeMnus.push_back(size); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+size)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-size)); -} - - -void PlotShadeBox::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - const double hSize = properties().horizontalSize; - const double halfLength = hSize*0.5; - //fix coverity issue 16789, 16790 (sroe) - using LogFnPtr_t = std::unique_ptr<LinToLog> ; - - const auto rectangle = plotter->rect(); - const auto left = rectangle->left(); - const auto right = rectangle->right(); - const auto bottom = rectangle->bottom(); - const auto top = rectangle->top(); - const bool xAxisIsLogScale(plotter->isLogX()); - const bool yAxisIsLogScale(plotter->isLogX()); - LogFnPtr_t toLogX( xAxisIsLogScale ? new LinToLog (left,right) : nullptr); - LogFnPtr_t toLogY( yAxisIsLogScale ? new LinToLog (top, bottom) : nullptr); - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - for (unsigned int i=0;i<m_c->points.size();i++) { - double xdxp = m_c->points[i].x() + halfLength; - double xdxm = m_c->points[i].x() - halfLength; - double ydyp = m_c->points[i].y() + m_c->sizePlus[i]; - double ydym = m_c->points[i].y() - m_c->sizeMnus[i]; - - xdxp = xAxisIsLogScale ? (*toLogX) (xdxp): xdxp; - xdxm = xAxisIsLogScale ? (*toLogX) (xdxm): xdxm; - ydyp = yAxisIsLogScale ? (*toLogY) (ydyp): ydyp; - ydym = yAxisIsLogScale ? (*toLogY) (ydym): ydym; - - if (ydyp<top) return; - if (ydym>bottom) return; - if (xdxp<left) return; - if (xdxm>right) return; - - xdxp = std::min(xdxp,right); - xdxm = std::max(xdxm,left); - ydyp = std::min(ydyp,bottom); - ydym = std::max(ydym,top); - - QRectF rect; - rect.setTop(ydym); - rect.setBottom(ydyp); - rect.setLeft(xdxm); - rect.setRight(xdxp); - QGraphicsRectItem *shape = new QGraphicsRectItem(m.mapRect(rect)); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - } - -} - -const PlotShadeBox::Properties PlotShadeBox::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotShadeBox::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotShadeBox::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotText.cpp b/graphics/Qat/QatPlotting/src/PlotText.cpp deleted file mode 100644 index e8b0623f2d8..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotText.cpp +++ /dev/null @@ -1,148 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotText.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QTextDocument> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotText::Clockwork { - - public: - - Clockwork():point(),textDocument(nullptr),nRect(nullptr){} - ~Clockwork() { - delete textDocument; textDocument=nullptr; - delete nRect; nRect=nullptr; - } - - - QPointF point; - QTextDocument *textDocument; - QRectF *nRect; -}; - - - -PlotText::PlotText (const PlotText & right):Plotable(),m_c(new Clockwork()){ - m_c->point=right.m_c->point; - m_c->textDocument=right.m_c->textDocument->clone(); - delete m_c->nRect; - m_c->nRect=new QRectF(*(right.m_c->nRect)); -} - -PlotText & PlotText::operator=(const PlotText & right) { - if (&right!=this) { - Plotable::operator=(right); - delete m_c; - m_c=new Clockwork(); - m_c->point=right.m_c->point; - if (right.m_c->textDocument) m_c->textDocument=right.m_c->textDocument->clone(); - m_c->nRect=new QRectF(*(right.m_c->nRect)); - } - return *this; -} - -// Constructor -PlotText::PlotText(double x, double y, const QString & text) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->point=QPointF(x,y); - m_c->textDocument=new QTextDocument(text); - m_c->nRect=nullptr; -} - - - -// Destructor -PlotText::~PlotText(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotText::rectHint() const { - if (!m_c->nRect) { - QGraphicsTextItem aux; - aux.setDocument(m_c->textDocument); - aux.setPos(m_c->point); - aux.adjustSize(); - m_c->nRect = new QRectF( aux.boundingRect()); - } - return *m_c->nRect; -} - - - -// Describe to plotter, in terms of primitives: -void PlotText::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : nullptr; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : nullptr; - - double x=m_c->point.x(); - double y=m_c->point.y(); - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x = (*toLogX)(x); - if (toLogY) y = (*toLogY)(y); - - - - QGraphicsTextItem *item = new QGraphicsTextItem(); - //unused variables (sroe) - //QPointF p=m_c->point; - //QPointF p1 = m.map(m_c->point); - //QPointF p2 = mInverse.map(m_c->point); - - - QPointF P(plotter->rect()->left(), plotter->rect()->bottom()); - QPointF Q(m_c->point); - - item->setDocument(m_c->textDocument); - item->setPos(Q-P); - item->setMatrix(mInverse); - plotter->scene()->addItem(item); - plotter->group()->addToGroup(item); - - delete toLogX; - delete toLogY; -} - - -void PlotText::setDocument(QTextDocument *document) { - delete m_c->textDocument; - m_c->textDocument=document->clone(); -} - - diff --git a/graphics/Qat/QatPlotting/src/PlotWave1D.cpp b/graphics/Qat/QatPlotting/src/PlotWave1D.cpp deleted file mode 100644 index 437e39d692b..00000000000 --- a/graphics/Qat/QatPlotting/src/PlotWave1D.cpp +++ /dev/null @@ -1,242 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/PlotWave1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> -#include <sys/time.h> - -// Constructor -PlotWave1D::PlotWave1D(const Genfun::AbsFunction & function, - const QRectF & naturalRectangle): - PlotFunction1D(function, naturalRectangle) {} - - -PlotWave1D::PlotWave1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - PlotFunction1D(function, domainRestriction, naturalRectangle) {} - -// Copy constructor: -PlotWave1D::PlotWave1D(const PlotWave1D & source): - PlotFunction1D(source) {} - -// Assignment operator: -PlotWave1D & PlotWave1D::operator=(const PlotWave1D & source){ - if (&source !=this) { - PlotFunction1D::operator=(source); - } - return *this; -} - - -// Destructor -PlotWave1D::~PlotWave1D(){ -} - - -// Get the graphic description:: -void PlotWave1D::describeYourselfTo(AbsPlotter *plotter) const { - - plotter->startAnimating(20); - - Genfun::Argument arg(2); - timeval tv; - gettimeofday(&tv,NULL); - arg[1] = double(tv.tv_sec) + tv.tv_usec/double(1000000); - - - - QPen pen = properties().pen; - QBrush brush=properties().brush; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - unsigned int dim = m_c->function->dimensionality(); - if (dim!=2) throw std::runtime_error("PlotWave1D: requires a function of exactly 2 arguments"); - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - arg[0] = x; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(arg)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - else { - // A fill pattern of some sort.. - double yBase=std::max(std::min(maxY, properties().baseLine),minY); - - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - arg[0]=x; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(arg)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - QPointF intersection; - Clockwork::moveTo(path,m, QPointF(x,yBase), toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - delete toLogX; - delete toLogY; -} - - - diff --git a/graphics/Qat/QatPlotting/src/Plotable.cpp b/graphics/Qat/QatPlotting/src/Plotable.cpp deleted file mode 100644 index 9a31f3fe0c2..00000000000 --- a/graphics/Qat/QatPlotting/src/Plotable.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/Plotable.h" -Plotable::Plotable() { -} - -Plotable::~Plotable() { -} - diff --git a/graphics/Qat/QatPlotting/src/QatPlotting.pro b/graphics/Qat/QatPlotting/src/QatPlotting.pro deleted file mode 100644 index ee898f20b0b..00000000000 --- a/graphics/Qat/QatPlotting/src/QatPlotting.pro +++ /dev/null @@ -1,73 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Thu Sep 18 19:41:36 2008 -###################################################################### - -TEMPLATE = lib dll -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatDataAnalysis -DESTDIR=../../../lib -CONFIG += build_all debug -LIBS = -lCLHEP -lgsl -lgslcblas -# Input -HEADERS += ../QatPlotting/AbsPlotter.h \ - ../QatPlotting/LinToLog.h \ - ../QatPlotting/PlotStream.h \ - ../QatPlotting/Plotable.h \ - ../QatPlotting/PlotHist1D.h \ - ../QatPlotting/PlotHist1DProperties.h \ - ../QatPlotting/PlotHist2D.h \ - ../QatPlotting/PlotHist2DProperties.h \ - ../QatPlotting/PlotFunction1DProperties.h \ - ../QatPlotting/PlotFunction1D.h \ - ../QatPlotting/PlotProfileProperties.h \ - ../QatPlotting/PlotProfile.h \ - ../QatPlotting/PlotErrorEllipseProperties.h \ - ../QatPlotting/PlotErrorEllipse.h \ - ../QatPlotting/PlotOrbit.h \ - ../QatPlotting/PlotOrbitProperties.h \ - ../QatPlotting/PlotPointProperties.h \ - ../QatPlotting/PlotPoint.h \ - ../QatPlotting/PlotResidual1D.h \ - ../QatPlotting/PlotResidual1DProperties.h \ - ../QatPlotting/RealArg.h \ - ../QatPlotting/PlotRectProperties.h \ - ../QatPlotting/PlotRect.h \ - ../QatPlotting/PlotShadeBox.h \ - ../QatPlotting/PlotText.h \ - ../QatPlotting/PlotMeasure.h \ - ../QatPlotting/PlotMeasureProperties.h \ - ../QatPlotting/PlotBand1D.h \ - ../QatPlotting/PlotBand1DProperties.h \ - ../QatPlotting/VisFunction.h \ - ../QatPlotting/PlotWave1D.h \ - ../QatPlotting/PlotWave1DProperties.h \ - ../QatPlotting/PlotFunction1D.icc - -SOURCES += AbsPlotter.cpp \ - Plotable.cpp \ - PlotHist1D.cpp \ - PlotHist2D.cpp \ - PlotFunction1D.cpp \ - PlotOrbit.cpp \ - PlotProfile.cpp \ - PlotErrorEllipse.cpp \ - PlotPoint.cpp \ - PlotResidual1D.cpp \ - PlotShadeBox.cpp \ - RealArg.cpp \ - PlotRect.cpp \ - PlotText.cpp \ - PlotMeasure.cpp \ - PlotBand1D.cpp \ - VisFunction.cpp \ - PlotWave1D.cpp - -INSTALLS += target -target.path=/usr/local/lib - -headers.path=/usr/local/include/QatPlotting -headers.files= ../QatPlotting/*h ../QatPlotting/*.icc -INSTALLS += headers - - diff --git a/graphics/Qat/QatPlotting/src/RealArg.cpp b/graphics/Qat/QatPlotting/src/RealArg.cpp deleted file mode 100644 index fbf98e294d0..00000000000 --- a/graphics/Qat/QatPlotting/src/RealArg.cpp +++ /dev/null @@ -1,39 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/RealArg.h" -namespace RealArg { - - Eq::Eq(double value): m_value(value){} - bool Eq::operator() (const double & x) const {return x==m_value;} - Eq *Eq::clone() const { return new Eq(*this);} - - Lt::Lt(double value): m_value(value){} - bool Lt::operator() (const double & x) const {return x<m_value;} - Lt *Lt::clone() const { return new Lt(*this);} - - Gt::Gt(double value): m_value(value) {} - bool Gt::operator() (const double & x) const {return x>m_value;} - Gt *Gt::clone() const { return new Gt(*this);} - -} - diff --git a/graphics/Qat/QatPlotting/src/VisFunction.cpp b/graphics/Qat/QatPlotting/src/VisFunction.cpp deleted file mode 100644 index 826398e1dbd..00000000000 --- a/graphics/Qat/QatPlotting/src/VisFunction.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/VisFunction.h" -#include <vector> -#include <iostream> -class VisFunction::Clockwork { -public: - std::string name; - std::vector<Genfun::Parameter *> parameter; - std::vector<const Genfun::AbsFunction *> function; - std::vector<const Cut<double> *> domainRestriction; - QRectF rectHint; -}; - -VisFunction::VisFunction(const std::string & name): - m_c(new Clockwork()) -{ - m_c->name = name; -} - -VisFunction::~VisFunction() -{ - for (unsigned int i=0;i<m_c->function.size();i++) { - delete m_c->function[i]; - delete m_c->domainRestriction[i]; - } - for (unsigned int i=0;i<m_c->parameter.size();i++) { - delete m_c->parameter[i]; - } - delete m_c; -} - - -void VisFunction::addParameter(Genfun::Parameter *p) { - m_c->parameter.push_back(p); -} - -unsigned int VisFunction::getNumParameters() const { - return m_c->parameter.size(); -} - -Genfun::Parameter *VisFunction::getParameter(unsigned int i) const { - return m_c->parameter[i]; -} - - -void VisFunction::addFunction(Genfun::GENFUNCTION f, const Cut<double> * domainRestriction) { - m_c->function.push_back(f.clone()); - m_c->domainRestriction.push_back(domainRestriction ? domainRestriction->clone(): NULL); -} - -unsigned int VisFunction::getNumFunctions() const { - return m_c->function.size(); -} - -const Genfun::AbsFunction *VisFunction::getFunction(unsigned int i) const { - return m_c->function[i]; -} - -const Cut<double> *VisFunction::getDomainRestriction(unsigned int i) const { - return m_c->domainRestriction[i]; -} - - -const std::string & VisFunction::name() const { - return m_c->name; -} - - -const QRectF & VisFunction::rectHint() const { - return m_c->rectHint; -} - - -QRectF & VisFunction::rectHint() { - return m_c->rectHint; -} diff --git a/graphics/Qat/QatPresenter/CMakeLists.txt b/graphics/Qat/QatPresenter/CMakeLists.txt deleted file mode 100644 index 4a18c096311..00000000000 --- a/graphics/Qat/QatPresenter/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################ -# Package: QatPresenter -################################################################################ - -# Declare the package name: -atlas_subdir( QatPresenter ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatDataAnalysis - graphics/Qat/QatPlotWidgets - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPresenter QatPresenter/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatPresenter - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES QatDataAnalysis QatPlotWidgets QatSystemInterfaces ${QT4_LIBRARIES} ) - diff --git a/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h b/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h deleted file mode 100644 index 1f80ee825ef..00000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef QATPRESENTER_PRESENTERAPPLICATION_H -#define QATPRESENTER_PRESENTERAPPLICATION_H -#include "QatDataAnalysis/IOLoader.h" -#include <QtGui/QMainWindow> -#include <string> -class HistogramManager; -class Table; -class QTreeWidgetItem; -class PresenterApplication: public QMainWindow { - - // This is a Q_OBJECT: - Q_OBJECT - - public: - - // Constructor - PresenterApplication(QWidget * parent=NULL); - - // Destructor - ~PresenterApplication(); - - // Open a file: - void open(const std::string & pathname); - - // Save a configuration file: - void save (const std::string & pathname); - - // Load a configuration file: - void load (const std::string & pathname); - - // Load a system: - void loadSystem (const std::string & systemName); - - // Add a directory for vis functions - void addVisFunctionDirectory(const std::string & visFunctionDirectoryName); - - // Read in vis functions - void readVisFunctions(); - - private: - - // Copy and assign are illegal - PresenterApplication & operator=(const PresenterApplication & ); - PresenterApplication (const PresenterApplication &); - - // Internals - class Clockwork; - Clockwork *m_c; - - public slots: - - // Quit the application: - void quit(); - - // Load a system - void loadSystem(); - - // Select a File for Open: - void selectOpenFile(); - - // Close selected file: - void selectCloseFile(); - - // Select a File for Load Configuration: - void selectLoadFile(); - - // Select a File for Save Configuration: - void selectSaveFile(); - - // Update the selection: - void updateSelection(); - - // Respond to clicks on the tab b ar - void raiseTabBarContextMenu (QWidget *, const QPoint & ); - - // Current selection changed - void currentChanged(int i); - - // Change tables - void refreshTables(HistogramManager *manager, const Table *oldTable, const Table *newTable); - - // Double click on an item in the tree: - void itemDoubleClicked(QTreeWidgetItem *item, int column); - - // Unload files, systems, and input browser. - void clear(); - -}; -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h b/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h deleted file mode 100644 index 5ce9045d05e..00000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _PRESENTERTREEWIDGET_H_ -#define _PRESENTERTREEWIDGET_H_ -#include <QtGui/QTreeWidget> -class PresenterTreeWidget: public QTreeWidget { - Q_OBJECT - - public: - - PresenterTreeWidget(QWidget *parent=0); - - ~PresenterTreeWidget(); - - protected: - - virtual void dropEvent(QDropEvent *event); - - signals: - - void itemDropped(); - -}; -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h b/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h deleted file mode 100755 index 917e7fb17e8..00000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h +++ /dev/null @@ -1,97 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef QatTABBAR_H -#define QatTABBAR_H - -#include <QtGui/QTabBar> - -class QatTabBar: public QTabBar -{ - Q_OBJECT - - public: - explicit QatTabBar( QWidget* parent = 0 ); - - virtual ~QatTabBar(); - - void setTabReorderingEnabled( bool enable ); - - bool isTabReorderingEnabled() const; - - void setTabCloseActivatePrevious( bool ); - - bool tabCloseActivatePrevious() const; - - int selectTab( const QPoint &position ) const; - - Q_SIGNALS: - void contextMenu( int, const QPoint& ); - void mouseDoubleClick( int ); - void mouseMiddleClick( int ); - void initiateDrag( int ); - void testCanDecode( const QDragMoveEvent*, bool& ); - void receivedDropEvent( int, QDropEvent* ); - void moveTab( int, int ); - void closeRequest( int ); -#ifndef QT_NO_WHEELEVENT - void wheelDelta( int ); -#endif - - protected: - virtual void mouseDoubleClickEvent( QMouseEvent *event ); - virtual void mousePressEvent( QMouseEvent *event ); - virtual void mouseMoveEvent( QMouseEvent *event ); - virtual void mouseReleaseEvent( QMouseEvent *event ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelEvent( QWheelEvent *event ); -#endif - - virtual void dragEnterEvent( QDragEnterEvent *event ); - virtual void dragMoveEvent( QDragMoveEvent *event ); - virtual void dropEvent( QDropEvent *event ); - - protected Q_SLOTS: - virtual void activateDragSwitchTab(); - - protected: - virtual void tabLayoutChange(); - - private: - class Private; - Private* const m_d; -}; - -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h b/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h deleted file mode 100755 index 6ab65fcdeee..00000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h +++ /dev/null @@ -1,146 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef QatTABWIDGET_H -#define QatTABWIDGET_H - -#include <QtGui/QTabWidget> - -class QTab; -class QatTabBar; - -class QatTabWidget : public QTabWidget -{ - Q_OBJECT - Q_PROPERTY( bool tabReorderingEnabled READ isTabReorderingEnabled WRITE setTabReorderingEnabled ) - Q_PROPERTY( bool tabCloseActivatePrevious READ tabCloseActivatePrevious WRITE setTabCloseActivatePrevious ) - Q_PROPERTY( bool automaticResizeTabs READ automaticResizeTabs WRITE setAutomaticResizeTabs ) - - public: - - QatTabBar* getQatTabBar();//Added by TK. - - explicit QatTabWidget( QWidget *parent = 0, Qt::WFlags flags = 0 ); - - virtual ~QatTabWidget(); - - void setTabTextColor( int index, const QColor& color ); - - QColor tabTextColor( int index ) const; - - bool isTabReorderingEnabled() const; - - bool tabCloseActivatePrevious() const; - - bool automaticResizeTabs() const; - - void setTabBarHidden( bool hide ); - - bool isTabBarHidden() const; - - QString tabText( int ) const; // but it's not virtual... - - void setTabText( int , const QString & ); - - public Q_SLOTS: - virtual void moveTab( int, int ); - - virtual QT_MOC_COMPAT void removePage ( QWidget * w ); - - virtual void removeTab(int index); - - void setTabReorderingEnabled( bool enable ); - - void setTabCloseActivatePrevious( bool previous ); - - void setAutomaticResizeTabs( bool enable ); - - Q_SIGNALS: - void testCanDecode(const QDragMoveEvent *e, bool &accept /* result */); - - void receivedDropEvent( QDropEvent * ); - - void receivedDropEvent( QWidget *, QDropEvent * ); - - void initiateDrag( QWidget * ); - - void contextMenu( const QPoint & ); - - void contextMenu( QWidget *, const QPoint & ); - - void movedTab( int, int ); - - void mouseDoubleClick(); - - void mouseDoubleClick( QWidget * ); - - void mouseMiddleClick(); - - void mouseMiddleClick( QWidget * ); - - void closeRequest( QWidget * ); - - protected: - virtual void mouseDoubleClickEvent( QMouseEvent* ); - virtual void mousePressEvent( QMouseEvent* ); - virtual void dragEnterEvent( QDragEnterEvent* ); - virtual void dragMoveEvent( QDragMoveEvent* ); - virtual void dropEvent( QDropEvent* ); - int tabBarWidthForMaxChars( int ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelEvent( QWheelEvent* ); -#endif - virtual void resizeEvent( QResizeEvent* ); - virtual void tabInserted( int ); - virtual void tabRemoved ( int ); - - - protected Q_SLOTS: - virtual void receivedDropEvent( int, QDropEvent* ); - virtual void initiateDrag( int ); - virtual void contextMenu( int, const QPoint& ); - virtual void mouseDoubleClick( int ); - virtual void mouseMiddleClick( int ); - virtual void closeRequest( int ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelDelta( int ); -#endif - - private: - class Private; - Private * const m_d; -}; - -#endif diff --git a/graphics/Qat/QatPresenter/src/PresenterApplication.cpp b/graphics/Qat/QatPresenter/src/PresenterApplication.cpp deleted file mode 100644 index 3894e7dd8ff..00000000000 --- a/graphics/Qat/QatPresenter/src/PresenterApplication.cpp +++ /dev/null @@ -1,1257 +0,0 @@ -#include "QatPresenter/PresenterApplication.h" -#include "QatDataAnalysis/IODriver.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatSystemInterfaces/SystemInterface.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatSystemInterfaces/HistoLocator.h" -#include "ui_PresenterApplication.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" - -#include <QtCore/QDir> -#include <QtCore/QBuffer> -#include <QtCore/QPluginLoader> -#include <QtGui/QFileDialog> -#include <QtGui/QInputDialog> -#include <QtGui/QMessageBox> -#include <QtGui/QMenu> -#include <QtGui/QAction> -#include <stdexcept> -#include <iostream> -#include <sstream> -#include <libgen.h> - - -#include "QatPlotting/VisFunction.h" -#include <QtCore/QDir> -#include <dlfcn.h> -#include <QtCore/QStringList> -#include <QtGui/QTreeWidget> - -#include <unistd.h> - - -inline std::string getDriver() { - char *dn=getenv("QAT_IO_DRIVER"); - if (dn) { - return std::string(dn); - } - else { - char *cmt=getenv("CMTPATH"); - if (cmt) { - return "RootDriver"; - } - else { - return "HDF5Driver"; - } - } -} - - -// The I/O Loader -IOLoader loader; - - -class FunctionInsertion { - -public: - - void insert (QTreeWidget *, - const std::string & loadFileStem, - std::map<QTreeWidgetItem *, VisFunction *> &, - VisFunctionLocator &); - - -private: - - void processDir(const std::string & dirName, - QTreeWidgetItem *, - std::map<QTreeWidgetItem *,VisFunction *> &, - VisFunctionLocator & - ); - -}; - - - - -class PresenterApplication::Clockwork { -public: - Ui::PresenterApplication ui; - const IODriver *driver; - - void handleManager(const HistogramManager *manager, QTreeWidgetItem *parent); - - void handleTable (const Table *table, QTreeWidgetItem *parent); - - void purge(QTreeWidgetItem *, - Hist1DSet & doomedH1Set, - Hist2DSet & doomedH2Set, - TableSet & doomedTableSet); - - std::vector<DASystem *> system; - Hist1DSet selectedH1Set; - Hist2DSet selectedH2Set; - TableSet selectedTableSet; - VisFunctionSet selectedVisFunctionSet; - std::map<QTreeWidgetItem *, const Hist1D *> h1Map; - std::map<QTreeWidgetItem *, const Hist2D *> h2Map; - std::map<QTreeWidgetItem *, const Table *> tbMap; - - std::map<QTreeWidgetItem *, VisFunction *> visFunctionMap; - - std::map<QTreeWidgetItem *, const HistogramManager *> managerMap; - std::map<QWidget *, QByteArray> treeMap; - std::map<QWidget *, QByteArray> sysStateMap; - qint32 tab; - std::string currentFilename; - std::string currentDirectory; - - std::string attachFilename; - std::string attachDirectory; - - HistoLocator1D histoLocator1; - HistoLocator2D histoLocator2; - VisFunctionLocator visFunctionLocator; - - std::map<std::string, QObject *> loadMap; - - std::vector<std::string> visFunctionDir; - - -}; - -void PresenterApplication::Clockwork::purge(QTreeWidgetItem *item, - Hist1DSet & doomedH1Set, - Hist2DSet & doomedH2Set, - TableSet & doomedTableSet) { - - // h1Map cleanout - { - std::map<QTreeWidgetItem *, const Hist1D *>::iterator i=h1Map.find(item); - if (i!=h1Map.end()) { - doomedH1Set.push_back((*i).second); - h1Map.erase(i); - } - } - - - // h2Map cleanout - { - std::map<QTreeWidgetItem *, const Hist2D *>::iterator i=h2Map.find(item); - if (i!=h2Map.end()) { - doomedH2Set.push_back((*i).second); - h2Map.erase(i); - } - } - - // tbMap cleanout - { - std::map<QTreeWidgetItem *, const Table *>::iterator i=tbMap.find(item); - if (i!=tbMap.end()) { - doomedTableSet.push_back((*i).second); - tbMap.erase(i); - } - } - - // managerMap cleanout - { - std::map<QTreeWidgetItem *, const HistogramManager *>::iterator i=managerMap.find(item); - if (i!=managerMap.end()) { - managerMap.erase(i); - } - } - - for (int i=item->childCount()-1;i>=0; i--) { - purge(item->child(i), doomedH1Set, doomedH2Set, doomedTableSet); - } - - delete item; -} - -void PresenterApplication::Clockwork::handleTable( const Table *table, QTreeWidgetItem *parent) { - for (unsigned int a=0;a<table->numAttributes();a++) { - const Attribute & attr = table->attribute(a); - QStringList list; - list << attr.name().c_str(); - list << attr.typeName().c_str(); - QTreeWidgetItem *item=new QTreeWidgetItem(list); - item->setFlags(0); // not selectable or anything.. - parent->addChild(item); - } -} - - -void PresenterApplication::Clockwork::handleManager (const HistogramManager *manager, QTreeWidgetItem *parent) { - - - for (HistogramManager::DConstIterator d=manager->beginDir();d!=manager->endDir();d++) { - QStringList list; - list << (*d)->name().c_str(); - list << "Dir"; - QTreeWidgetItem *item=new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsEnabled); // not selectable. - parent->addChild(item); - managerMap[item]=*d; - handleManager(*d,item); - } - - for (HistogramManager::H1ConstIterator h=manager->beginH1();h!=manager->endH1();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "H1"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - h1Map[item]=*h; - - std::string name = (*h)->name(); - for (QTreeWidgetItem *m=parent;m!=NULL;m=m->parent()) { - name = m->text(0).toStdString() + "/" + name; - } - histoLocator1.insert(*h,name); - } - - for (HistogramManager::H2ConstIterator h=manager->beginH2();h!=manager->endH2();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "H2"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - h2Map[item]=*h; - - - std::string name = (*h)->name(); - for (QTreeWidgetItem *m=parent;m!=NULL;m=m->parent()) { - name = m->text(0).toStdString() + "/" + name; - } - histoLocator2.insert(*h,name); - - } - - for (HistogramManager::TConstIterator h=manager->beginTable();h!=manager->endTable();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "Table"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - handleTable(*h, item); - tbMap[item]=*h; - } - -} - - - -PresenterApplication::PresenterApplication (QWidget *parent) - :QMainWindow(parent), m_c(new Clockwork()) -{ - m_c->ui.setupUi(this); - m_c->driver=loader.ioDriver(getDriver()); - if (!m_c->driver) { - // Do not throw error at this point. - } - m_c->ui.treeWidget->setColumnWidth(0,200); - - - connect (m_c->ui.actionQuit, SIGNAL(triggered()), this, SLOT(quit())); - connect (m_c->ui.actionAttach, SIGNAL(triggered()), this, SLOT(selectOpenFile())); - connect (m_c->ui.actionDetach, SIGNAL(triggered()), this, SLOT(selectCloseFile())); - // connect (m_c->ui.actionNew, SIGNAL(triggered()), this, SLOT(selectNewFile())); - connect (m_c->ui.actionLoad_Configuration, SIGNAL(triggered()), this, SLOT(selectLoadFile())); - connect (m_c->ui.actionSave_Configuration, SIGNAL(triggered()), this, SLOT(selectSaveFile())); - connect (m_c->ui.tabWidget,SIGNAL(contextMenu(QWidget *, const QPoint& )), - this,SLOT(raiseTabBarContextMenu(QWidget *, const QPoint &))); - connect (m_c->ui.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); - connect(m_c->ui.treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem *, int))); - // Look at the Plugin Directory and Populate the list of Plugins: - - QStringList libraryPath=QApplication::libraryPaths(); - for (int i=0;i<libraryPath.size();i++) { - if (libraryPath.at(i).contains("qatplugins")) { - QDir dir(libraryPath.at(i)); - QStringList entryList=dir.entryList(); - for (int e=0;e<entryList.size();e++) { -#ifndef __APPLE__ - if (entryList.at(e).contains(".so")) { - QString entry=entryList.at(e); - QString trunc0=entry.remove(0,6); // Strip off "libQat" - QString suffix=".so"; - QString system=trunc0.remove(suffix); - QString extraDotsIndicatingVersion="."; - if (system.indexOf(extraDotsIndicatingVersion)!=-1) continue; - QAction *action=m_c->ui.menuSystems->addAction(system, this, SLOT(loadSystem())); - action->setObjectName(system); - } -#else - if (entryList.at(e).contains(".dylib")) { - QString entry=entryList.at(e); - QString trunc0=entry.remove(0,6); // Strip off "libQat" - QString suffix=".dylib"; - QString system=trunc0.remove(suffix); - QString extraDotsIndicatingVersion="."; - if (system.indexOf(extraDotsIndicatingVersion)!=-1) continue; - QAction *action=m_c->ui.menuSystems->addAction(system, this, SLOT(loadSystem())); - action->setObjectName(system); - } -#endif - } - } - } - m_c->ui.tabWidget->removeTab(0); - - connect(m_c->ui.treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateSelection())); - connect(m_c->ui.treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), this, SLOT(updateSelection())); - // connect(m_c->ui.treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem *, int))); - m_c->tab=-1; - - -} - -void PresenterApplication::readVisFunctions() { - FunctionInsertion fs; - for (unsigned int i=0;i<m_c->visFunctionDir.size();i++) { - fs.insert(m_c->ui.treeWidget, m_c->visFunctionDir[i], m_c->visFunctionMap,m_c->visFunctionLocator); - } -} - -PresenterApplication::~PresenterApplication() { - clear(); - std::map<QTreeWidgetItem *, VisFunction *>::iterator - begin=m_c->visFunctionMap.begin(), - end=m_c->visFunctionMap.end(), - current=begin; - while(current!=end) { - delete (*current).second; - current++; - } - - - delete m_c; -} - -void PresenterApplication::open(const std::string & pathname) { - - char fpath[1024]; - realpath(pathname.c_str(),fpath); - - const std::string fullpathname=fpath; - const HistogramManager *manager = m_c->driver ? m_c->driver->openManager(fullpathname):NULL; - if (!manager) { - std::cerr << "Warning: PresenterApplication cannot open file " << pathname << std::endl; - } - else { - QStringList list; - list << fullpathname.c_str(); - list << "File"; - - QTreeWidgetItem *item = new QTreeWidgetItem(list); - m_c->managerMap[item]=manager; - m_c->ui.treeWidget->addTopLevelItem(item); - m_c->handleManager(manager,item); - m_c->ui.treeWidget->reset(); - m_c->attachFilename=fullpathname; - } - -} - - -void PresenterApplication::quit () { - int button=QMessageBox::question(this, tr("Question"), tr("Really Quit?"), QMessageBox::No|QMessageBox::Yes, QMessageBox::Yes); - if (button==int(QMessageBox::Yes)) qApp->quit(); -} - -void PresenterApplication::loadSystem () { - QObject *senderObject = sender(); - if (senderObject) { - - // Get the name of the system from the sender: - QString systemName = senderObject->objectName(); - - loadSystem(systemName.toStdString()); - - } -} - -void PresenterApplication::loadSystem(const std::string & system) -{ - - QObject *senderObject = sender(); - - // Here is a message string for errors: - std::ostringstream messageString; - - std::map<std::string, QObject *>::const_iterator lM =m_c->loadMap.find(system); - QObject *instance=NULL; - - if (lM!=m_c->loadMap.end()) instance = (*lM).second; - - if (!instance) { - QString systemName=system.c_str(); - // Get the library path from the core application: - QStringList libraryPaths=QCoreApplication::instance()->libraryPaths(); - - for (int i=0;i<libraryPaths.size();i++) { - QString path=libraryPaths.at(i); -#ifndef __APPLE__ - QString libraryName = path + QString("/libQat") + systemName + QString(".so"); -#else - QString libraryName = path + QString("/libQat") + systemName + QString(".dylib"); -#endif - QPluginLoader piloader(libraryName); - piloader.load(); - - if (!piloader.isLoaded()) { - std::cerr << "Error loading " << libraryName.toStdString() << std::endl; - std::cerr << "Message: " << piloader.errorString().toStdString() << std::endl; - continue; - } - - instance = piloader.instance(); - if (instance) { - m_c->loadMap[system]=instance; //should presumably be here - break; - //m_c->loadMap[system]=instance; unreachable code - } - } - } - if (instance) { - SystemFactoryInterface *interface =qobject_cast<SystemFactoryInterface *> (instance); - if (interface) { - - DASystem *system = interface->newSystem(); - if (system) { - messageString << "Success creating a " << system->name().toStdString() << std::endl; - system->setHist1DSet(&m_c->selectedH1Set); - system->setHist2DSet(&m_c->selectedH2Set); - system->setTableSet (&m_c->selectedTableSet); - system->setVisFunctionSet (&m_c->selectedVisFunctionSet); - system->setPresenterTreeWidget(m_c->ui.treeWidget); - system->setPresenterMessageTextEdit(m_c->ui.messageTextEdit); - system->setPresenterH1Locator(&m_c->histoLocator1); - system->setPresenterH2Locator(&m_c->histoLocator2); - system->setPresenterVisFunctionLocator(&m_c->visFunctionLocator); - m_c->system.push_back(system); - - system->toolWidget()->setParent(m_c->ui.toolBoxStackedWidget); - m_c->ui.toolBoxStackedWidget->addWidget(system->toolWidget()); - system->toolWidget()->show(); - //Exp: - m_c->ui.toolBoxStackedWidget->setEnabled(true); - m_c->ui.toolBoxStackedWidget->show(); - m_c->ui.toolBoxStackedWidget->update(); - m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - m_c->ui.tabWidget->blockSignals(true); - m_c->ui.tabWidget->setCurrentIndex(m_c->ui.tabWidget->addTab(system->mainWidget(),system->name())); - m_c->ui.tabWidget->blockSignals(false); - - m_c->tab=m_c->ui.tabWidget->currentIndex(); - // - // This routine is called from (A) user request, or (B) config file restore. - // In case (B) there is no sender, and no need to update either, since update - // will follow... - // - if (senderObject) m_c->system.back()->update(); - } - else { - messageString << "Failure creating system" << std::endl; - } - } - } - else { - messageString << "Failure loading library" << std::endl; - } - m_c->ui.messageTextEdit->insertPlainText (messageString.str().c_str()); -} - - -void PresenterApplication::selectOpenFile () { - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Root files (*.root)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->attachDirectory=="" ? dirbuff : m_c->attachDirectory.c_str()); - dialog.selectFile(m_c->attachFilename.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - m_c->attachDirectory=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - open(openFileName.toStdString()); - } - } -} - -void PresenterApplication::selectCloseFile () { - // Get the list of selected top level items in the tree view. - // Take those items out of the list.. - - QList<QTreeWidgetItem *> selectedItems =m_c->ui.treeWidget->selectedItems(); - for (int i=0;i<selectedItems.count();i++) { - if (!selectedItems[i]->parent()) { - if (selectedItems[i]->text(1).toStdString()=="File") { - - std::ostringstream message; - message << "Drop file " << selectedItems[i]->text(0).toStdString() << std::endl; - m_c->ui.messageTextEdit->insertPlainText (message.str().c_str()); - - // Block signals for a while: - m_c->ui.treeWidget->blockSignals(true); - int index = m_c->ui.treeWidget->indexOfTopLevelItem(selectedItems[i]); - QTreeWidgetItem *removedItem=m_c->ui.treeWidget->takeTopLevelItem(index); - - // Purge: - Hist1DSet doomedH1Set; - Hist2DSet doomedH2Set; - TableSet doomedTableSet; - m_c->purge(removedItem, doomedH1Set, doomedH2Set, doomedTableSet); - - // Close input file: - const HistogramManager *manager=m_c->managerMap[removedItem]; - if (m_c->driver) m_c->driver->close(manager); - - - // Turn signals back on. - - m_c->ui.treeWidget->blockSignals(false); - m_c->ui.treeWidget->update(); - updateSelection(); - } - } - } -} - - -void PresenterApplication::selectLoadFile () { - - - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Presenter files (*.pres)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->currentDirectory=="" ? dirbuff : m_c->currentDirectory.c_str()); - dialog.selectFile(m_c->currentFilename.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList loadFilenames=dialog.selectedFiles(); - if (loadFilenames.count()!=1) return; - QString loadFileName = loadFilenames[0]; - m_c->currentDirectory=dirname((char *) loadFileName.toStdString().c_str()); - - if (!loadFileName.isNull()) { - clear(); - load(loadFileName.toStdString()); - } - } - -} - -void PresenterApplication::selectSaveFile () { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Presenter files (*.pres)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->currentDirectory=="" ? dirbuff : m_c->currentDirectory.c_str()); - dialog.selectFile(m_c->currentFilename.c_str()); - dialog.setAcceptMode(QFileDialog::AcceptSave); - dialog.setConfirmOverwrite(true); - if (dialog.exec()) { - - QStringList saveFilenames=dialog.selectedFiles(); - if (saveFilenames.count()!=1) return; - QString saveFileName = saveFilenames[0]; - m_c->currentDirectory=dirname((char *) saveFileName.toStdString().c_str()); - - if (!saveFileName.isNull()) { - save(saveFileName.toStdString()); - } - } -} - - - - -void PresenterApplication::updateSelection() { - - QList<QTreeWidgetItem *> selectedItems=m_c->ui.treeWidget->selectedItems(); - QTreeWidgetItem *currentItem =m_c->ui.treeWidget->currentItem(); - - m_c->selectedH1Set.erase(m_c->selectedH1Set.begin(),m_c->selectedH1Set.end()); - m_c->selectedH2Set.erase(m_c->selectedH2Set.begin(),m_c->selectedH2Set.end()); - m_c->selectedTableSet.erase(m_c->selectedTableSet.begin(),m_c->selectedTableSet.end()); - m_c->selectedVisFunctionSet.erase(m_c->selectedVisFunctionSet.begin(),m_c->selectedVisFunctionSet.end()); - - // Selected Items: - for (int i=0;i<selectedItems.size();i++) { - QTreeWidgetItem *item=selectedItems.at(i); - // Locate all histograms: - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(item); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->selectedH1Set.push_back(hist1D); - } - // Locate all scatterplots: - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(item); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->selectedH2Set.push_back(hist2D); - } - // Locate all tables: - std::map<QTreeWidgetItem *, const Table *>::const_iterator tb=m_c->tbMap.find(item); - if (tb!=m_c->tbMap.end()) { - const Table *table=(*tb).second; - m_c->selectedTableSet.push_back(table); - } - // Locate all vis functions - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator vi=m_c->visFunctionMap.find(item); - if (vi!=m_c->visFunctionMap.end()) { - const VisFunction *visFunction=(*vi).second; - m_c->selectedVisFunctionSet.push_back(visFunction); - } - } - if (selectedItems.size()==0) { - // Add the current item: - if (!selectedItems.contains(currentItem)) - { - // Locate all histograms: - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(currentItem); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->selectedH1Set.push_back(hist1D); - } - // Locate all scatterplots: - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(currentItem); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->selectedH2Set.push_back(hist2D); - } - // Locate all tables: - std::map<QTreeWidgetItem *, const Table *>::const_iterator tb=m_c->tbMap.find(currentItem); - if (tb!=m_c->tbMap.end()) { - const Table *table=(*tb).second; - m_c->selectedTableSet.push_back(table); - } - // Locate all vis functions - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator vi=m_c->visFunctionMap.find(currentItem); - if (vi!=m_c->visFunctionMap.end()) { - const VisFunction *visFunction=(*vi).second; - m_c->selectedVisFunctionSet.push_back(visFunction); - } - } - } - - // Issue a message: - - - m_c->ui.messageTextEdit->insertPlainText ("Updating systems\n"); - QWidget *w = m_c->tab== -1 ? 0 : m_c->ui.tabWidget->widget(m_c->tab); - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w && m_c->system[i]->mainWidget()==w) m_c->system[i]->update(); - } - - -} - -void PresenterApplication::raiseTabBarContextMenu (QWidget *w, const QPoint &p) { - QMenu menu(w); - int index = m_c->ui.tabWidget->indexOf(w); - - QAction *cloneAction=menu.addAction("Clone"); - QAction *deleteAction=menu.addAction("Delete"); - QAction *renameAction=menu.addAction("Rename"); - - QAction *selectedAction = menu.exec(p); - if (!selectedAction) { - return; - } - if (selectedAction==cloneAction) { - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==w) { - std::ostringstream messageString; - QByteArray byteArray=m_c->system[i]->saveState(); - DASystem *system = m_c->system[i]->clone(); - if (system) { - messageString << "Success cloning a " << system->name().toStdString() << std::endl; - system->setHist1DSet(&m_c->selectedH1Set); - system->setHist2DSet(&m_c->selectedH2Set); - system->setTableSet (&m_c->selectedTableSet); - system->setVisFunctionSet(&m_c->selectedVisFunctionSet); - system->setPresenterTreeWidget(m_c->ui.treeWidget); - system->setPresenterMessageTextEdit(m_c->ui.messageTextEdit); - system->setPresenterH1Locator(&m_c->histoLocator1); - system->setPresenterH2Locator(&m_c->histoLocator2); - system->setPresenterVisFunctionLocator(&m_c->visFunctionLocator); - m_c->system.push_back(system); - - system->toolWidget()->setParent(m_c->ui.toolBoxStackedWidget); - m_c->ui.toolBoxStackedWidget->addWidget(system->toolWidget()); - system->toolWidget()->show(); - //Exp: - m_c->ui.toolBoxStackedWidget->setEnabled(true); - m_c->ui.toolBoxStackedWidget->show(); - m_c->ui.toolBoxStackedWidget->update(); - m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - - m_c->ui.tabWidget->setCurrentIndex(m_c->ui.tabWidget->addTab(system->mainWidget(),system->name())); - - system->restoreFromState(byteArray); - system->update(); - } - else { - messageString << "Failure cloning system" << std::endl; - } - m_c->ui.messageTextEdit->insertPlainText (messageString.str().c_str()); - break; - } - } - } - else if (selectedAction==deleteAction) { - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==w) { - m_c->tab=-1; - m_c->ui.tabWidget->removeTab(index); - m_c->ui.toolBoxStackedWidget->removeWidget(m_c->system[i]->toolWidget()); - delete m_c->system[i]; - m_c->system.erase(m_c->system.begin()+i); - } - } - } - else if (selectedAction==renameAction) { - bool ok; - QString text = QInputDialog::getText( m_c->ui.tabWidget, "Rename tab","Rename tab '"+m_c->ui.tabWidget->tabText(index)+"' to:", - QLineEdit::Normal, m_c->ui.tabWidget->tabText(index), &ok ); - if (ok) m_c->ui.tabWidget->setTabText(index,text); - - } - -} - -void PresenterApplication::currentChanged(int newTab) { - if (m_c->ui.tabWidget->count()==0) return; - m_c->ui.tabWidget->setFocus(); - QObject::blockSignals(true); - // Do stuff; - - if (m_c->tab!=-1) { - // Save the state of the tab widget, in four easy steps. - - // 1. Get the main widget. - QWidget *w = m_c->ui.tabWidget->widget(m_c->tab); - - // 2. Get the system. - DASystem *system=NULL; - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w==m_c->system[i]->mainWidget()) { - system=m_c->system[i]; - break; - } - } - if (!system) { - std::ostringstream stream; - stream << "Cannot locate the system for tab widget " << m_c->tab ; - throw std::runtime_error (stream.str()); - } - - // 3. Get the state of the tab widget. - Serializer serializer(1); - serializer.save(m_c->ui.tabWidget->tabText(m_c->tab).toStdString()); - serializer.save(m_c->ui.treeWidget); - QByteArray byteArray=serializer.result(); - - - // 4. Connect the tab widget state to the system. - m_c->treeMap[w]=byteArray; - - // 5. Save the state of the system, too: - if (1) { - if (system) { - QByteArray systemByteArray=system->saveCache(); - m_c->sysStateMap[w]=systemByteArray; - } - } - - } - - // As for the new tab: go through the presenter tree map and determine - // see if the state is avaiable. If so, set the state. - { - // 1. Get the main widget. - QWidget *w = m_c->ui.tabWidget->widget(newTab); - - DASystem *system=NULL; - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w==m_c->system[i]->mainWidget()) { - system=m_c->system[i]; - break; - } - } - - if (system) m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - - - - // 2. See if its state is in the map, if so restore. - { - std::map<QWidget *, QByteArray>::iterator t=m_c->treeMap.find(w), end=m_c->treeMap.end(); - if (t!=end) { - Deserializer state((*t).second); - m_c->ui.treeWidget->blockSignals(true); - if (state.version() >=1) { - std::string tName; - state.restore(tName); - QString tn(tName.c_str()); - m_c->ui.tabWidget->setTabText(newTab,tn); - } - state.restore(m_c->ui.treeWidget); - m_c->ui.treeWidget->blockSignals(false); - if (state.version()>1) throw std::runtime_error ("Error restoring the state of the tree widget"); - - } - } - - // And restore the system as well: - if (1) - { - std::map<QWidget *, QByteArray>::iterator t=m_c->sysStateMap.find(w), end=m_c->sysStateMap.end(); - if (t!=end) { - if (system) { - system->restoreFromCache((*t).second); - } - } - } - - - } - - // End do stuff. Old tab is now this tab. - m_c->tab=newTab; - QObject::blockSignals(false); - updateSelection(); - - -} - -// Change tables -void PresenterApplication::refreshTables(HistogramManager *, const Table *oldTable, const Table *newTable) { - - std::map<QTreeWidgetItem *, const Table *>::const_iterator - begin=m_c->tbMap.begin(), - end= m_c->tbMap.end(), - tb=begin; - - while (tb!=end) { - const Table *table=(*tb).second; - if (table==oldTable) { - QTreeWidgetItem *item = (*tb).first; - - m_c->tbMap[item]=newTable; - - break; - } - tb++; - } - - updateSelection(); - -} - - -void PresenterApplication::itemDoubleClicked(QTreeWidgetItem *item, int /*column*/) { - - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==m_c->ui.tabWidget->currentWidget()) { - - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(item); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->system[i]->dblClicked1D(hist1D); - } - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(item); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->system[i]->dblClicked2D(hist2D); - } - - std::map<QTreeWidgetItem *, const HistogramManager *>::const_iterator dr=m_c->managerMap.find(item); - if (dr!=m_c->managerMap.end()) { - const HistogramManager *dir=(*dr).second; - m_c->system[i]->dblClickedMan(dir); - } - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator v1=m_c->visFunctionMap.find(item); - if (v1!=m_c->visFunctionMap.end()) { - const VisFunction *vf=(*v1).second; - m_c->system[i]->dblClickedVisFunction(vf); - } - - if (item->flags() & Qt::ItemIsSelectable) item->setSelected(true); - } - } - -} - - -void PresenterApplication::load( const std::string & pathname) { - - QString filename=pathname.c_str(); - - if (filename.isEmpty()) { - QMessageBox::critical(0, "Error - Empty file name provided", - "Empty file name provided.",QMessageBox::Ok,QMessageBox::Ok); - return; - } - QFileInfo fi(filename); - if (!fi.exists()) { - QMessageBox::critical(0, "Error - file does not exists: "+filename, - "File does not exists: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - if (!fi.isReadable()) { - QMessageBox::critical(0, "Error - file is not readable: "+filename, - "File is not readable: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - //open file - QFile file(filename); - if (!file.open(QIODevice::ReadOnly)) { - QMessageBox::critical(0, "Error - problems opening file "+filename, - "Problems opening file: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - - // move to selectload clear(); - - //Read: - QString head,foot; - QStringList inFileNames, systemNames; - QList<QByteArray> systemStates; - QList<QByteArray> systemTreeStates; - qint32 tab; - - QByteArray byteArray64; - QDataStream infile(&file); - infile >> byteArray64; - - QByteArray byteArray = qUncompress(QByteArray::fromBase64(byteArray64)); - - QBuffer buffer(&byteArray); - buffer.open(QIODevice::ReadOnly); - QDataStream in(&buffer); - in >> head; - in >> inFileNames; - in >> systemNames; - in >> systemStates; - in >> systemTreeStates; - in >> tab; - in >> foot; - buffer.close(); - - // Check basic stuff. - if (head!="This is an automatically generated config file for present. [cfg version 000]" - ||foot!="This is the end of the automatically generated config file for present.") { - QMessageBox::critical(0, "Error - file not in correct format: "+filename, - "File not in correct format: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - - // Open all of the files: - for (int i=0;i<inFileNames.count();i++) { - try { - open(inFileNames[i].toStdString()); - } - catch (std::exception & e) { - } - } - std::cout << "Loading systems...." << std::endl; - // Start all of the systems: - for (int i=0;i<systemNames.count();i++) { - loadSystem(systemNames[i].toStdString()); - } - // Restore all of the system trees to their states: - for (int i=0;i<systemNames.count();i++) { - m_c->treeMap[m_c->system[i]->mainWidget()]=systemTreeStates[i]; - Deserializer state(systemTreeStates[i]); - m_c->ui.treeWidget->blockSignals(true); - if (state.version() >=1) { - std::string tName; - state.restore(tName); - QString tn(tName.c_str()); - m_c->ui.tabWidget->setTabText(i,tn); - } - - state.restore(m_c->ui.treeWidget); - m_c->ui.treeWidget->blockSignals(false); - - if (state.version()>1) throw std::runtime_error ("Error restoring the state of the tree widget"); - - } - std::cout << "Restoring systems..." << std::endl; - // Restore all of the systems to their states: - - //-------------------------- - // Normally done when the tab changes. But if there is only one system, - // this is forced. - if (systemNames.count()==1) updateSelection(); - //-------------------------- - - for (int i=0;i<systemNames.count();i++) { - m_c->ui.tabWidget->setCurrentIndex(i); - m_c->system[i]->restoreFromState(systemStates[i]); - //m_c->system[i]->update(); // normally done when the tab widget selection occurs.. - } - m_c->ui.tabWidget->setCurrentIndex(tab); - m_c->currentFilename=pathname; -} - - -void PresenterApplication::save( const std::string & pathname) { - - - // Input Files: - QStringList inFileNames; - for (int i=0;i<m_c->ui.treeWidget->topLevelItemCount();i++) { - QString file=m_c->ui.treeWidget->topLevelItem(i)->text(0); - inFileNames.append( file ) ; - } - - // Systems: - QStringList systemNames; - for (unsigned int i=0;i<m_c->system.size();i++) { - systemNames.append(m_c->system[i]->name()); - } - - // Tree widget state: - QList<QByteArray> systemTreeStates; - for (unsigned int i=0;i<m_c->system.size();i++) { - - QWidget *W = m_c->system[i]->mainWidget(); - QWidget *w = m_c->tab==-1 ? NULL: m_c->ui.tabWidget->widget(m_c->tab); - if (w==W) { // Means record now! From presenting widget! - Serializer serializer(1); - serializer.save(m_c->ui.tabWidget->tabText(m_c->tab).toStdString()); - serializer.save(m_c->ui.treeWidget); - QByteArray byteArray=serializer.result(); - systemTreeStates.append(byteArray); - } - else { - systemTreeStates.append(m_c->treeMap[W]); - } - } - - // System state: - QList<QByteArray> systemStates; - for (unsigned int i=0;i<m_c->system.size();i++) { - systemStates.append(m_c->system[i]->saveState()); - } - - - QByteArray byteArray; - QBuffer buffer(&byteArray); - buffer.open(QIODevice::WriteOnly); - QDataStream out(&buffer); - out<<QString("This is an automatically generated config file for present. [cfg version 000]" ); - out<< inFileNames; - out<< systemNames; - out<< systemStates; - out<< systemTreeStates; - out<< m_c->tab; - out<<QString("This is the end of the automatically generated config file for present." ); - buffer.close(); - - QFile file(pathname.c_str()); - if (!file.open(QIODevice::WriteOnly)) { - m_c->ui.messageTextEdit->insertPlainText ("Cannot save configuration"); - return; - } - QDataStream outfile(&file); - outfile<<qCompress(byteArray).toBase64(); - - m_c->currentFilename=pathname; -} - -void PresenterApplication::clear() { - - m_c->ui.tabWidget->blockSignals(true); - m_c->ui.treeWidget->clear(); - for (int i=m_c->ui.tabWidget->count()-1;i>=0;i--) m_c->ui.tabWidget->removeTab(i); - m_c->ui.tabWidget->blockSignals(false); - - m_c->tab=-1; - - for (unsigned int i=0;i<m_c->system.size();i++) { - delete m_c->system[i]; - } - m_c->system.erase(m_c->system.begin(),m_c->system.end()); - m_c->selectedH1Set.erase(m_c->selectedH1Set.begin(),m_c->selectedH1Set.end()); - m_c->selectedH2Set.erase(m_c->selectedH2Set.begin(),m_c->selectedH2Set.end()); - m_c->selectedTableSet.erase(m_c->selectedTableSet.begin(),m_c->selectedTableSet.end()); - m_c->selectedVisFunctionSet.erase(m_c->selectedVisFunctionSet.begin(), m_c->selectedVisFunctionSet.end()); - m_c->h1Map.erase(m_c->h1Map.begin(),m_c->h1Map.end()); - m_c->h2Map.erase(m_c->h2Map.begin(),m_c->h2Map.end()); - m_c->tbMap.erase(m_c->tbMap.begin(),m_c->tbMap.end()); - m_c->treeMap.erase(m_c->treeMap.begin(),m_c->treeMap.end()); - - - { - std::map<QTreeWidgetItem *, const HistogramManager *>::const_iterator - begin=m_c->managerMap.begin(), - end=m_c->managerMap.end(), - current=begin; - while (current!=end) { - const HistogramManager *manager=(*current).second; - if (m_c->driver) m_c->driver->close(manager); - current++; - } - } - - -} - -// Add a directory for vis functions -void PresenterApplication::addVisFunctionDirectory(const std::string & visFunctionDir) { - m_c->visFunctionDir.push_back(visFunctionDir); -} - - - - -typedef void * (*CreationMethod) (); - - -void FunctionInsertion::processDir(const std::string & dirName, - QTreeWidgetItem *parentItem, - std::map<QTreeWidgetItem *, VisFunction *> &visFunction, - VisFunctionLocator &vfl) { - - QDir dir(dirName.c_str()); - if (dir.isReadable()) { - QStringList subdirList = dir.entryList(QDir::Dirs); - - for (QStringList::Iterator subdir = ++subdirList.begin(); subdir != subdirList.end(); ++subdir) { - if (!(*subdir).startsWith(".") && !(*subdir).contains("ti_files")) { - QStringList shortList; - shortList.push_back(*subdir); - QTreeWidgetItem *item = new QTreeWidgetItem(parentItem, shortList,1); - item->setFlags(Qt::ItemIsEnabled); - processDir (std::string(dirName)+std::string("/") + (*subdir).toStdString(), item, visFunction,vfl); - } - } - - - QDir d(dirName.c_str()); - d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); - - const QFileInfoList list = d.entryInfoList(); - - - QList<QFileInfo>::const_iterator it=list.begin(); // create list iterator - - while (it!=list.end()) { // for each file... - std::string selection = (*it).fileName().toStdString(); - std::string basename = (*it).baseName().toStdString(); - std::string extension = (*it).suffix().toStdString(); - std::string path = (*it).absolutePath().toStdString(); - std::string dir = (*it).dir().dirName().toStdString(); - path += "/"; - path += basename; - path += "."; - path += extension; - if (extension=="so") { - void *handle = dlopen(path.c_str(),RTLD_NOW); - if (!handle) { - std::cout << "Warning, dlopen fails on file: " << path << std::endl; - std::cout << dlerror() << std::endl; - ++it; continue; - } - std::ostringstream createFunctionName; - //createFunctionName << "_ZN" << basename.size() << basename << "6createEv"; - //createFunctionName << "create__" << basename.size() << basename << "SFv"; - createFunctionName << "create_"<< basename; - CreationMethod createMethod; - union { CreationMethod func; void* data; } sym; - sym.data= dlsym(handle, createFunctionName.str().c_str()); - createMethod = sym.func; - if (!createMethod) { - // We are hosed.... - std::cout << "Warning, cannot load function : " << basename << std::endl; - std::cout << "That we try to load from file " << path << std::endl; - std::cout << dlerror() << std::endl; - } - else { - // Create this object on the spot. . - VisFunction *ff = (VisFunction *) (*createMethod)(); - if (ff) { - std::string name=ff->name(); - vfl.insert(ff,name); - QStringList list; - list << ff->name().c_str() ; - list << "Function"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); - parentItem->addChild(item); - visFunction[item]=ff; - } - else { - } - } - } - ++it; - } - - } - -} - - -void FunctionInsertion::insert(QTreeWidget *fmw, const std::string & loadFileStem, - std::map<QTreeWidgetItem *, VisFunction *> &visFunction, - VisFunctionLocator &vfl) { - // - // In addition to the Histograms, also present the built in functions: - // - - std::string loadFileName = loadFileStem+std::string("/VisFunctions"); - if (!QDir(loadFileName.c_str()).isReadable()) loadFileName=""; - - - if (loadFileName=="") { - // std::cerr << "Warning, cannot locate directory containing Visualization Functions." << std::endl; - // We are hosed. - // We are hosed. - } - else { - - QStringList list; - list << loadFileName.c_str(); - - QTreeWidgetItem *library = new QTreeWidgetItem(list); - library->setFlags(Qt::ItemIsEnabled); - fmw->addTopLevelItem(library); - - //-------------------------------------------------// - // Into recursion land...--------------------------// - processDir(loadFileName,library, visFunction,vfl); // - //-------------------------------------------------// - } - -} - - diff --git a/graphics/Qat/QatPresenter/src/PresenterApplication.ui b/graphics/Qat/QatPresenter/src/PresenterApplication.ui deleted file mode 100644 index a47d0a696a3..00000000000 --- a/graphics/Qat/QatPresenter/src/PresenterApplication.ui +++ /dev/null @@ -1,416 +0,0 @@ -<ui version="4.0" > - <class>PresenterApplication</class> - <widget class="QMainWindow" name="PresenterApplication" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>1133</width> - <height>787</height> - </rect> - </property> - <property name="windowTitle" > - <string>Presenter</string> - </property> - <widget class="QWidget" name="centralwidget" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QatTabWidget" name="tabWidget" > - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string/> - </attribute> - <attribute name="toolTip" > - <string>Enable Systems from System Menu</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </widget> - <widget class="QMenuBar" name="menubar" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>1133</width> - <height>25</height> - </rect> - </property> - <widget class="QMenu" name="menuWindow" > - <property name="title" > - <string>Window</string> - </property> - <addaction name="actionInput_Output" /> - <addaction name="actionTools" /> - <addaction name="actionMessages" /> - </widget> - <widget class="QMenu" name="menuSystems" > - <property name="title" > - <string>Systems</string> - </property> - </widget> - <widget class="QMenu" name="menuFile" > - <property name="title" > - <string>File</string> - </property> - <addaction name="actionAttach" /> - <addaction name="actionDetach" /> - <addaction name="separator" /> - <addaction name="actionLoad_Configuration" /> - <addaction name="actionSave_Configuration" /> - <addaction name="separator" /> - <addaction name="separator" /> - <addaction name="actionQuit" /> - </widget> - <addaction name="menuFile" /> - <addaction name="menuWindow" /> - <addaction name="menuSystems" /> - </widget> - <widget class="QStatusBar" name="statusbar" /> - <widget class="QDockWidget" name="inputOutputDockWidget" > - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>16777215</height> - </size> - </property> - <property name="focusPolicy" > - <enum>Qt::ClickFocus</enum> - </property> - <property name="floating" > - <bool>false</bool> - </property> - <property name="allowedAreas" > - <set>Qt::LeftDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Input/Output</string> - </property> - <attribute name="dockWidgetArea" > - <number>1</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="PresenterTreeWidget" name="treeWidget" > - <property name="editTriggers" > - <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers</set> - </property> - <property name="tabKeyNavigation" > - <bool>true</bool> - </property> - <property name="dragEnabled" > - <bool>true</bool> - </property> - <property name="dragDropMode" > - <enum>QAbstractItemView::DragDrop</enum> - </property> - <property name="selectionMode" > - <enum>QAbstractItemView::MultiSelection</enum> - </property> - <property name="indentation" > - <number>40</number> - </property> - <property name="sortingEnabled" > - <bool>false</bool> - </property> - <property name="columnCount" > - <number>2</number> - </property> - <column> - <property name="text" > - <string>Input</string> - </property> - </column> - <column> - <property name="text" > - <string>Type</string> - </property> - </column> - </widget> - </item> - </layout> - </widget> - </widget> - <widget class="QDockWidget" name="toolsDockWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>80</height> - </size> - </property> - <property name="allowedAreas" > - <set>Qt::TopDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Tools</string> - </property> - <attribute name="dockWidgetArea" > - <number>4</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents_2" > - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QStackedWidget" name="toolBoxStackedWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>13</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>16</width> - <height>20</height> - </size> - </property> - <widget class="QWidget" name="page" /> - <widget class="QWidget" name="page_2" /> - </widget> - </item> - </layout> - </widget> - </widget> - <widget class="QDockWidget" name="messagesDockWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>500</height> - </size> - </property> - <property name="allowedAreas" > - <set>Qt::BottomDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Messages</string> - </property> - <attribute name="dockWidgetArea" > - <number>8</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents_4" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QTextEdit" name="messageTextEdit" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>30</height> - </size> - </property> - <property name="baseSize" > - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - <action name="actionNew" > - <property name="text" > - <string>New</string> - </property> - <property name="toolTip" > - <string>New File</string> - </property> - <property name="shortcut" > - <string>N</string> - </property> - </action> - <action name="actionAttach" > - <property name="text" > - <string>Attach</string> - </property> - <property name="toolTip" > - <string>Attach File</string> - </property> - <property name="shortcut" > - <string>A</string> - </property> - </action> - <action name="actionLoad_Configuration" > - <property name="text" > - <string>Load Configuration</string> - </property> - <property name="shortcut" > - <string>L</string> - </property> - </action> - <action name="actionSave_Configuration" > - <property name="text" > - <string>Save Configuration</string> - </property> - <property name="shortcut" > - <string>S</string> - </property> - </action> - <action name="actionInput_Output" > - <property name="text" > - <string>Input/Output</string> - </property> - <property name="shortcut" > - <string>I</string> - </property> - </action> - <action name="actionQuit" > - <property name="text" > - <string>Quit</string> - </property> - <property name="shortcut" > - <string>Q</string> - </property> - </action> - <action name="actionTools" > - <property name="text" > - <string>Tools</string> - </property> - <property name="shortcut" > - <string>T</string> - </property> - </action> - <action name="actionMessages" > - <property name="text" > - <string>Messages</string> - </property> - <property name="shortcut" > - <string>M</string> - </property> - </action> - <action name="actionDetach" > - <property name="text" > - <string>Detach</string> - </property> - <property name="shortcut" > - <string>D</string> - </property> - </action> - </widget> - <customwidgets> - <customwidget> - <class>PresenterTreeWidget</class> - <extends>QTreeWidget</extends> - <header>QatPresenter/PresenterTreeWidget.h</header> - </customwidget> - <customwidget> - <class>QatTabWidget</class> - <extends>QTabWidget</extends> - <header>QatPresenter/QatTabWidget.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections> - <connection> - <sender>actionInput_Output</sender> - <signal>triggered()</signal> - <receiver>inputOutputDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>143</x> - <y>416</y> - </hint> - </hints> - </connection> - <connection> - <sender>actionTools</sender> - <signal>triggered()</signal> - <receiver>toolsDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>423</x> - <y>76</y> - </hint> - </hints> - </connection> - <connection> - <sender>actionMessages</sender> - <signal>triggered()</signal> - <receiver>messagesDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>423</x> - <y>718</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp b/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp deleted file mode 100644 index de6d098ec70..00000000000 --- a/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "QatPresenter/PresenterTreeWidget.h" -PresenterTreeWidget::PresenterTreeWidget(QWidget *parent) : - QTreeWidget(parent) { -} - -PresenterTreeWidget::~PresenterTreeWidget() { -} - -void PresenterTreeWidget::dropEvent(QDropEvent *event) { - QAbstractItemView::dropEvent(event); - emit itemDropped(); -} diff --git a/graphics/Qat/QatPresenter/src/QatPresenter.pro b/graphics/Qat/QatPresenter/src/QatPresenter.pro deleted file mode 100644 index 6d77fd737f1..00000000000 --- a/graphics/Qat/QatPresenter/src/QatPresenter.pro +++ /dev/null @@ -1,31 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis -DESTDIR=../../../lib -FORMS=PresenterApplication.ui -CONFIG += qt debug -# Input -HEADERS += ../QatPresenter/QatTabBar.h \ - ../QatPresenter/QatTabWidget.h \ - ../QatPresenter/PresenterTreeWidget.h \ - ../QatPresenter/PresenterApplication.h - -SOURCES += QatTabBar.cpp \ - QatTabWidget.cpp \ - PresenterTreeWidget.cpp \ - PresenterApplication.cpp - -LIBS=-L/usr/local/lib -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -target.path=/usr/local/lib -headers.path=/usr/local/include/QatPresenter -headers.files= ../QatPresenter/*.h ../QatPresenter/*.icc ui_PresenterApplication.h - -INSTALLS += target -INSTALLS += headers - diff --git a/graphics/Qat/QatPresenter/src/QatTabBar.cpp b/graphics/Qat/QatPresenter/src/QatTabBar.cpp deleted file mode 100755 index 9e6023818a7..00000000000 --- a/graphics/Qat/QatPresenter/src/QatTabBar.cpp +++ /dev/null @@ -1,284 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include <QtCore/QTimer> -#include <QtGui/QApplication> -#include <QtGui/QMouseEvent> - -#include "QatPresenter/QatTabBar.h" - -class QatTabBar::Private -{ - public: - Private() - : mReorderStartTab( -1 ), - mReorderPreviousTab( -1 ), - mDragSwitchTab( -1 ), - mActivateDragSwitchTabTimer(nullptr), - mTabReorderingEnabled( false ), - mTabCloseActivatePrevious( false ) - { - } - - QPoint mDragStart; - int mReorderStartTab; - int mReorderPreviousTab; - int mDragSwitchTab; - QTimer *mActivateDragSwitchTabTimer; - - bool mTabReorderingEnabled; - bool mTabCloseActivatePrevious; - -}; - -QatTabBar::QatTabBar( QWidget *parent ) - : QTabBar( parent ), - m_d( new Private ) -{ - setAcceptDrops( true ); - setMouseTracking( true ); - - //m_d->mEnableCloseButtonTimer = new QTimer( this ); - //connect( m_d->mEnableCloseButtonTimer, SIGNAL( timeout() ), SLOT( enableCloseButton() ) ); - - m_d->mActivateDragSwitchTabTimer = new QTimer( this ); - m_d->mActivateDragSwitchTabTimer->setSingleShot( true ); - connect( m_d->mActivateDragSwitchTabTimer, SIGNAL( timeout() ), SLOT( activateDragSwitchTab() ) ); - - //connect( this, SIGNAL( layoutChanged() ), SLOT( onLayoutChange() ) ); -} - -QatTabBar::~QatTabBar() -{ - delete m_d; -} - -void QatTabBar::mouseDoubleClickEvent( QMouseEvent *event ) -{ - if ( event->button() != Qt::LeftButton ) - return; - - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit mouseDoubleClick( tab ); - return; - } - - QTabBar::mouseDoubleClickEvent( event ); -} - -void QatTabBar::mousePressEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::LeftButton ) { - //m_d->mEnableCloseButtonTimer->stop(); - m_d->mDragStart = event->pos(); - } else if( event->button() == Qt::RightButton ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit contextMenu( tab, mapToGlobal( event->pos() ) ); - return; - } - } - - QTabBar::mousePressEvent( event ); -} - -void QatTabBar::mouseMoveEvent( QMouseEvent *event ) -{ - if ( event->buttons() == Qt::LeftButton ) { - int tab = selectTab( event->pos() ); - if ( m_d->mDragSwitchTab && tab != m_d->mDragSwitchTab ) { - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; - } - - int delay = 5;//TK fixme KGlobalSettings::dndEventDelay(); - QPoint newPos = event->pos(); - if ( newPos.x() > m_d->mDragStart.x() + delay || newPos.x() < m_d->mDragStart.x() - delay || - newPos.y() > m_d->mDragStart.y() + delay || newPos.y() < m_d->mDragStart.y() - delay ) { - if ( tab != -1 ) { - emit initiateDrag( tab ); - return; - } - } - } else if ( event->buttons() == Qt::MidButton ) { - if ( m_d->mReorderStartTab == -1 ) { - int delay = 5;//TK fixme KGlobalSettings::dndEventDelay(); - QPoint newPos = event->pos(); - - if ( newPos.x() > m_d->mDragStart.x() + delay || newPos.x() < m_d->mDragStart.x() - delay || - newPos.y() > m_d->mDragStart.y() + delay || newPos.y() < m_d->mDragStart.y() - delay ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 && m_d->mTabReorderingEnabled ) { - m_d->mReorderStartTab = tab; - grabMouse( Qt::SizeAllCursor ); - return; - } - } - } else { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - int reorderStopTab = tab; - if ( m_d->mReorderStartTab != reorderStopTab && m_d->mReorderPreviousTab != reorderStopTab ) { - emit moveTab( m_d->mReorderStartTab, reorderStopTab ); - - m_d->mReorderPreviousTab = m_d->mReorderStartTab; - m_d->mReorderStartTab = reorderStopTab; - - return; - } - } - } - } - - QTabBar::mouseMoveEvent( event ); -} - - -void QatTabBar::activateDragSwitchTab() -{ - int tab = selectTab( mapFromGlobal( QCursor::pos() ) ); - if ( tab != -1 && m_d->mDragSwitchTab == tab ) - setCurrentIndex( m_d->mDragSwitchTab ); - - m_d->mDragSwitchTab = 0; -} - -void QatTabBar::mouseReleaseEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::MidButton ) { - if ( m_d->mReorderStartTab == -1 ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit mouseMiddleClick( tab ); - return; - } - } else { - releaseMouse(); - setCursor( Qt::ArrowCursor ); - m_d->mReorderStartTab = -1; - m_d->mReorderPreviousTab = -1; - } - } - - QTabBar::mouseReleaseEvent( event ); -} - -void QatTabBar::dragEnterEvent( QDragEnterEvent *event ) -{ - event->setAccepted( true ); - QTabBar::dragEnterEvent( event ); -} - -void QatTabBar::dragMoveEvent( QDragMoveEvent *event ) -{ - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - bool accept = false; - // The receivers of the testCanDecode() signal has to adjust - // 'accept' accordingly. - emit testCanDecode( event, accept ); - if ( accept && tab != currentIndex() ) { - m_d->mDragSwitchTab = tab; - m_d->mActivateDragSwitchTabTimer->start( QApplication::doubleClickInterval() * 2 ); - } - - event->setAccepted( accept ); - return; - } - - event->setAccepted( false ); - QTabBar::dragMoveEvent( event ); -} - -void QatTabBar::dropEvent( QDropEvent *event ) -{ - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; - emit receivedDropEvent( tab , event ); - return; - } - - QTabBar::dropEvent( event ); -} - -#ifndef QT_NO_WHEELEVENT -void QatTabBar::wheelEvent( QWheelEvent *event ) -{ - if ( event->orientation() == Qt::Horizontal ) - return; - - emit( wheelDelta( event->delta() ) ); -} -#endif - -bool QatTabBar::isTabReorderingEnabled() const -{ - return m_d->mTabReorderingEnabled; -} - -void QatTabBar::setTabReorderingEnabled( bool on ) -{ - m_d->mTabReorderingEnabled = on; -} - -bool QatTabBar::tabCloseActivatePrevious() const -{ - return m_d->mTabCloseActivatePrevious; -} - -void QatTabBar::setTabCloseActivatePrevious( bool on ) -{ - m_d->mTabCloseActivatePrevious = on; -} - - -void QatTabBar::tabLayoutChange() -{ - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; -} - -int QatTabBar::selectTab( const QPoint &pos ) const -{ - for ( int i = 0; i < count(); ++i ) - if ( tabRect( i ).contains( pos ) ) - return i; - - return -1; -} - diff --git a/graphics/Qat/QatPresenter/src/QatTabWidget.cpp b/graphics/Qat/QatPresenter/src/QatTabWidget.cpp deleted file mode 100755 index 62c53634909..00000000000 --- a/graphics/Qat/QatPresenter/src/QatTabWidget.cpp +++ /dev/null @@ -1,517 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include <QtGui/QApplication> -#include <QtGui/QDragMoveEvent> -#include <QtGui/QStyle> -#include <QtGui/QTextDocument> - -#include "QatPresenter/QatTabBar.h" - -#include "QatPresenter/QatTabWidget.h" - -class QatTabWidget::Private -{ - public: - Private( QatTabWidget *parent ) - : m_parent( parent ), - m_automaticResizeTabs( false ) - { - m_maxLength=30;m_minLength=3;//TK-fixme - m_currentMaxLength = m_minLength; - } - - QatTabWidget *m_parent; - bool m_automaticResizeTabs; - int m_maxLength; - int m_minLength; - int m_currentMaxLength; - - //holds the full names of the tab, otherwise all we - //know about is the shortened name - QStringList m_tabNames; - - bool isEmptyTabbarSpace( const QPoint & ) const; - void resizeTabs( int changedTabIndex = -1 ); - void updateTab( int index ); -}; - -//Added by TK: -QatTabBar* QatTabWidget::getQatTabBar() { - return static_cast<QatTabBar*>(tabBar()); -} - -bool QatTabWidget::Private::isEmptyTabbarSpace( const QPoint &point ) const -{ - QSize size( m_parent->tabBar()->sizeHint() ); - if ( ( m_parent->tabPosition() == QTabWidget::North && point.y() < size.height() ) || - ( m_parent->tabPosition() == QTabWidget::South && point.y() > (m_parent->height() - size.height() ) ) ) { - - QWidget *rightcorner = m_parent->cornerWidget( Qt::TopRightCorner ); - if ( rightcorner ) { - if ( point.x() >= m_parent->width()-rightcorner->width() ) - return false; - } - - QWidget *leftcorner = m_parent->cornerWidget( Qt::TopLeftCorner ); - if ( leftcorner ) { - if ( point.x() <= leftcorner->width() ) - return false; - } - - for ( int i = 0; i < m_parent->count(); ++i ) - if ( m_parent->tabBar()->tabRect( i ).contains( m_parent->tabBar()->mapFromParent( point ) ) ) - return false; - - return true; - } - - return false; -} - -void QatTabWidget::Private::resizeTabs( int changeTabIndex ) -{ - int newMaxLength; - if ( m_automaticResizeTabs ) { - // Calculate new max length - newMaxLength = m_maxLength; - int lcw = 0, rcw = 0; - - int tabBarHeight = m_parent->tabBar()->sizeHint().height(); - if ( m_parent->cornerWidget( Qt::TopLeftCorner ) && m_parent->cornerWidget( Qt::TopLeftCorner )->isVisible() ) - lcw = qMax( m_parent->cornerWidget( Qt::TopLeftCorner )->width(), tabBarHeight ); - - if ( m_parent->cornerWidget( Qt::TopRightCorner ) && m_parent->cornerWidget( Qt::TopRightCorner )->isVisible() ) - rcw = qMax( m_parent->cornerWidget( Qt::TopRightCorner )->width(), tabBarHeight ); - - int maxTabBarWidth = m_parent->width() - lcw - rcw; - - for ( ; newMaxLength > m_minLength; newMaxLength-- ) { - if ( m_parent->tabBarWidthForMaxChars( newMaxLength ) < maxTabBarWidth ) - break; - } - } else - newMaxLength = 4711; - - // Update hinted or all tabs - if ( m_currentMaxLength != newMaxLength ) { - m_currentMaxLength = newMaxLength; - for ( int i = 0; i < m_parent->count(); ++i ) - updateTab( i ); - } else if ( changeTabIndex != -1 ) - updateTab( changeTabIndex ); -} - -void QatTabWidget::Private::updateTab( int index ) -{ - QString title = m_automaticResizeTabs ? m_tabNames[ index ] : m_parent->QTabWidget::tabText( index ); - m_parent->setTabToolTip( index, QString() ); - - if ( title.length() > m_currentMaxLength ) { - if ( Qt::mightBeRichText( title ) ) - m_parent->setTabToolTip( index, Qt::escape( title ) ); - else - m_parent->setTabToolTip( index, title ); - } - - //TK-fixme. Just use elide here? - //TK-fixme title = KStringHandler::rsqueeze( title, m_currentMaxLength ).leftJustified( m_minLength, ' ' ); - title.replace( '&', "&&" ); - - if ( m_parent->QTabWidget::tabText( index ) != title ) - m_parent->QTabWidget::setTabText( index, title ); -} - -QatTabWidget::QatTabWidget( QWidget *parent, Qt::WFlags flags ) - : QTabWidget( parent ), - m_d( new Private( this ) ) -{ - setWindowFlags( flags ); - setTabBar( new QatTabBar( this ) ); - setObjectName( "tabbar" ); - setAcceptDrops( true ); - - connect(tabBar(), SIGNAL(contextMenu( int, const QPoint & )), SLOT(contextMenu( int, const QPoint & ))); - connect(tabBar(), SIGNAL(mouseDoubleClick( int )), SLOT(mouseDoubleClick( int ))); - connect(tabBar(), SIGNAL(mouseMiddleClick( int )), SLOT(mouseMiddleClick( int ))); - connect(tabBar(), SIGNAL(initiateDrag( int )), SLOT(initiateDrag( int ))); - connect(tabBar(), SIGNAL(testCanDecode(const QDragMoveEvent *, bool & )), SIGNAL(testCanDecode(const QDragMoveEvent *, bool & ))); - connect(tabBar(), SIGNAL(receivedDropEvent( int, QDropEvent * )), SLOT(receivedDropEvent( int, QDropEvent * ))); - connect(tabBar(), SIGNAL(moveTab( int, int )), SLOT(moveTab( int, int ))); - connect(tabBar(), SIGNAL(closeRequest( int )), SLOT(closeRequest( int ))); -#ifndef QT_NO_WHEELEVENT - connect(tabBar(), SIGNAL(wheelDelta( int )), SLOT(wheelDelta( int ))); -#endif -} - -QatTabWidget::~QatTabWidget() -{ - delete m_d; -} - -/*void QatTabWidget::insertTab( QWidget *child, const QString &label, int index ) -{ - QTabWidget::insertTab( child, label, index ); -} - -void QatTabWidget::insertTab( QWidget *child, const QIcon& iconset, const QString &label, int index ) -{ - QTabWidget::insertTab( child, iconset, label, index ); -} - -void QatTabWidget::insertTab( QWidget *child, QTab *tab, int index ) -{ - QTabWidget::insertTab( child, tab, index); - if ( m_d->m_automaticResizeTabs ) { - if ( index < 0 || index >= count() ) { - m_d->m_tabNames.append( tab->text() ); - m_d->resizeTabs( m_d->m_tabNames.count()-1 ); - } - else { - m_d->m_tabNames.insert( m_d->m_tabNames.at( index ), tab->text() ); - m_d->resizeTabs( index ); - } - } -}*/ - -void QatTabWidget::setTabBarHidden( bool hide ) -{ - QWidget *rightcorner = cornerWidget( Qt::TopRightCorner ); - QWidget *leftcorner = cornerWidget( Qt::TopLeftCorner ); - - if ( hide ) { - if ( leftcorner ) leftcorner->hide(); - if ( rightcorner ) rightcorner->hide(); - tabBar()->hide(); - } else { - tabBar()->show(); - if ( leftcorner ) leftcorner->show(); - if ( rightcorner ) rightcorner->show(); - } -} - -bool QatTabWidget::isTabBarHidden() const -{ - return !( tabBar()->isVisible() ); -} - -void QatTabWidget::setTabTextColor( int index, const QColor& color ) -{ - tabBar()->setTabTextColor( index, color ); -} - -QColor QatTabWidget::tabTextColor( int index ) const -{ - return tabBar()->tabTextColor( index ); -} - -void QatTabWidget::setTabReorderingEnabled( bool on) -{ - static_cast<QatTabBar*>(tabBar())->setTabReorderingEnabled( on ); -} - -bool QatTabWidget::isTabReorderingEnabled() const -{ - return static_cast<QatTabBar*>(tabBar())->isTabReorderingEnabled(); -} - -void QatTabWidget::setTabCloseActivatePrevious( bool previous) -{ - static_cast<QatTabBar*>(tabBar())->setTabCloseActivatePrevious( previous ); -} - -bool QatTabWidget::tabCloseActivatePrevious() const -{ - return static_cast<QatTabBar*>(tabBar())->tabCloseActivatePrevious(); -} - -int QatTabWidget::tabBarWidthForMaxChars( int /*maxLength*/ ) -{ - int hframe; //, overlap; // overlap not used so far... - - hframe = tabBar()->style()->pixelMetric( QStyle::PM_TabBarTabHSpace, 0L, tabBar() ); - //overlap = tabBar()->style()->pixelMetric( QStyle::PM_TabBarTabOverlap, 0L, tabBar() ); // not used so far... - - QFontMetrics fm = tabBar()->fontMetrics(); - int x = 0; - for ( int i = 0; i < count(); ++i ) { - QString newTitle = m_d->m_tabNames[ i ]; - //TK-fixme. Just use elide here? - //TK-fixme newTitle = KStringHandler::rsqueeze( newTitle, maxLength ).leftJustified( m_d->m_minLength, ' ' ); - - int lw = fm.width( newTitle ); - int iw = 0; - if ( !tabBar()->tabIcon( i ).isNull() ){ - iw = tabBar()->tabIcon( i ).pixmap( style()->pixelMetric( QStyle::PM_SmallIconSize ), QIcon::Normal ).width() + 4; - } - x += ( tabBar()->style()->sizeFromContents( QStyle::CT_TabBarTab, 0L, - QSize( qMax( lw + hframe + iw, QApplication::globalStrut().width() ), 0 ), - this ) ).width(); - } - - return x; -} - -QString QatTabWidget::tabText( int index ) const -{ - if ( m_d->m_automaticResizeTabs ) { - if ( index >= 0 && index < count() ) - return m_d->m_tabNames[ index ]; - else - return QString(); - } - else - return QTabWidget::tabText( index ); -} - -void QatTabWidget::setTabText( int index, const QString &text ) -{ - QTabWidget::setTabText( index, text ); - if ( m_d->m_automaticResizeTabs ) { - if ( index != -1 ) { - m_d->m_tabNames[ index ] = text; - m_d->resizeTabs( index ); - } - } -} - - -void QatTabWidget::dragEnterEvent( QDragEnterEvent *event ) -{ - event->setAccepted( true ); - QTabWidget::dragEnterEvent( event ); -} - -void QatTabWidget::dragMoveEvent( QDragMoveEvent *event ) -{ - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - bool accept = false; - // The receivers of the testCanDecode() signal has to adjust - // 'accept' accordingly. - emit testCanDecode( event, accept); - - event->setAccepted( accept ); - return; - } - - event->setAccepted( false ); - QTabWidget::dragMoveEvent( event ); -} - -void QatTabWidget::dropEvent( QDropEvent *event ) -{ - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit ( receivedDropEvent( event ) ); - return; - } - - QTabWidget::dropEvent( event ); -} - -#ifndef QT_NO_WHEELEVENT -void QatTabWidget::wheelEvent( QWheelEvent *event ) -{ - if ( event->orientation() == Qt::Horizontal ) - return; - - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) - wheelDelta( event->delta() ); - else - event->ignore(); -} - -void QatTabWidget::wheelDelta( int delta ) -{ - if ( count() < 2 ) - return; - - int page = currentIndex(); - if ( delta < 0 ) - page = (page + 1) % count(); - else { - page--; - if ( page < 0 ) - page = count() - 1; - } - setCurrentIndex( page ); -} -#endif - -void QatTabWidget::mouseDoubleClickEvent( QMouseEvent *event ) -{ - if ( event->button() != Qt::LeftButton ) - return; - - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( mouseDoubleClick() ); - return; - } - - QTabWidget::mouseDoubleClickEvent( event ); -} - -void QatTabWidget::mousePressEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::RightButton ) { - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( contextMenu( mapToGlobal( event->pos() ) ) ); - return; - } - } else if ( event->button() == Qt::MidButton ) { - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( mouseMiddleClick() ); - return; - } - } - - QTabWidget::mousePressEvent( event ); -} - -void QatTabWidget::receivedDropEvent( int index, QDropEvent *event ) -{ - emit( receivedDropEvent( widget( index ), event ) ); -} - -void QatTabWidget::initiateDrag( int index ) -{ - emit( initiateDrag( widget( index ) ) ); -} - -void QatTabWidget::contextMenu( int index, const QPoint &point ) -{ - emit( contextMenu( widget( index ), point ) ); -} - -void QatTabWidget::mouseDoubleClick( int index ) -{ - emit( mouseDoubleClick( widget( index ) ) ); -} - -void QatTabWidget::mouseMiddleClick( int index ) -{ - emit( mouseMiddleClick( widget( index ) ) ); -} - -void QatTabWidget::moveTab( int from, int to ) -{ - QString tablabel = tabText( from ); - QWidget *w = widget( from ); - QColor color = tabTextColor( from ); - QIcon tabiconset = tabIcon( from ); - QString tabtooltip = tabToolTip( from ); - bool current = ( from == currentIndex() ); - bool enabled = isTabEnabled( from ); - - bool blocked = blockSignals( true ); - removeTab( from ); - - // Work-around kmdi brain damage which calls showPage() in insertTab() - insertTab( to, w, tablabel ); - if ( m_d->m_automaticResizeTabs ) { - if ( to < 0 || to >= count() ) - m_d->m_tabNames.append( QString() ); - else - m_d->m_tabNames.insert( to, QString() ); - } - - setTabIcon( to, tabiconset ); - setTabText( to, tablabel ); - setTabToolTip( to, tabtooltip ); - setTabTextColor( to, color ); - if ( current ) - setCurrentIndex( to ); - setTabEnabled( to, enabled ); - blockSignals( blocked ); - - emit ( movedTab( from, to ) ); -} - -void QatTabWidget::removePage( QWidget *widget ) -{ - QTabWidget::removeTab( indexOf( widget ) ); - if ( m_d->m_automaticResizeTabs ) - m_d->resizeTabs(); -} - -void QatTabWidget::removeTab( int index ) -{ - QTabWidget::removeTab( index ); - if ( m_d->m_automaticResizeTabs ) - m_d->resizeTabs(); -} - -void QatTabWidget::setAutomaticResizeTabs( bool enabled ) -{ - if ( m_d->m_automaticResizeTabs == enabled ) - return; - - m_d->m_automaticResizeTabs = enabled; - if ( enabled ) { - m_d->m_tabNames.clear(); - for ( int i = 0; i < count(); ++i ) - m_d->m_tabNames.append( tabBar()->tabText( i ) ); - } else - for ( int i = 0; i < count(); ++i ) - tabBar()->setTabText( i, m_d->m_tabNames[ i ] ); - - m_d->resizeTabs(); -} - -bool QatTabWidget::automaticResizeTabs() const -{ - return m_d->m_automaticResizeTabs; -} - -void QatTabWidget::closeRequest( int index ) -{ - emit( closeRequest( widget( index ) ) ); -} - -void QatTabWidget::resizeEvent( QResizeEvent *event ) -{ - QTabWidget::resizeEvent( event ); - m_d->resizeTabs(); -} - -void QatTabWidget::tabInserted( int idx ) -{ - m_d->m_tabNames.insert( idx, tabBar()->tabText( idx ) ); -} - -void QatTabWidget::tabRemoved( int idx ) -{ - m_d->m_tabNames.removeAt( idx ); -} diff --git a/graphics/Qat/QatPresenterApp/CMakeLists.txt b/graphics/Qat/QatPresenterApp/CMakeLists.txt deleted file mode 100644 index dca081acac6..00000000000 --- a/graphics/Qat/QatPresenterApp/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -################################################################################ -# Package: QatPresenterApp -################################################################################ - -# Declare the package name: -atlas_subdir( QatPresenterApp ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatPresenter ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -# set additional compilation flags -SET(MY_GCC_COMPILE_FLAGS "-g -O0") -SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_GCC_COMPILE_FLAGS}" ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_executable( present - src/present.cpp - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES ${QT4_LIBRARIES} GL QatPresenter) - diff --git a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp b/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp deleted file mode 100644 index 03ae2ad42db..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include "QatProjectForm.h" -#include <QMessageBox> -#include <QFileDialog> -#include <QCheckBox> -#include <QRadioButton> -#include <iostream> -#include <string> -#include <unistd.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <errno.h> - -QatProjectForm::QatProjectForm(QWidget *parent) : - QWidget(parent) -{ - ui.setupUi(this); - connect(ui.quitButton, SIGNAL(clicked()), qApp, SLOT(closeAllWindows())); - connect(ui.createProjectButton, SIGNAL(clicked()), this, SLOT(createProject())); - connect(ui.programNameLineEdit, SIGNAL(editingFinished()), this, SLOT(editingFinished())); - connect(ui.directoryNamePushButton, SIGNAL(clicked()), this, SLOT(changeDir())); -} - -QatProjectForm::~QatProjectForm() { -} - -void QatProjectForm::createProject() { - - std::string programName = ui.programNameLineEdit->text().toStdString(); - if (programName=="") { - - QMessageBox::warning(this, tr("upvs-project"), - tr("You must select a name for your program"), - QMessageBox::Ok); - - return; - } - - std::string directoryName = ui.directoryLabel->text().toStdString(); - if (directoryName=="") { - - QMessageBox::warning(this, tr("upvs-project"), - tr("You must select a directory for your program"), - QMessageBox::Ok); - - return; - } - - - bool plotView=ui.plotViewCheckBox->isChecked(); - enum Type {ZeroToZero, OneToZero, NToZero, ZeroToOne, OneToOne, NToOne}; - - Type type = ZeroToZero; - if (ui.zeroToOneRadioButton->isChecked()) type=ZeroToOne; - if (ui.oneToOneRadioButton->isChecked()) type=OneToOne; - if (ui.nToOneRadioButton->isChecked()) type=NToOne; - if (ui.nToZeroRadioButton->isChecked()) type=NToZero; - if (ui.oneToZeroRadioButton->isChecked()) type=OneToZero; - - - // Make the directory: - if (mkdir(directoryName.c_str(), 0755)) { - QMessageBox::warning(this, tr("upvs-project"), - QString("Error creating directory ") + QString(directoryName.c_str())+ QString(": ") + QString(strerror(errno)), - QMessageBox::Ok); - - return; - } - mkdir((directoryName+"/src").c_str(),0755); - system ((std::string("cp /usr/local/share/templates/qt.pro ") + directoryName+"/src").c_str()); - -#ifdef __APPLE__ - system (("sed -i .orig s/\"<app>\"/" + programName + "/g " + directoryName + "/src/qt.pro").c_str()); -#else - system (("sed -i s/\\<app\\>/" + programName + "/g " + directoryName + "/src/qt.pro").c_str()); -#endif - // There are eight templates. Choose one of them: - if (plotView) { - if (type==ZeroToZero) system (("cp /usr/local/share/templates/templateZeroToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToZero) system (("cp /usr/local/share/templates/templateOneToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToZero) system (("cp /usr/local/share/templates/templateNToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==ZeroToOne) system (("cp /usr/local/share/templates/templateZeroToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToOne) system (("cp /usr/local/share/templates/templateOneToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToOne) system (("cp /usr/local/share/templates/templateNToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - } - else { - if (type==ZeroToZero) system (("cp /usr/local/share/templates/templateZeroToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToZero) system (("cp /usr/local/share/templates/templateOneToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToZero) system (("cp /usr/local/share/templates/templateNToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==ZeroToOne) system (("cp /usr/local/share/templates/templateZeroToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToOne) system (("cp /usr/local/share/templates/templateOneToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToOne) system (("cp /usr/local/share/templates/templateNToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - } - - qApp->closeAllWindows(); - - -} - -void QatProjectForm::editingFinished() { - char BUFF[1024]; - if (!ui.programNameLineEdit->text().isEmpty() && ui.directoryLabel->text().isEmpty()) - ui.directoryLabel->setText(QString(getcwd(BUFF,1024))+QString("/")+ui.programNameLineEdit->text().toUpper()); -} - -void QatProjectForm::changeDir() { - char BUFF[1024]; - QString fileName = QFileDialog::getSaveFileName(this, tr("Set Project Directory"), - getcwd(BUFF,1024), - QString(""), - NULL, - QFileDialog::ShowDirsOnly); - ui.directoryLabel->setText(fileName); -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h b/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h deleted file mode 100644 index b7ba95a8772..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _QatPROJECTFORM_H_ -#define _QatPROJECTFORM_H_ -#include <QWidget> -#include "ui_qat-project.h" - -class QatProjectForm : public QWidget { - - Q_OBJECT - - public: - - - // Constructor - QatProjectForm(QWidget *parent=NULL); - - // Destructor: - ~QatProjectForm(); - - private: - - Ui::QatProjectForm ui; - - public slots: - - void editingFinished(); - void createProject(); - void changeDir(); - - - -}; -#endif diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro deleted file mode 100644 index 5ff4f49b36b..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro +++ /dev/null @@ -1,19 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon Sep 28 11:05:54 2009 -###################################################################### - -TEMPLATE = app -TARGET = <app> -DESTDIR = ../local/bin -DEPENDPATH += . -INCLUDEPATH += . .. -LIBS=-lQatPlotWidgets -lQatPlotting -lQatDataModeling -lgfortran -lQatDataAnalysis -lCLHEP -lgsl -lgslcblas -ldl - -CONFIG += qt debug - -# Input -SOURCES += <app>.cpp - -mac { - CONFIG -= app_bundle -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp deleted file mode 100644 index e08dd69637c..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIONToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp deleted file mode 100644 index 8aae43b68b0..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIONToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp deleted file mode 100644 index a047047a911..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIONToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp deleted file mode 100644 index 72c5632692a..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIONToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp deleted file mode 100644 index cfeb2290fd5..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOOneToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp deleted file mode 100644 index 27f06ef305d..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOOneToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp deleted file mode 100644 index b696b821c8f..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOOneToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp deleted file mode 100644 index 4754c3f3eed..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOOneToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp deleted file mode 100644 index e44cb242647..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOZeroToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp deleted file mode 100644 index 66430105a20..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOZeroToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp deleted file mode 100644 index f8e769d4465..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0]; - if (argc!=1) { - std::cout << usage << std::endl; - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp deleted file mode 100644 index d9116e03111..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0]; - if (argc!=1) { - std::cout << usage << std::endl; - } - - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp b/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp deleted file mode 100644 index 98ee1c4f4fc..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// This is a program to write a program: -#include "QatProjectForm.h" -#include <QApplication> - -int main (int argc, char ** argv) { - - QApplication *app = new QApplication(argc, argv); - QatProjectForm *form = new QatProjectForm(NULL); - form->show(); - return app->exec(); - -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui b/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui deleted file mode 100644 index 73f035bc2a2..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui +++ /dev/null @@ -1,155 +0,0 @@ -<ui version="4.0" > - <class>QatProjectForm</class> - <widget class="QWidget" name="QatProjectForm" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>463</width> - <height>344</height> - </rect> - </property> - <property name="windowTitle" > - <string>qat-project</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="2" colspan="2" > - <widget class="QCheckBox" name="plotViewCheckBox" > - <property name="text" > - <string>With PlotView</string> - </property> - </widget> - </item> - <item row="2" column="0" colspan="2" > - <widget class="QGroupBox" name="hioGroupBox" > - <property name="title" > - <string>Histogram I/O</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QRadioButton" name="zeroToOneRadioButton" > - <property name="text" > - <string>0 --> 1</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QRadioButton" name="oneToOneRadioButton" > - <property name="text" > - <string>1 --> 1</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QRadioButton" name="nToOneRadioButton" > - <property name="text" > - <string>N --> 1</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QRadioButton" name="oneToZeroRadioButton" > - <property name="text" > - <string>1 --> 0</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QRadioButton" name="nToZeroRadioButton" > - <property name="text" > - <string>N --> 0</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QRadioButton" name="zeroToZeroRadioButton" > - <property name="text" > - <string>0 --> 0</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="3" > - <widget class="QPushButton" name="directoryNamePushButton" > - <property name="text" > - <string>Change</string> - </property> - </widget> - </item> - <item row="1" column="1" colspan="2" > - <widget class="QLabel" name="directoryLabel" > - <property name="frameShape" > - <enum>QFrame::Box</enum> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="directoryNameLabel" > - <property name="text" > - <string>Directory name</string> - </property> - </widget> - </item> - <item row="0" column="1" colspan="2" > - <widget class="QLineEdit" name="programNameLineEdit" /> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="programNameLabel" > - <property name="text" > - <string>Program name</string> - </property> - </widget> - </item> - <item row="3" column="0" colspan="2" > - <widget class="QPushButton" name="quitButton" > - <property name="text" > - <string>Quit</string> - </property> - <property name="shortcut" > - <string>Q</string> - </property> - </widget> - </item> - <item row="3" column="2" colspan="2" > - <widget class="QPushButton" name="createProjectButton" > - <property name="text" > - <string>Create Project</string> - </property> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>programNameLineEdit</tabstop> - <tabstop>directoryNamePushButton</tabstop> - <tabstop>zeroToZeroRadioButton</tabstop> - <tabstop>zeroToOneRadioButton</tabstop> - <tabstop>oneToOneRadioButton</tabstop> - <tabstop>nToOneRadioButton</tabstop> - <tabstop>plotViewCheckBox</tabstop> - <tabstop>quitButton</tabstop> - <tabstop>createProjectButton</tabstop> - </tabstops> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPresenterApp/qat-project/qt.pro b/graphics/Qat/QatPresenterApp/qat-project/qt.pro deleted file mode 100644 index cc4b162945e..00000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qt.pro +++ /dev/null @@ -1,25 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon Feb 1 12:06:28 2010 -###################################################################### - -TEMPLATE = app -TARGET = qat-project -DEPENDPATH += . -INCLUDEPATH += . - -# Input -FORMS += qat-project.ui -SOURCES += qat-project.cpp QatProjectForm.cpp -HEADERS += QatProjectForm.h - -INSTALLS += target -target.path=/usr/local/bin - -templates.path = /usr/local/share/templates -templates.files = TEMPLATES/*.cpp TEMPLATES/*.pro -INSTALLS += templates -mac { - CONFIG -= app_bundle -} - - diff --git a/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro b/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro deleted file mode 100644 index 532ba812b0d..00000000000 --- a/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro +++ /dev/null @@ -1,21 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = app -TARGET = present -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../bin -CONFIG += qt debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran - -SOURCES += present.cpp - -target.path=/usr/local/bin - -INSTALLS += target - -mac { - CONFIG -= app_bundle -} diff --git a/graphics/Qat/QatPresenterApp/src/present.cpp b/graphics/Qat/QatPresenterApp/src/present.cpp deleted file mode 100644 index ffb0b49b6ce..00000000000 --- a/graphics/Qat/QatPresenterApp/src/present.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "QatPresenter/PresenterApplication.h" -#include <QtGui/QApplication> -#include <string> -#include <iostream> -#include <cstring> -#include <unistd.h> -#include <cstdlib> -int main(int argc, char ** argv) { - - char * cmtpath_env=getenv("CMTPATH"); - char * cmtconfig_env=getenv("CMTCONFIG"); - - std::string cmtpath = cmtpath_env ? cmtpath_env: ""; - std::string cmtconfig = cmtconfig_env ? cmtconfig_env:""; - - - QApplication app(argc,argv); - - if (cmtpath_env && cmtconfig_env) { - int begin=0; - while (1) { - int end=cmtpath.find(":",begin); - std::string tok = cmtpath.substr(begin,end-begin); - tok += "/InstallArea/"; - tok += cmtconfig; - tok += "/lib/qatplugins"; - app.addLibraryPath(tok.c_str()); - begin=end+1; - if (end==(int) cmtpath.npos) break; - } - } - else { - app.addLibraryPath("/usr/local/share/qatplugins"); - } - - PresenterApplication presenter; - - // Get Vis Dirs: - char *visDir=getenv("PRESENTER_VIS_DIR"); - if (visDir) { - char *thisDir=strtok(visDir,(char *)":"); - while (thisDir) { - presenter.addVisFunctionDirectory(thisDir); - thisDir=strtok(NULL, (char *) ":"); - } - } - else { - presenter.addVisFunctionDirectory("/usr/local/share/"); - } - - presenter.readVisFunctions(); - - if (argc==1) { - } - else if ((argc==2) && std::string(argv[1]).find(".pres")!=std::string::npos) { - presenter.load(argv[1]); - } - else { - for (int c=1;c<argc;c++) { - presenter.open(argv[c]); - } - } - presenter.show(); - return app.exec(); -} diff --git a/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt b/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt deleted file mode 100644 index b615a38d709..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: QatSpreadsheetSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatSpreadsheetSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatDataAnalysis - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatSpreadsheetSystem ) - diff --git a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h b/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h deleted file mode 100644 index d7dc709dafc..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _SPREADSHEETSYSTEM_H_ -#define _SPREADSHEETSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class HistogramManager; -class SpreadsheetSystem:public DASystem { -public: - - SpreadsheetSystem(); - - virtual ~SpreadsheetSystem(); - - virtual QString name() { return QString("SpreadsheetSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual void update(); - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual SpreadsheetSystem *clone() const; - - - private: - - // It is illegal to copy or assign: - SpreadsheetSystem(const SpreadsheetSystem &); - SpreadsheetSystem & operator=(const SpreadsheetSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class SpreadsheetSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h b/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h deleted file mode 100644 index c7b69cdaa94..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _SPREADSHEETSYSTEMMAINWIDGET_H_ -#define _SPREADSHEETSYSTEMMAINWIDGET_H_ -class Table; -class QTableWidgetItem; -class SpreadsheetSystem; -#include <QtGui/QWidget> -namespace Ui { - class SpreadsheetSystemMainWidget; -} - -class SpreadsheetSystemMainWidget: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - SpreadsheetSystemMainWidget(QWidget *parent=NULL,SpreadsheetSystem *system=NULL); - - // Destructor: - ~SpreadsheetSystemMainWidget(); - - int getPosition() const; - int getNRows() const; - - const Table * table() const; - void setTable (const Table * table); - - Ui::SpreadsheetSystemMainWidget & ui(); - - public slots: - - void increment(); - void decrement(); - void changeNRows(int i); - void changePosition(int i); - void update(); - void edit (QTableWidgetItem *item); - - private: - - class Clockwork; - Clockwork *c; - -}; - -#endif diff --git a/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro b/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro deleted file mode 100644 index b1a7ed8dc33..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=SpreadsheetSystemMainWidget.ui - -SOURCES += SpreadsheetSystem.cpp SpreadsheetSystemMainWidget.cpp -HEADERS += ../QatSpreadsheetSystem/SpreadsheetSystem.h ../QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp deleted file mode 100644 index 2555250b171..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "QatSpreadsheetSystem/SpreadsheetSystem.h" -#include "QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatDataAnalysis/HistogramManager.h" -#include <QObject> -#include <QtGui/QTreeWidget> -#include <stdexcept> -#include <iostream> -#include "ui_SpreadsheetSystemMainWidget.h" - -class SpreadsheetSystemMainWidget; -class SpreadsheetSystem::Clockwork { -public: - SpreadsheetSystemMainWidget *mainWidget; - QWidget *toolWidget; -}; - -SpreadsheetSystem::SpreadsheetSystem ():c(new Clockwork()) { - - c->mainWidget=new SpreadsheetSystemMainWidget(NULL,this); - c->toolWidget = new QWidget(); - -} - -SpreadsheetSystem::~SpreadsheetSystem() { - delete c; -} - -QWidget *SpreadsheetSystem::mainWidget() const { - return c->mainWidget; -} - -QWidget *SpreadsheetSystem::toolWidget() const { - return c->toolWidget; -} - - -void SpreadsheetSystem::update() { - - if (tableSet()->size()==1) { - const Table *table=(*tableSet())[0]; - c->mainWidget->setTable(table); - } - else { - c->mainWidget->setTable(NULL); - } - - c->mainWidget->update(); - - -} - - - -QByteArray SpreadsheetSystem::saveState() { - Serializer serializer(0); - serializer.save(c->mainWidget->ui().nRowsSpinBox); - serializer.save(c->mainWidget->ui().positionSpinBox); - // serializer.save(presenterTreeWidget()); - return serializer.result(); -} - -void SpreadsheetSystem::restoreFromState (QByteArray ba){ - - Deserializer state(ba); - if (state.version()!=0) throw std::runtime_error ("Wrong version code in SpreadsheetSystem::restoreFromState"); - state.restore(c->mainWidget->ui().nRowsSpinBox); - state.restore(c->mainWidget->ui().positionSpinBox); - //state.restore(presenterTreeWidget()); -} - - - -//=====================Boilerplate======================// - -SpreadsheetSystem *SpreadsheetSystem::clone() const { - return new SpreadsheetSystem(); -} - -DASystem *SpreadsheetSystemFactory::newSystem() const { - return new SpreadsheetSystem(); -} - -Q_EXPORT_PLUGIN2(SpreadsheetSystemPlugin, SpreadsheetSystemFactory) diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp deleted file mode 100644 index 0aa2fdb97b1..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp +++ /dev/null @@ -1,198 +0,0 @@ -#include "QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h" -#include "QatSpreadsheetSystem/SpreadsheetSystem.h" -#include "QatDataAnalysis/Table.h" -#include <QtGui/QScrollBar> -#include "ui_SpreadsheetSystemMainWidget.h" -#include <iostream> -#include <sstream> -class SpreadsheetSystemMainWidget::Clockwork { - public: - SpreadsheetSystem *system; - int position; - int nRows; - const Table *table; - Ui::SpreadsheetSystemMainWidget ui; -}; - -Ui::SpreadsheetSystemMainWidget & SpreadsheetSystemMainWidget::ui() { - return c->ui; -} - - -SpreadsheetSystemMainWidget::SpreadsheetSystemMainWidget (QWidget *parent,SpreadsheetSystem *system): - QWidget(parent), - c(new Clockwork()){ - c->ui.setupUi(this); - QObject::connect(c->ui.previousButton, SIGNAL(clicked()), this, SLOT(decrement())); - QObject::connect(c->ui.nextButton, SIGNAL(clicked()), this, SLOT(increment())); - QObject::connect(c->ui.nRowsSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeNRows(int))); - QObject::connect(c->ui.positionSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePosition(int))); - - c->nRows=c->ui.nRowsSpinBox->value(); - c->position=c->ui.positionSpinBox->value(); - c->system=system; -} - -SpreadsheetSystemMainWidget::~SpreadsheetSystemMainWidget () { - delete c; -} -void SpreadsheetSystemMainWidget::increment() { - // Make double sure: - if (!c->table) return; - - c->position += c->nRows; - if (c->position>= int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - c->ui.positionSpinBox->setValue(c->position); -} - -void SpreadsheetSystemMainWidget::decrement() { - // Make double sure: - if (!c->table) return; - - c->position -= c->nRows; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); -} - -void SpreadsheetSystemMainWidget::changeNRows(int n) { - // Make double sure: - if (!c->table) return; - - c->nRows=n; - if (c->position>=int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); - update(); -} - -void SpreadsheetSystemMainWidget::changePosition(int p) { - - // Make double sure: - if (!c->table) return; - - c->position=p; - if (c->position>=int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); - update(); -} - -const Table * SpreadsheetSystemMainWidget::table() const { - return c->table; -} - -void SpreadsheetSystemMainWidget::setTable (const Table * table) { - - c->ui.positionSpinBox->setEnabled(table); - c->ui.nRowsSpinBox->setEnabled(table); - c->ui.nextButton->setEnabled(table); - c->ui.nextButton->setEnabled(table); - if (table) c->ui.tableNameLabel->setText(table->name().c_str()); - else c->ui.tableNameLabel->setText(""); - - - c->table=table; -} - -int SpreadsheetSystemMainWidget::getNRows() const { - return c->nRows; -} - -int SpreadsheetSystemMainWidget::getPosition() const { - return c->position; -} - - -void SpreadsheetSystemMainWidget::update() { - - int scrollPosition=c->ui.tableWidget->horizontalScrollBar()->value(); - c->ui.tableWidget->clear(); - c->ui.tableWidget->setRowCount(0); - c->ui.tableWidget->setColumnCount(0); - c->ui.tableWidget->update(); - - if (!c->table) { - return; - } - - - unsigned int startRow=getPosition(); - unsigned int numRows =getNRows(); - - c->ui.tableWidget->setRowCount(numRows); - c->ui.tableWidget->setColumnCount(c->table->numAttributes()); - - - for (int a=0;a<c->nRows;a++) { - QTableWidgetItem *vh = new QTableWidgetItem(); - std::ostringstream tStream; - tStream << a+startRow; - vh->setText(tStream.str().c_str()); - c->ui.tableWidget->setVerticalHeaderItem(a,vh); - } - - - for (unsigned int n=0;n<c->table->numAttributes();n++) { - const Attribute & attribute=c->table->attribute(n); - - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(attribute.name().c_str()); - c->ui.tableWidget->setHorizontalHeaderItem(n,item); - for (unsigned int a=0;a<numRows;a++) { - if (a+startRow < c->table->numTuples()) { - float F=0; - double D=0; - int I=0; - unsigned int UI=0; - - if (attribute.type()==Attribute::FLOAT) { - - c->table->read(a+startRow, attribute.name(), F); - std::ostringstream output; - output << F; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - if (attribute.type()==Attribute::DOUBLE) { - c->table->read(a+startRow, attribute.name(), D); - std::ostringstream output; - output << D; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - else if (attribute.type()==Attribute::INT) { - c->table->read(a+startRow, attribute.name(), I); - std::ostringstream output; - output << I; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - else if (attribute.type()==Attribute::UINT) { - c->table->read(a+startRow, attribute.name(), UI); - std::ostringstream output; - output << UI; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - } - } - } - } - - for (unsigned int n=0;n<c->table->numAttributes();n++) { - c->ui.tableWidget->resizeColumnToContents(n); - } - c->ui.tableWidget->horizontalScrollBar()->setValue(scrollPosition); - -} - -void SpreadsheetSystemMainWidget::edit (QTableWidgetItem* /*item*/) { -// Not yet implemented but needed to satisfy linking on MacOSX -} - diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui deleted file mode 100644 index da0dfdef9c4..00000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui +++ /dev/null @@ -1,99 +0,0 @@ -<ui version="4.0" > - <class>SpreadsheetSystemMainWidget</class> - <widget class="QWidget" name="SpreadsheetSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>676</width> - <height>516</height> - </rect> - </property> - <property name="windowTitle" > - <string>Spreadsheet System</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="tableNameLabel" > - <property name="font" > - <font> - <pointsize>17</pointsize> - </font> - </property> - <property name="text" > - <string>Table:</string> - </property> - </widget> - </item> - <item row="1" column="0" colspan="6" > - <widget class="QTableWidget" name="tableWidget" /> - </item> - <item row="2" column="3" > - <widget class="QSpinBox" name="nRowsSpinBox" > - <property name="value" > - <number>20</number> - </property> - </widget> - </item> - <item row="2" column="5" > - <widget class="QSpinBox" name="positionSpinBox" > - <property name="maximum" > - <number>1000000000</number> - </property> - <property name="minimum" > - <number>0</number> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QPushButton" name="nextButton" > - <property name="text" > - <string>Next</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QPushButton" name="previousButton" > - <property name="text" > - <string>Previous</string> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QLabel" name="nRowsLabel" > - <property name="text" > - <string>Rows</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="2" column="4" > - <widget class="QLabel" name="positionLabel" > - <property name="text" > - <string>Position</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>tableWidget</tabstop> - <tabstop>previousButton</tabstop> - <tabstop>nextButton</tabstop> - <tabstop>nRowsSpinBox</tabstop> - <tabstop>positionSpinBox</tabstop> - </tabstops> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatSystemInterfaces/CMakeLists.txt b/graphics/Qat/QatSystemInterfaces/CMakeLists.txt deleted file mode 100644 index d23161a6d8a..00000000000 --- a/graphics/Qat/QatSystemInterfaces/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# Package: QatSystemInterfaces -################################################################################ - -# Declare the package name: -atlas_subdir( QatSystemInterfaces ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatPlotWidgets - graphics/Qat/QatPlotting ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatSystemInterfaces QatSystemInterfaces/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatSystemInterfaces - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES ${QT4_LIBRARIES} GL - PRIVATE_LINK_LIBRARIES QatPlotWidgets QatPlotting ) - diff --git a/graphics/Qat/QatSystemInterfaces/Changelog b/graphics/Qat/QatSystemInterfaces/Changelog deleted file mode 100644 index d2a192df93e..00000000000 --- a/graphics/Qat/QatSystemInterfaces/Changelog +++ /dev/null @@ -1,6 +0,0 @@ -2016-10-03 Shaun Roe - * Create Changelog - * fix coverity: -16353 09/07/2014 (Medium) Dereference after null check :/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp in function "restore" - * tag as QatSystemInterfaces-00-00-07 - diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h deleted file mode 100644 index 581c84d55f4..00000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef QATSYSTEMINTERFACES_HISTOLOCATOR_H -#define QATSYSTEMINTERFACES_HISTOLOCATOR_H - -class HistoLocator1D { - - public: - - // Constructor: - HistoLocator1D(){}; - - // Destructor: - ~HistoLocator1D(){}; - - // Insert - void insert(const Hist1D *histo, std::string & name) { - m_histoMap[histo]=name; - m_nameMap [name ]=histo; - } - - // Find forward - const std::string *find (const Hist1D *histo) const { - std::map<const Hist1D *, std::string>::const_iterator h=m_histoMap.find(histo); - return h==m_histoMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const Hist1D *find (const std::string & name) const { - std::map<std::string, const Hist1D *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const Hist1D *, std::string> m_histoMap; - std::map<std::string, const Hist1D *> m_nameMap; - -}; - - -class HistoLocator2D { - - public: - - // Constructor: - HistoLocator2D(){}; - - // Destructor: - ~HistoLocator2D(){}; - - // Insert - void insert(const Hist2D *histo, std::string & name) { - m_histoMap[histo]=name; - m_nameMap [name ]=histo; - } - - // Find forward - const std::string *find (const Hist2D *histo) const { - std::map<const Hist2D *, std::string>::const_iterator h=m_histoMap.find(histo); - return h==m_histoMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const Hist2D *find (const std::string & name) const { - std::map<std::string, const Hist2D *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const Hist2D *, std::string> m_histoMap; - std::map<std::string, const Hist2D *> m_nameMap; - -}; - - - -class VisFunctionLocator { - - public: - - // Constructor: - VisFunctionLocator(){}; - - // Destructor: - ~VisFunctionLocator(){}; - - // Insert - void insert(const VisFunction *vis, std::string & name) { - m_visMap[vis]=name; - m_nameMap [name ]=vis; - } - - // Find forward - const std::string *find (const VisFunction *vis) const { - std::map<const VisFunction *, std::string>::const_iterator h=m_visMap.find(vis); - return h==m_visMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const VisFunction *find (const std::string & name) const { - std::map<std::string, const VisFunction *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const VisFunction *, std::string> m_visMap; - std::map<std::string, const VisFunction *> m_nameMap; - -}; - -#endif diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h deleted file mode 100644 index b1ac8a57f86..00000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef QATSYSTEMINTERFACES_SERIALIZER_H -#define QATSYSTEMINTERFACES_SERIALIZER_H -#include <QtCore/QByteArray> -#include <QtGui/QSpinBox> -#include <QtGui/QTreeWidget> -#include <QtGui/QTextEdit> -#include <string> -class PlotHist1DProperties; -class PlotHist2DProperties; -class PlotFunction1DProperties; - -class PlotView; -// This is a helper class for Serialization. The design -// is taken from VP1 (Kittelmann & al.) - -class Serializer { - - public: - - // Constructor: - Serializer(unsigned int version); - - - // Destructor: - ~Serializer(); - - // Get the result: - QByteArray result() const; - - // Save methods, builtin types: - void save(bool); - void save(int); - void save(unsigned int); - void save(double); - void save(const std::string & name); - - // Save methods, Widgets - void save(QSpinBox *); - void save(QTreeWidget *); - void save(QTreeWidgetItem *); - void save(PlotView *); - void save(const PlotHist1DProperties & prop); - void save(const PlotHist2DProperties & prop); - void save(const PlotFunction1DProperties & prop); - void save(QTextEdit *); - - private: - - - class Clockwork; - Clockwork *m_c; - -}; - -class Deserializer { - -public: - - // Constructor: - Deserializer(const QByteArray &); - - - // Destructor: - ~Deserializer(); - - // Access Version: - unsigned int version() const; - - // Restore methods, builtin types: - void restore(bool &); - void restore(int &); - void restore(unsigned int &); - void restore(double &); - void restore(std::string & name); - - // Restore methods, Widgets - void restore(QSpinBox *); - void restore(QTreeWidget *); - void restore(QTreeWidgetItem *, bool &mismatch, const std::string & s0, const std::string & s1); - void restore(PlotView *); - void restore(PlotHist1DProperties & prop); - void restore(PlotHist2DProperties & prop); - void restore(PlotFunction1DProperties & prop); - void restore(QTextEdit *); - -private: - - class Clockwork; - Clockwork *m_c; -}; - -#endif diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h deleted file mode 100644 index 72b43611fab..00000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef SYSTEMINTERFACE_H_ -#define SYSTEMINTERFACE_H_ -#include <QtPlugin> -#include <QtCore/QByteArray> -class Hist1D; -class Hist2D; -class VisFunction; -class Table; -class QTreeWidget; -class QTreeWidgetItem; -class QTextEdit; -class HistogramManager; -#include <vector> -#include <map> - -typedef std::vector<const Hist1D *> Hist1DSet; -typedef std::vector<const Hist2D *> Hist2DSet; -typedef std::vector<const Table *> TableSet; -typedef std::vector<const VisFunction *> VisFunctionSet; -typedef std::map<QTreeWidgetItem *, const HistogramManager *> ConstHistManMap; -typedef std::map<QTreeWidgetItem *, HistogramManager *> HistManMap; - -#include "QatSystemInterfaces/HistoLocator.h" - -class DASystem : public QObject{ - - Q_OBJECT - - - public: - - // Constructor: - DASystem(); - - // Destructor: - virtual ~DASystem(); - - // Get the name of the system. - virtual QString name() { return QString("Base System");} - - // Get the main widget: - virtual QWidget * mainWidget() const=0; - - // Tell the system to update: - virtual void update() = 0; - - // Attribute some 1D histograms to this system: - void setHist1DSet (Hist1DSet *); - - // Attribute some 2D histograms to this system: - void setHist2DSet (Hist2DSet *); - - // Set the Vis function set: - void setVisFunctionSet (VisFunctionSet *); - - // Attribute some 2D histograms to this system: - void setTableSet (TableSet *); - - // Get the 1D Histograms: - const Hist1DSet * hist1DSet() const; - - // Get the 2D Histograms: - const Hist2DSet * hist2DSet() const; - - // Get the 1D Histograms: - const VisFunctionSet * visFunctionSet() const; - - // Get the Tables: - const TableSet * tableSet() const; - - // Save the state - virtual QByteArray saveState()=0; - - // Restore the state - virtual void restoreFromState (QByteArray ba)=0; - - // Get the presenter's tree widget: - QTreeWidget *presenterTreeWidget() const; - - // Set the presenter's tree widget: - void setPresenterTreeWidget(QTreeWidget *); - - // Get the presenter's message text edit: - QTextEdit *presenterMessageTextEdit() const; - - // Set the presenter's mesage text edit: - void setPresenterMessageTextEdit(QTextEdit *); - - // Get the presenter's H1 Locator: - HistoLocator1D *presenterH1Locator() const; - - // Set the presenter's H1 Locator: - void setPresenterH1Locator(HistoLocator1D *); - - // Get the presenter's H2 Locator: - HistoLocator2D *presenterH2Locator() const; - - // Set the presenter's H2 Locator: - void setPresenterH2Locator(HistoLocator2D *); - - // Get the presenter's VisFunction Locator: - VisFunctionLocator *presenterVisFunctionLocator() const; - - // Set the presenter's H2 Locator: - void setPresenterVisFunctionLocator(VisFunctionLocator *); - - virtual DASystem *clone() const =0; - - virtual void dblClicked1D(const Hist1D *); - virtual void dblClicked2D(const Hist2D *); - virtual void dblClickedMan(const HistogramManager*); - virtual void dblClickedVisFunction(const VisFunction *); - - // Return the tool box widget. - virtual QWidget *toolWidget() const { return NULL;} - - - // Save the state - virtual QByteArray saveCache() { return saveState();} - - // Restore the state - virtual void restoreFromCache (QByteArray ba) { restoreFromState(ba); }; - - - private: - - // Illegal operations: - DASystem(const DASystem &); - DASystem & operator=(const DASystem &); - - class Clockwork; - Clockwork *m_c; - -}; - -class QWidget; -class SystemFactoryInterface - { - - public: - - virtual ~SystemFactoryInterface(); - - virtual DASystem *newSystem() const = 0; - - }; - -Q_DECLARE_INTERFACE(SystemFactoryInterface, "UPVS.SystemFactoryInterface/1.0") - -#endif - diff --git a/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro b/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro deleted file mode 100644 index df206bef59e..00000000000 --- a/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro +++ /dev/null @@ -1,25 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatSystemInterfaces -DESTDIR=../../../lib -CONFIG += qt debug -# Input -HEADERS += ../QatSystemInterfaces/HistoLocator.h \ - ../QatSystemInterfaces/Serializer.h \ - ../QatSystemInterfaces/SystemInterface.h - -SOURCES += Serializer.cpp \ - SystemInterface.cpp -LIBS=-L/usr/local/lib -lQatPlotWidgets -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -target.path=/usr/local/lib -headers.path=/usr/local/include/QatSystemInterfaces -headers.files= ../QatSystemInterfaces/*.h ../QatSystemInterfaces/*.icc - -INSTALLS += target -INSTALLS += headers diff --git a/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp b/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp deleted file mode 100644 index 78e5ceafe62..00000000000 --- a/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp +++ /dev/null @@ -1,516 +0,0 @@ -#include "QatSystemInterfaces/Serializer.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotting/PlotStream.h" -#include "QatPlotting/PlotHist1DProperties.h" -#include "QatPlotting/PlotFunction1DProperties.h" -#include "QatPlotting/PlotHist2DProperties.h" -#include <QtCore/QByteArray> -#include <QtCore/QBuffer> -#include <QtCore/QDataStream> -#include <QtGui/QTextEdit> -#include <QtGui/QMessageBox> -#include <stdexcept> -#include <iostream> -class Serializer::Clockwork { -public: - QByteArray byteArray; - QBuffer *buffer; - QDataStream *state; - QTreeWidget *treeWidget; - QTreeWidgetItem *currentItem; -}; - -class Deserializer::Clockwork { -public: - QByteArray byteArray; - QBuffer *buffer; - QDataStream *state; - unsigned int version; - - QTreeWidget *treeWidget; - QTreeWidgetItem *currentItem; -}; - - -Serializer::Serializer (unsigned int version) :m_c(new Clockwork()){ - m_c->buffer = new QBuffer(&m_c->byteArray); - m_c->buffer->open(QIODevice::WriteOnly); - m_c->state = new QDataStream(m_c->buffer); - m_c->treeWidget=NULL; - m_c->currentItem=NULL; - save(version); -} - -Deserializer::Deserializer(const QByteArray &ba):m_c(new Clockwork()){ - m_c->byteArray=ba; - m_c->buffer=new QBuffer(&m_c->byteArray); - if (!m_c->buffer->open(QIODevice::ReadOnly)) { - delete m_c->buffer; - m_c->buffer=NULL; - throw std::runtime_error("Cannot Deserialize!"); - } - else { - m_c->state=new QDataStream(m_c->buffer); - restore(m_c->version); - } - m_c->treeWidget=NULL; - m_c->currentItem=NULL; -} - - - -Serializer::~Serializer () { - - m_c->buffer->close(); - delete m_c->state; - delete m_c->buffer; - - delete m_c; -} - -Deserializer::~Deserializer(){ - if (m_c->buffer) { - if (!m_c->buffer->atEnd()) { - std::cout << "Warning, buffer not at end" << std::endl; - } - m_c->buffer->close(); - } - delete m_c->state; - delete m_c->buffer; - delete m_c; -} - - -unsigned int Deserializer::version() const{ - return m_c->version; -} - -QByteArray Serializer::result() const { - return m_c->byteArray; -} - -//==================int========================= - -void Serializer::save(unsigned int i) { - (*m_c->state) << i; -} - - -void Deserializer::restore(unsigned int & i){ - (*m_c->state) >> i; -} - -//==================int========================= -void Serializer::save(int i) { - (*m_c->state) << i; -} - -void Deserializer::restore(int & i){ - (*m_c->state) >> i; -} - - -//==================double========================= -void Serializer::save(double d) { - (*m_c->state) << d; -} - -void Deserializer::restore(double & d){ - (*m_c->state) >> d; -} - -//==================bool========================= - -void Serializer::save(bool i) { - (*m_c->state) << i; -} - -void Deserializer::restore(bool & b){ - (*m_c->state) >> b; -} - -//==================std::string========================= - -void Serializer::save(const std::string & name) { - QString nameString=QString::fromStdString(name); - (*m_c->state) << nameString; -} -void Deserializer::restore(std::string & name){ - - QString nameString; - (*m_c->state) >> nameString; - name = nameString.toStdString(); - -} - -//==QTextEdit==// -void Serializer::save(QTextEdit *tE) { - (*m_c->state) << tE->document()->toHtml(); -} -void Deserializer::restore(QTextEdit *tE) { - QString html; - (*m_c->state) >> html; - tE->clear(); - tE->append(html); -} - - -//==PlotView==/ -void Serializer::save(PlotView *plotView) { - (*m_c->state) << plotView->titleTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->xLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->yLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->vLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->statTextEdit()->document()->toHtml(); - - QRectF rect; - if (plotView->rect()) (*m_c->state) << *plotView->rect(); - - // Page 1: - (*m_c->state) << plotView->isBox(); - (*m_c->state) << plotView->isLogX(); - (*m_c->state) << plotView->isLogY(); - (*m_c->state) << plotView->isGrid(); - (*m_c->state) << plotView->isXZero(); - (*m_c->state) << plotView->isYZero(); - (*m_c->state) << plotView->statBoxX(); - (*m_c->state) << plotView->statBoxY(); - - - (*m_c->state) << plotView->xAxisFont(); - (*m_c->state) << plotView->yAxisFont(); - - (*m_c->state) << plotView->statBoxX(); - (*m_c->state) << plotView->statBoxY(); - (*m_c->state) << plotView->labelXSizePercentage(); - (*m_c->state) << plotView->labelYSizePercentage(); -} - -void Deserializer::restore(PlotView *plotView) { - { - QString html; - (*m_c->state) >> html; - plotView->titleTextEdit()->clear(); - plotView->titleTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->xLabelTextEdit()->clear(); - plotView->xLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->yLabelTextEdit()->clear(); - plotView->yLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->vLabelTextEdit()->clear(); - plotView->vLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->statTextEdit()->clear(); - plotView->statTextEdit()->append(html); - } - - { - QRectF rect; - (*m_c->state) >> rect; - plotView->setRect(rect); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setBox(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setLogX(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setLogY(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setGrid(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setXZero(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setYZero(flag); - } - - - { - qreal x,y; - (*m_c->state) >> x >> y; - plotView->setLabelPos(x,y); - } - - { - QFont font; - (*m_c->state) >> font; - plotView->xAxisFont()=font; - } - - - { - QFont font; - (*m_c->state) >> font; - plotView->yAxisFont()=font; - } - - { - qreal x,y, w, h; - if (version()>=3) { - (*m_c->state) >> x; - (*m_c->state) >> y; - (*m_c->state) >> w; - (*m_c->state) >> h; - plotView->setLabelPos(x,y); - plotView->setLabelXSizePercentage(w); - plotView->setLabelYSizePercentage(h); - } - } - -} - - -//==================QSpinBox========================= - -void Serializer::save(QSpinBox *spinBox) { - (*m_c->state) << spinBox->value(); -} - -void Deserializer::restore(QSpinBox *spinBox){ - int value; - (*m_c->state) >> value; - spinBox->setValue(value); -} - -struct ItemRep { - std::string s0; - std::string s1; - bool isSelected; - bool isExpanded; - int childCount; -}; - -class MatchItem { -public: - MatchItem(QTreeWidgetItem *item):m_item(item) {;} - bool operator () (const ItemRep & rep) { - return rep.s0==m_item->text(0).toStdString() && rep.s1==m_item->text(1).toStdString(); - } -private: - QTreeWidgetItem *m_item; -}; - - - -//==================QTreeWidget========================= - -void Serializer::save(QTreeWidget * treeWidget) { - //Prepare: - m_c->treeWidget = treeWidget; - m_c->currentItem = treeWidget->currentItem(); - - // Go: - save(treeWidget->headerItem()->text(0).toStdString()); - save(treeWidget->headerItem()->text(1).toStdString()); - QList<QTreeWidgetItem *> itemList=treeWidget->findItems("*", Qt::MatchWildcard); - save (itemList.size()); - for (int i=0;i<itemList.size();i++) { - save(itemList[i]); - } - - // End: - m_c->treeWidget = NULL; - m_c->currentItem = NULL; -} - -void Deserializer::restore(QTreeWidget *treeWidget){ - //Prepare: - m_c->treeWidget = treeWidget; - m_c->currentItem = treeWidget->currentItem(); - - // Go: - { std::string s; restore(s) ; treeWidget->headerItem()->setText(0, s.c_str());}; - { std::string s; restore(s) ; treeWidget->headerItem()->setText(1, s.c_str());}; - - int size ; restore(size); - - - for (int i=0;i<size;i++) { - - // Peak-------------- - std::string s0,s1; - restore(s0); - restore(s1); - //-------------------- - bool mismatch=false; - - QList<QTreeWidgetItem *> items=treeWidget->findItems(s0.c_str(), Qt::MatchExactly, 0); - QTreeWidgetItem *item = items.size()==1 ? items[0]:NULL; - - // if (!item) { - // std::ostringstream warningStream; - // warningStream << "The input " << s0 << " has not been loaded or cannot be located."; - // QMessageBox::warning(0, - // "Present", - // warningStream.str().c_str(), - // QMessageBox::Ok); - //} - - - // QTreeWidgetItem *item = treeWidget->topLevelItem(i); - - - if (!item){ - mismatch=true; - } else{ - restore(item, mismatch,s0,s1); //item gets dereferenced in restore - } - if (m_c->buffer->atEnd()) break; - if (mismatch) i--; - - } - - // End: - m_c->treeWidget = NULL; - m_c->currentItem = NULL; -} - -//==================QTreeWidgetItem========================= - -void Serializer::save(QTreeWidgetItem * treeWidgetItem) { - save(treeWidgetItem->text(0).toStdString()); - save(treeWidgetItem->text(1).toStdString()); - save(treeWidgetItem->isSelected()); - save(treeWidgetItem->isExpanded()); - save(treeWidgetItem->childCount()); - for (int i=0;i<treeWidgetItem->childCount();i++) { - save(treeWidgetItem->child(i)); - } -} - -void Deserializer::restore(QTreeWidgetItem *item, bool & mismatch, - const std::string & s0, - const std::string & s1){ - ItemRep rep; - // restore(rep.s0); - // restore(rep.s1); - rep.s0=s0; - rep.s1=s1; - - restore(rep.isSelected); - restore(rep.isExpanded); - restore(rep.childCount); - - if (!mismatch && rep.s0!=item->text(0).toStdString()) { - mismatch=1; - } - if (!mismatch) { - item->setExpanded(rep.isExpanded); - item->setSelected(rep.isSelected); - } - - for (int i=0;i<rep.childCount;i++) { - - std::string s0,s1; // shadowing input parameters. - restore(s0); - restore(s1); - - - QTreeWidgetItem *next = NULL; - if (!mismatch) { - - //next = item->child(i); - - for (int c=0;c<item->childCount();c++) { - QTreeWidgetItem *testItem=item->child(c); - if (testItem->text(0).toStdString()==s0) { - next=testItem; - break; - } - } - - //QList<QTreeWidgetItem *> items=item->findItems(s0.c_str(), Qt::MatchExactly, 0); - //next = items.size()==1 ? items[0]:NULL; - - - } - - restore(next, mismatch,s0,s1); - } - - -} - - -void Deserializer::restore (PlotHist1DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; - - int plotStyle; - (*m_c->state) >> plotStyle; - prop.plotStyle= PlotHist1DProperties::PlotStyle(plotStyle); - - int symbolStyle; - (*m_c->state) >> symbolStyle; - prop.symbolStyle=PlotHist1DProperties::SymbolStyle(symbolStyle); - (*m_c->state) >> prop.symbolSize; - -} - -void Deserializer::restore (PlotFunction1DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; - -} - -void Deserializer::restore (PlotHist2DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; -} - - -void Serializer::save (const PlotHist1DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; - (*m_c->state) << (int) prop.plotStyle; - (*m_c->state) << (int) prop.symbolStyle; - (*m_c->state) << prop.symbolSize; - -} - -void Serializer::save (const PlotFunction1DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; -} - -void Serializer::save (const PlotHist2DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; -} - diff --git a/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp b/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp deleted file mode 100644 index 40c91cbb29f..00000000000 --- a/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "QatSystemInterfaces/SystemInterface.h" -#include "QatDataAnalysis/HistogramManager.h" -SystemFactoryInterface::~SystemFactoryInterface () { -} - -class DASystem::Clockwork { -public: - Hist1DSet *hist1DSet; - Hist2DSet *hist2DSet; - VisFunctionSet *visFunctionSet; - TableSet *tableSet; - QTreeWidget *presenterTreeWidget; - QTextEdit *presenterMessageTextEdit; - HistoLocator1D *presenterH1Locator; - HistoLocator2D *presenterH2Locator; - VisFunctionLocator *presenterVisFunctionLocator; -}; - -DASystem::DASystem():m_c(new Clockwork()){ - m_c->hist1DSet=NULL; - m_c->hist2DSet=NULL; - m_c->visFunctionSet=NULL; - m_c->tableSet =NULL; - m_c->presenterTreeWidget=NULL; - m_c->presenterMessageTextEdit=NULL; - m_c->presenterH1Locator=NULL; - m_c->presenterH2Locator=NULL; - m_c->presenterVisFunctionLocator=NULL; -} - -DASystem::~DASystem() { - delete m_c; -} - -void DASystem::setHist1DSet(Hist1DSet * hist1DSet) { - m_c->hist1DSet=hist1DSet; -} - -void DASystem::setHist2DSet(Hist2DSet * hist2DSet) { - m_c->hist2DSet=hist2DSet; -} - - -void DASystem::setTableSet(TableSet * tableSet) { - m_c->tableSet=tableSet; -} - -void DASystem::setVisFunctionSet(VisFunctionSet * visFunctionSet) { - m_c->visFunctionSet = visFunctionSet; -} - -const Hist1DSet *DASystem::hist1DSet() const { - return m_c->hist1DSet; -} - - -const Hist2DSet *DASystem::hist2DSet() const { - return m_c->hist2DSet; -} - -const VisFunctionSet *DASystem::visFunctionSet() const { - return m_c->visFunctionSet; -} - -const TableSet *DASystem::tableSet() const { - return m_c->tableSet; -} - -QTreeWidget *DASystem::presenterTreeWidget() const { - return m_c->presenterTreeWidget; -} - -void DASystem::setPresenterTreeWidget (QTreeWidget *presenterTreeWidget) { - m_c->presenterTreeWidget=presenterTreeWidget; -} - -QTextEdit *DASystem::presenterMessageTextEdit() const { - return m_c->presenterMessageTextEdit; -} - -void DASystem::setPresenterMessageTextEdit (QTextEdit *presenterMessageTextEdit) { - m_c->presenterMessageTextEdit=presenterMessageTextEdit; -} - - -void DASystem::dblClicked1D(const Hist1D *){;} -void DASystem::dblClicked2D(const Hist2D *){;} -void DASystem::dblClickedMan(const HistogramManager*) {;} -void DASystem::dblClickedVisFunction(const VisFunction*) {;} - - -HistoLocator1D *DASystem::presenterH1Locator() const { - return m_c->presenterH1Locator; -} - -void DASystem::setPresenterH1Locator(HistoLocator1D *locator) { - m_c->presenterH1Locator=locator; -} - -HistoLocator2D *DASystem::presenterH2Locator() const { - return m_c->presenterH2Locator; -} - -void DASystem::setPresenterH2Locator(HistoLocator2D *locator) { - m_c->presenterH2Locator=locator; -} - -VisFunctionLocator *DASystem::presenterVisFunctionLocator() const { - return m_c->presenterVisFunctionLocator; -} - -void DASystem::setPresenterVisFunctionLocator(VisFunctionLocator *locator) { - m_c->presenterVisFunctionLocator=locator; -} diff --git a/graphics/Qat/Qoot/CMakeLists.txt b/graphics/Qat/Qoot/CMakeLists.txt deleted file mode 100644 index 41772986447..00000000000 --- a/graphics/Qat/Qoot/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: Qoot -################################################################################ - -# Declare the package name: -atlas_subdir( Qoot ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( ROOT COMPONENTS Hist Tree RIO Core MathCore pthread ) - -# this line failed automatic conversion in cmt2cmake : -# path_remove DYLD_LIBRARY_PATH "" host-darwin "$(<package>_cmtpath)/InstallArea/${CMTCONFIG}/lib/qatplugins" ; path_append DYLD_LIBRARY_PATH "" host-darwin "$(<package>_cmtpath)/InstallArea/${CMTCONFIG}/lib/qatplugins" - -# Component(s) in the package: -atlas_add_library( Qoot - src/*.cpp - NO_PUBLIC_HEADERS - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} QatDataAnalysis ) - diff --git a/graphics/Qat/Qoot/Changelog b/graphics/Qat/Qoot/Changelog deleted file mode 100644 index 045bed0e7db..00000000000 --- a/graphics/Qat/Qoot/Changelog +++ /dev/null @@ -1,5 +0,0 @@ -2016-10-04 Shaun Roe - * Created Changelog - * Fix coverity: -16916 09/07/2014 (Medium) Uninitialized scalar field :/graphics/Qat/Qoot/src/RootDriver.cpp in function "RootIOStore" - * tag as Qoot-00-00-07 diff --git a/graphics/Qat/Qoot/grid/Makefile b/graphics/Qat/Qoot/grid/Makefile deleted file mode 100644 index 525f06b7cb3..00000000000 --- a/graphics/Qat/Qoot/grid/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -prefix = `pwd`/../../../local - -targetdir = ../tmp - - -TMCPPFILES = $(shell find ../src -name "*.cpp" ) -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst ../src/%.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I$(ROOTSYS)/include -I/usr/include/root -I../../QatDataAnalysis/ -I../../../CLHEP/GenericFunctions - -%.o:../src/%.cpp - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lCLHEP-GenericFunctions-2.1.3.1 -L$(ROOTSYS)/lib -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/Makefile b/graphics/Qat/Qoot/src/Makefile deleted file mode 100644 index 438044c1cca..00000000000 --- a/graphics/Qat/Qoot/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -prefix = /usr/local -rootsys= $(prefix)/root -targetdir = ../tmp - - -TMCPPFILES = $(shell find -name "*.cpp" ) -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst %.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I/usr/include/root -I../.. - -%.cpp.%.o: - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/Makefile.MAC b/graphics/Qat/Qoot/src/Makefile.MAC deleted file mode 100644 index 5e3b56b3924..00000000000 --- a/graphics/Qat/Qoot/src/Makefile.MAC +++ /dev/null @@ -1,59 +0,0 @@ -prefix = /usr/local -rootsys= $(prefix)/root -targetdir = ../tmp - - -TMCPPFILES = RootDriver.cpp -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst %.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I/usr/local/root/include -I../.. - -%.cpp.%.o: - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lCLHEP -L/usr/local/root/lib -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/RootDriver.cpp b/graphics/Qat/Qoot/src/RootDriver.cpp deleted file mode 100755 index 6ef054f17b5..00000000000 --- a/graphics/Qat/Qoot/src/RootDriver.cpp +++ /dev/null @@ -1,620 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IODriver.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Tuple.h" -#include "TTree.h" -#include "TFile.h" -#include "TList.h" -#include "TLeaf.h" -#include "TH1D.h" -#include "TH2D.h" -#include "TROOT.h" -#include "TKey.h" -#include <ios> -#include <iostream> -#include <fstream> -#include <sstream> -#include <map> -#include <set> -#include <unistd.h> -#include <memory> -#include <stdexcept> -//* -----------------declarations -------------------*// - -class RootDriver: public IODriver { - -public: - - // Constructor: - RootDriver(); - - // Destructor: - ~RootDriver(); - - // New Manager: - virtual HistogramManager *newManager(const std::string & filename) const; - - // OpenManager: - virtual const HistogramManager *openManager(const std::string & filename) const; - - // Writes the Histograms out. - virtual void close (const HistogramManager *mgr) const; - - // Closes the file: - virtual void write (HistogramManager *mgr) const; - - private: - - - void read(HistogramManager * mgr) const; - - mutable std::map<std::string, HistogramManager *> m_mgrMap; - mutable std::map<std::string, TFile *> m_ostrMap; - mutable std::map<std::string, TFile *> m_istrMap; - - mutable TFile *m_o; - mutable TFile *m_i; - -}; - - -// Creation routine: -extern "C" void *RootDriverCreate(); - - - - - - -class RootIOStore: public TupleStore { - -public: - - enum TCode { - Double_c=0, - Int_c, - UInt_c, - Float_c - }; - - // Constructor: - RootIOStore(TTree * tree); - - // For input: - virtual TupleConstLink operator [](size_t i) const; - - // Get the size: - virtual size_t size() const { - return (size_t) m_tree->GetEntries(); - } - - AttributeListConstLink attributeList() const { - return m_internalTable->attributeList(); - } - -private: - - // Destructor: - virtual ~RootIOStore(); - - - - TTree *m_tree; - - Table *m_internalTable; - TupleLink m_internalTuple; - std::vector<std::string> m_nList; - std::vector<TLeaf *> m_lList; - size_t m_nAttributes; - - friend class ImaginaryFriend; - -}; - - -TupleConstLink RootIOStore::operator [] (size_t i) const { - - size_t limit = (size_t) (0.5+m_tree->GetEntries()); - if (i>=limit) return NULL; - - m_tree->GetEntry(i); - m_internalTuple->uncache(); - - return m_internalTuple; - -} - - -RootIOStore::~RootIOStore() { - delete m_internalTable; - delete m_tree; -} - -RootIOStore::RootIOStore(TTree * tree): -m_tree(tree), -m_internalTable(NULL), -m_internalTuple(NULL), -m_nAttributes{} -{ - TObjArray *bArray = tree->GetListOfLeaves(); - TObjArrayIter next(bArray); - TObject *to; - - m_internalTable = new Table("Internal Use Only"); - - while ((to=next())) { - - TLeaf * leaf = dynamic_cast<TLeaf *> (to); - if (leaf) { - std::string typeName = leaf->GetTypeName(); - TBranch * branch = leaf->GetBranch(); - std::string branchName = branch ? std::string(branch->GetName()) : std::string("") ; - std::string name = branchName != leaf->GetName() ? branchName + std::string("_") + leaf->GetName() : leaf->GetName(); - if (typeName=="Float_t") { - m_internalTable->add(name,float(0)); - } - else if (typeName=="Double_t") { - m_internalTable->add(name,double(0)); - } - else if (typeName=="Int_t") { - m_internalTable->add(name,int(0)); - } - // Just added, not debugged: - else if (typeName=="UChar_t") { - m_internalTable->add(name,size_t(0)); - } - // End addition - else if (typeName=="UInt_t") { - m_internalTable->add(name,size_t(0)); - } - else { - std::cerr << "[RootDriver: Unknown type " << typeName << " will be ignored on input]" << std::endl; - } - m_nList.push_back(name); - m_lList.push_back(leaf); - } - } - // Get the data: - - // End of header. Now start the data: - m_internalTuple = (TupleLink) m_internalTable->capture(); - - ValueList & vList = m_internalTuple->valueList(); - - - for (size_t j=0;j<m_nList.size();j++) { - try { - int i = m_internalTable->attribute(m_nList[j]).attrId(); - m_lList[j]->SetAddress((void *) vList[i].asCharStar() ); - } - catch (std::runtime_error &) { - } - } -} - -//*----------------implementation------------------*// - - -extern "C" void *RootDriverCreate() { - return new RootDriver(); -} - - -RootDriver::RootDriver():m_o(NULL),m_i(NULL) { - std::cerr << "[RootDriver: HELLO.]" << std::endl; -} - - -RootDriver::~RootDriver() { -} - -const HistogramManager *RootDriver::openManager(const std::string & filename) const { - // See if this file is indeed a root file: - { - std::ifstream ifile(filename.c_str()); - char buf[5]=" "; - ifile >> buf[0] >> buf[1] >> buf[2] >> buf[3]; - if (std::string(buf)=="root") { - } - else { - std::cerr << "[RootDriver: File NOT OK:" << filename << "]" << std::endl; - return NULL; - } - } - - // See if you can open this file: - TFile * stream = new TFile (filename.c_str(),"READ"); - if (!stream->IsOpen()) { - delete stream; - return NULL; - } - - m_istrMap[filename]=stream; - - - HistogramManager *mgr = new HistogramManager(filename); - m_mgrMap[filename]=mgr; - - read(mgr); - - std::cerr << "[RootDriver: Open Histogram file " << filename << "]" << std::endl; - - return mgr; - -} - - -HistogramManager *RootDriver::newManager(const std::string & filename) const { - - // See if you can open this file: - TFile *stream = new TFile(filename.c_str(),"recreate"); - if (!stream->IsOpen()) { - delete stream; - return NULL; - } - - m_ostrMap[filename]=stream; - - HistogramManager *mgr = new HistogramManager(); - m_mgrMap[filename]=mgr; - - std::cerr << "[RootDriver: New Histogram file " << filename << "]" << std::endl; - - return mgr; - -} - -// Writes the Histograms out. -void RootDriver::close (const HistogramManager *mgr) const { - // Find the file name: - std::map<std::string, HistogramManager *>::iterator - begin=m_mgrMap.begin(), - end=m_mgrMap.end(),m=begin; - std::string filename; - while (m!=end) { - m++; - if ((*m).second==mgr) { - filename = (*m).first; - break; - } - } - - if (filename!="") { - { - TFile *file = m_ostrMap[filename]; - if (file) file->Close(); - } - { - TFile *file = m_istrMap[filename]; - if (file) file->Close(); - } - { - std::map<std::string, HistogramManager *>::iterator d=m_mgrMap.find(filename); - if (d!=m_mgrMap.end()) m_mgrMap.erase(d); - } - { - std::map<std::string, TFile *>::iterator d=m_istrMap.find(filename); - if (d!=m_istrMap.end()) m_istrMap.erase(d); - } - { - std::map<std::string, TFile *>::iterator d=m_ostrMap.find(filename); - if (d!=m_ostrMap.end()) m_ostrMap.erase(d); - } - } - - -} - -// Closes the file: -void RootDriver::write (HistogramManager *mgr) const { - - // Find the output file - // Find the output stream for this: - bool topLevel(false); - std::string name; - std::map<std::string , HistogramManager *>::iterator m; - for (m=m_mgrMap.begin();m!=m_mgrMap.end();m++) { - if (mgr==(*m).second) { - name = (*m).first; - m_o = m_ostrMap[name]; - m_o->cd(); - topLevel=true; - break; - } - } - - - // Write out all of the ntuples: - - HistogramManager::DConstIterator d; - for (d=mgr->beginDir();d!=mgr->endDir();d++) { - TDirectory *dir=gDirectory, *newDir=gDirectory->mkdir((*d)->name().c_str()); - newDir->cd(); - write (*d); - dir->cd(); - } - - // Write out all ntuples: - HistogramManager::TConstIterator t; - for (t=mgr->beginTable();t!=mgr->endTable();t++) { - - float *fBuff = new float [(**t).numAttributes()]; - double *dBuff = new double [(**t).numAttributes()]; - int *iBuff = new int [(**t).numAttributes()]; - unsigned int *uBuff = new unsigned int [(**t).numAttributes()]; - - // float fBuff[(**t).numAttributes()]; - // double dBuff[(**t).numAttributes()]; - // int iBuff[(**t).numAttributes()]; - // size_t uBuff[(**t).numAttributes()]; - - TTree *tree = new TTree((**t).name().c_str(), (**t).name().c_str()); - for (unsigned int i=0;i<(**t).numAttributes();i++) { - std::string name = (**t).attribute(i).name(); - { - std::string typeName = (**t).attribute(i).typeName(); - - if (typeName=="d") { - tree->Branch(name.c_str(), dBuff+i, (name+"/D").c_str()); - } - - else if (typeName=="f") { - tree->Branch(name.c_str(), fBuff+i, (name+"/F").c_str()); - } - - else if (typeName=="i") { - tree->Branch(name.c_str(), iBuff+i, (name+"/I").c_str()); - } - - else if (typeName=="j" || typeName=="m" ) { - tree->Branch(name.c_str(), uBuff+i, (name+"/i").c_str()); - } - else { - std::ostringstream msg; - msg << "RootDriver: cannot write data in of RTTI type " << typeName; - throw std::runtime_error(msg.str().c_str()); - } - } - } - - - for (size_t n = 0; ; n++) { - - TupleConstLink thisTuple = (**t)[n]; - if (!thisTuple) break; - - for (unsigned int j=0;j<(*t)->numAttributes();j++) { - { - if (thisTuple->read(iBuff[j],j)) continue; - else if (thisTuple->read(dBuff[j],j)) continue; - else if (thisTuple->read(uBuff[j],j)) continue; - else if (thisTuple->read(fBuff[j],j)) continue; - throw std::runtime_error("Unknown data type cannot be written"); - } - } - tree->Fill(); // Once per event? - } - delete [] fBuff; - delete [] dBuff; - delete [] iBuff; - delete [] uBuff; - - } - - for (HistogramManager::H1ConstIterator h=mgr->beginH1();h!=mgr->endH1();h++) { - TH1D *hist = new TH1D((**h).name().c_str(),(**h).name().c_str(), (**h).nBins(), (**h).min(), (**h).max()); - for (size_t c=0;c<(**h).nBins();c++) { - hist->SetBinContent(c+1,(**h).bin(c)); - hist->SetBinError(c+1,(**h).binError(c)); - } - hist->SetBinContent(0,(**h).underflow()); - hist->SetBinContent((**h).nBins()+1, (**h).overflow()); - hist->SetEntries((**h).entries()); - - } - - for (HistogramManager::H2ConstIterator h=mgr->beginH2();h!=mgr->endH2();h++) { - TH2D *hist = new TH2D((**h).name().c_str(),(**h).name().c_str(), - (**h).nBinsX(), (**h).minX(), (**h).maxX(), - (**h).nBinsY(), (**h).minY(), (**h).maxY()); - for (size_t c=0;c<(**h).nBinsX();c++) { - for (size_t d=0; d<(**h).nBinsY();d++) { - hist->SetBinContent(c+1,d+1,(**h).bin(c,d)); - hist->SetBinError(c+1,d+1, (**h).binError(c,d)); - } - } - hist->SetBinContent(0, 0, (**h).overflow(Hist2D::Underflow,Hist2D::Underflow)); - hist->SetBinContent(0, (**h).nBinsY()+1, (**h).overflow(Hist2D::Underflow,Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, (**h).nBinsY()+1, (**h).overflow(Hist2D::Overflow, Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, 0, (**h).overflow(Hist2D::Overflow, Hist2D::Underflow)); - - hist->SetBinContent(1, 0, (**h).overflow(Hist2D::InRange, Hist2D::Underflow)); - hist->SetBinContent(1, (**h).nBinsY()+1, (**h).overflow(Hist2D::InRange, Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, 1, (**h).overflow(Hist2D::Overflow, Hist2D::InRange)); - hist->SetBinContent(0, 1, (**h).overflow(Hist2D::Underflow,Hist2D::InRange)); - - hist->SetEntries((**h).entries()); - - } - - if (topLevel) m_o->Write(); // Once per file? - -} - - -void RootDriver::read(HistogramManager *mgr) const { - // Find the output stream for this: - std::string name; - std::map<std::string , HistogramManager *>::iterator m; - for (m=m_mgrMap.begin();m!=m_mgrMap.end();m++) { - if (mgr==(*m).second) { - name = (*m).first; - m_i = m_istrMap[name]; - m_i->cd(); - break; - } - } - - std::set<std::string> nameSet; - - TList *list = gDirectory->GetListOfKeys(); - TListIter next(list); - TObject *to; - while ((to=next())) { - - TKey *key = dynamic_cast<TKey *> (to); - if (key) { - TObject *o = gROOT->FindObject(key->GetName()); - if (o) { - { - TTree * tree = dynamic_cast<TTree *> (o); - if (tree) { - std::string treeName=key->GetName(); - if (nameSet.find(treeName)==nameSet.end()) { - if (tree->GetEntries()) { - RootIOStore *store = new RootIOStore(tree); - nameSet.insert(treeName); - /*Table * t = */ mgr->newTable(treeName,store); - } - } - else { - } - continue; - } - } - { - TH2 *h = dynamic_cast<TH2 *> (o); - if (h) { - Hist2D::Clockwork c; - c.name = std::string(key->GetName()); - c.nBinsX = h->GetNbinsX(); - c.nBinsY = h->GetNbinsY(); - c.binWidthX = h->GetXaxis()->GetBinWidth(0); - c.binWidthY = h->GetYaxis()->GetBinWidth(0); - c.minX = h->GetXaxis()->GetBinLowEdge(1); - c.maxX = c.minX + c.nBinsX*c.binWidthX; - c.minY = h->GetYaxis()->GetBinLowEdge(1); - c.maxY = c.minY + c.nBinsY*c.binWidthY; - - c.overUnderFlow[Hist2D::Underflow][Hist2D::Underflow] = (int) (0.5+ h->GetBinContent(0,0)); - c.overUnderFlow[Hist2D::Overflow] [Hist2D::Underflow] = (int) (0.5+ h->GetBinContent(c.nBinsX+1,0)); - c.overUnderFlow[Hist2D::Overflow] [Hist2D::Overflow] = (int) (0.5+ h->GetBinContent(c.nBinsX+1,c.nBinsY+1)); - c.overUnderFlow[Hist2D::Underflow][Hist2D::Overflow] = (int) (0.5+ h->GetBinContent(0,c.nBinsY+1)); - - - for (unsigned int i=1;i<c.nBinsX+1; i++) c.overUnderFlow[Hist2D::InRange] [Hist2D::Underflow] += (int) (0.5+h->GetBinContent(i,0)); - for (unsigned int i=1;i<c.nBinsY+1; i++) c.overUnderFlow[Hist2D::Overflow] [Hist2D::InRange] += (int) (0.5+h->GetBinContent(c.nBinsX+1,i)); - for (unsigned int i=1;i<c.nBinsX+1; i++) c.overUnderFlow[Hist2D::InRange] [Hist2D::Overflow] += (int) (0.5+h->GetBinContent(i,c.nBinsY+1)); - for (unsigned int i=1;i<c.nBinsY+1; i++) c.overUnderFlow[Hist2D::Underflow][Hist2D::InRange] += (int) (0.5+h->GetBinContent(0,i)); - - c.overUnderFlow[Hist2D::InRange][Hist2D::InRange]= (int) (0.5+h->GetEntries()); - - - c.overflow = - c.overUnderFlow[0][0] + - c.overUnderFlow[0][1] + - c.overUnderFlow[0][2] + - c.overUnderFlow[1][0] + - c.overUnderFlow[1][2] + - c.overUnderFlow[2][0] + - c.overUnderFlow[2][1] + - c.overUnderFlow[2][2]; - - c.xW = h->GetSumOfWeights()*h->GetMean(1); - c.yW = h->GetSumOfWeights()*h->GetMean(2); - - c.xxW = h->GetSumOfWeights()*(h->GetRMS(1)*h->GetRMS(1) + h->GetMean(1)*h->GetMean(1)); - c.yyW = h->GetSumOfWeights()*(h->GetRMS(2)*h->GetRMS(2) + h->GetMean(2)*h->GetMean(2)); - c.xyW = h->GetSumOfWeights()*(h->GetCovariance(1,2) + h->GetMean(1)*h->GetMean(2)); - - - c.sumWeight = h->GetSumOfWeights(); - c.minContents = h->GetMinimum(); - c.maxContents = h->GetMaximum(); - - c.contents.resize(c.nBinsX*c.nBinsY); - c.contents.reserve(c.nBinsX*c.nBinsY); - c.errors.resize(c.nBinsX*c.nBinsY); - c.errors.reserve(c.nBinsX*c.nBinsY); - - for (unsigned int i=0;i<c.nBinsX;i++) { - for (unsigned int j=0;j<c.nBinsY; j++) { - size_t ii = c.nBinsX*j+i; - c.contents[ii]=(h->GetBinContent(i+1,j+1)); - c.errors[ii] =(h->GetBinError(i+1,j+1)*h->GetBinError(i+1,j+1)); - } - } - Hist2D newHisto(&c); - mgr->newHist2D(newHisto); - continue; - } - } - { - TH1 *h = dynamic_cast<TH1 *> (o); - if (h) { - Hist1D::Clockwork c; - c.name = std::string(key->GetName()); - c.binWidth = h->GetBinWidth(0); - c.nBins = h->GetNbinsX(); - c.min = h->GetBinLowEdge(1); - c.max = c.min + c.nBins*c.binWidth; - c.underflow = (int) (0.5+h->GetBinContent(0)); - c.overflow = (int) (0.5+h->GetBinContent(c.nBins+1)); - c.entries = (int) (0.5+h->GetEntries()); - c.xW = h->GetSumOfWeights()*h->GetMean(); - c.xxW = h->GetSumOfWeights()*(h->GetRMS()*h->GetRMS() + h->GetMean()*h->GetMean()); - c.sumWeight = h->GetSumOfWeights(); - c.minContents = h->GetMinimum(); - c.maxContents = h->GetMaximum(); - - for (unsigned int i=0;i<c.nBins;i++) { - c.contents.push_back(h->GetBinContent(i+1)); - c.errors.push_back(h->GetBinError(i+1)*h->GetBinError(i+1)); - } - - Hist1D newHisto(&c); - mgr->newHist1D(newHisto); - continue; - } - } - - { - TDirectory *d = dynamic_cast<TDirectory *> (o); - if (d) { - TDirectory *oldDirectory = gDirectory; - HistogramManager *newMgr=mgr->newDir(d->GetName()); - d->cd(); - read(newMgr); - oldDirectory->cd(); - continue; - } - } - { - std::cerr << "[RootDriver: Unknown object " << o->GetName() <<"(" << o->ClassName() << ")]" << std::endl; - - } - } - } - } -} -- GitLab From dda7ea8dfc704cd3df44f971368e637fd97ea4e9 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 14:31:44 +0100 Subject: [PATCH 045/209] ByteStreamCnvSvc: Fix configuration of metadata tools. Metadata tools are now private, not public. Fixes crash in TrigUpgradeTest. --- Event/ByteStreamCnvSvc/python/ByteStreamConfig.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py index 16e981c9285..958615ada18 100644 --- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py +++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py @@ -46,11 +46,9 @@ def TrigBSReadCfg( inputFlags ): from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool iovMetaDataTool = IOVDbMetaDataTool() - acc.addPublicTool( iovMetaDataTool ) from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool bsMetaDataTool = ByteStreamMetadataTool() - acc.addPublicTool( bsMetaDataTool ) from StoreGate.StoreGateConf import ProxyProviderSvc, StoreGateSvc metaDataStore = StoreGateSvc("MetaDataStore") @@ -74,7 +72,7 @@ def TrigBSReadCfg( inputFlags ): # this is trigger specific and should only be loaded if some doTrigger flags is set - # or it shoudl be moved elsewhere, however, since there is no better location now let is stick here + # or it should be moved elsewhere, however, since there is no better location now let is stick here bsCnvSvc.InitCnvs += [ "EventInfo", "ROIB::RoIBResult", "HLT::HLTResult" ] -- GitLab From 62d399c5ce4b806633b2a1c1f78ba8749771c2ed Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 1 Nov 2018 18:03:22 +0100 Subject: [PATCH 046/209] Update packages:TrigEvent from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx | 2 +- .../TrigNavStructure/StandaloneNavigation.h | 6 +++--- .../TrigNavStructure/share/ut_build_trignav_test.ref | 2 +- Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx | 4 +++- Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx | 4 +++- .../TrigRoiConversion/TrigRoiConversion/IRoiReader.h | 4 +++- .../TrigRoiConversion/TrigRoiConversion/RoiReader.h | 4 +++- .../TrigRoiConversion/TrigRoiConversion/RoiSerialise.h | 4 +++- Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx | 7 +++---- Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx | 3 +++ .../TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx | 4 +++- .../TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h | 3 +++ .../TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h | 4 +++- .../TrigSteeringEvent/TrigRoiDescriptor.h | 4 +++- .../TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h | 4 +++- Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx | 4 +++- 16 files changed, 44 insertions(+), 19 deletions(-) diff --git a/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx b/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx index 39f63e655bd..ea4ff80dd4a 100644 --- a/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx +++ b/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx @@ -254,7 +254,7 @@ bool TrigNavStructure::deserializeTEs(std::vector<uint32_t>::const_iterator& sta const size_t payloadSize = *inputIt++; if ( totalSize < payloadSize ) { // not all TEs were recorded - std::cerr << "size of the navigation payload smaller then reported size used to save TEs. " << totalSize << " < " << payloadSize << std::endl; + std::cerr << "size of the navigation payload smaller than the one required to save TEs. " << totalSize << " < " << payloadSize << std::endl; return false; } diff --git a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h index 9b9d6a0ff8e..ed0c20f013e 100644 --- a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h +++ b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h @@ -17,8 +17,8 @@ namespace HLT{ virtual ~StandaloneNavigation(); /** - * @brief method serizlizes the helper objects allowing use of FeatureAccessHelpers w/o CLID - * This methods should be owerwritten by the derived classes + * @brief method serializes the helper objects allowing use of FeatureAccessHelpers w/o CLID + * This methods should be overwritten by the derived classes * * @param output vector to place the result * @@ -28,7 +28,7 @@ namespace HLT{ virtual bool deserializeHolders(std::vector<uint32_t>::const_iterator& start, const std::vector<uint32_t>::const_iterator& end); /** - * @brief method serizlizes entire navigation + * @brief method serializes entire navigation * * @param output vector to place the result * diff --git a/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref b/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref index ea6342c8ea7..6f327edc7bb 100644 --- a/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref +++ b/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref @@ -19,6 +19,6 @@ INFO LINE:129 Test truncate DEBUG LINE:136 Test progressing DEBUG LINE:144 Test progressing DEBUG LINE:147 Test progressing -size of the navigation payload smaller then reported size used to save TEs. 17 < 18 +size of the navigation payload smaller than the one required to save TEs. 17 < 18 DEBUG LINE:152 Test progressing OK LINE:171 Test passed diff --git a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx index c01394d21a3..cbac9ed3bc6 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx @@ -1,10 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiReader.cxx // // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: RoiReader.cxx, v0.0 Wed 18 Nov 2015 12:22:35 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx index 26badbb5f66..b5bb07b330b 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiSerialise.cxx // @@ -6,7 +9,6 @@ // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: serialise.cxx, v0.0 Sat 31 Oct 2015 08:20:38 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h index 2299e412669..8c6ea070d78 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file IRoiReader.h // // // -// Copyright (C) 2016 M.Sutton (sutt@cern.ch) // // $Id: IRoiReader.h, v0.0 Sun 24 Jan 2016 16:40:31 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h index 40a71bdca8d..436906e0b4b 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiReader.h // // // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: RoiReader.h, v0.0 Sun 25th Jan 2016 12:20:40 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h index ac0069ba2ab..ed7f3731cad 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiSerialise.h // @@ -6,7 +9,6 @@ // std::vector<IRoiDescriptor*> TrigRoiDescriptorCollection etc // // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: serialise.h, v0.0 Sat 31 Oct 2015 08:21:54 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx index 4508c23835c..2f11d9ced8d 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx @@ -1,13 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiWriter.cxx // // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) -// -// $Id: RoiWriter.cxx 781778 2016-11-01 23:42:26Z sutt $ - // EDM include(s): #include "xAODTrigger/RoiDescriptorStore.h" diff --git a/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx b/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx index d383c2f10cc..c94eddc7af2 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx @@ -64,6 +64,9 @@ namespace HLTEnums { "TIMEOUT", "BUSY", "BAD_JOB_SETUP", + "MISSING_CALO_ROI", + "MISSING_MUON_ROI", + "MISSING_OTHER_ROI", "LAST_"}; } diff --git a/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx b/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx index 826fc4f8bf5..d48cd8df7ac 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigRoiDescriptor.h // @@ -7,7 +10,6 @@ // everything from DetectorDescription/RoiDescriptor // // @author sutt@cern.ch -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: RoiDescriptor.h, v0.0 Fri 08 Jun 2013 23:52:09 CEST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h index 5fde356159d..3b9f1fbdb20 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h @@ -60,6 +60,9 @@ namespace HLT { TIMEOUT, //!< timeout forced by the steering BUSY, //!< to flag that the event was busy BAD_JOB_SETUP, //!< job is badly configured + MISSING_CALO_ROI, //!< one ore more missing CALO RoIs + MISSING_MUON_ROI, //!< one ore more missing MUON RoIs + MISSING_OTHER_ROI,//!< one ore more missing RoI except CALO/MUON (e.g. MBTS, NIM, ...) LAST_, //!< there is basically no restriction on size since these errors are not saved per chain so do not need to be serialized in 6 bits. UNSPECIFIED_ = -1 //!< do not use } Code; diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h index 56fdd4b992a..5f0368c4b45 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h @@ -1,8 +1,10 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file phiHelper.h // -// Copyright (C) 2010 M.Sutton (sutt@cern.ch) // // $Id: phiHelper.h, v0.0 Sun 20 Jun 2010 20:21:49 BST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h index 819e609695f..b0ac1fc3dc3 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigRoiDescriptor.h // @@ -6,7 +9,6 @@ // for enforcement of correct roi sizes // // @author sutt@cern.ch -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: TrigRoiDescriptor.h, v0.1 Fri 08 Jun 2013 23:52:09 CEST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h index 8337e3774a8..f4834393233 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h @@ -1,11 +1,13 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoi.h // Container to contain multiple RoIs so that the // RegionSelector can know whether to return a single list // for multiple RoIs etc // -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: cTrigSuperRoi.h, v0.0 Thu 5 Dec 2013 16:07:30 CET sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx b/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx index 52f6536e84a..6d6f4518dda 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx @@ -1,10 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoi.cxx // // // @author M.Sutton // -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: TrigSuperRoi.cxx, v0.0 Thu 5 Dec 2013 16:13:43 CET sutt $ -- GitLab From d6ad9399cb9f95d4fd1955e8b1df425c85f11f12 Mon Sep 17 00:00:00 2001 From: Tim Martin <Tim.Martin@cern.ch> Date: Thu, 1 Nov 2018 18:53:18 +0100 Subject: [PATCH 047/209] * Template TrigCostDataStore payload * Change from milisecond to microsecond precision * Use atomic bool for event monitoring flag --- .../src/AlgorithmIdentifier.h | 54 +++++++++++++ .../TrigCostMonitorMT/src/TrigCostDataStore.h | 81 +++++-------------- ...ostDataStore.cxx => TrigCostDataStore.icc} | 45 ++++++----- .../TrigCostMonitorMT/src/TrigCostMTSvc.cxx | 57 +++++++++---- .../TrigCostMonitorMT/src/TrigCostMTSvc.h | 23 ++++-- .../TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h | 4 +- .../TrigTimeAlgs/src/TrigTimeStamp.cxx | 11 +-- 7 files changed, 169 insertions(+), 106 deletions(-) create mode 100644 Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h rename Trigger/TrigMonitoring/TrigCostMonitorMT/src/{TrigCostDataStore.cxx => TrigCostDataStore.icc} (56%) diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h new file mode 100644 index 00000000000..83114bc7913 --- /dev/null +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h @@ -0,0 +1,54 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H +#define TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H 1 + +#include <functional> +#include <string> + +/** + * @class AlgorithmIdentifier + * @brief Small structure to hold an algorithm's name and store, plus some details on its EventView. + */ +struct AlgorithmIdentifier { + AlgorithmIdentifier(const std::string& caller, const std::string& storeName, const int16_t viewID = -1) : + m_caller(caller), + m_store(storeName), + m_viewID(viewID), + m_hash(std::hash<std::string>{}(m_caller + m_store)) + {} + + const std::string m_caller; //!< Name of the algorithm + const std::string m_store; //!< Name of the algorithm's store. '0_StoreGateSvc_Impl' for main store. + const int16_t m_viewID; //!< If within an event view, then the ViewID. -1 if the main store. + const size_t m_hash; //!< Hash of algorithm + store. Event-unique quantity. +}; + +/** + * @class AlgorithmIdentifierHashCompare + * @brief Static hash and equal members as required by tbb::concurrent_hash_map + */ +struct AlgorithmIdentifierHashCompare { + /** + * @brief Hash function for AlgorithmIdentifier to assign bucket in hash map + * @param[in] ai AlgorithmIdentifier to calculate hash for + * @returns Cached std::hash<std::string> of algorithm name combined with algorithm store + */ + static size_t hash(const AlgorithmIdentifier& ai) { + return ai.m_hash; + } + + /** + * @brief Equality function for AlgorithmIdentifier to check for uniqueness within hash bucket + * @param[in] x First AlgorithmIdentifier to check equality of + * @param[in] y Second AlgorithmIdentifier to check equality of + * @returns True if both the algorithm name and algorithm store strings are identical + */ + static bool equal(const AlgorithmIdentifier& x, const AlgorithmIdentifier& y) { + return (x.m_caller == y.m_caller && x.m_store == y.m_store); + } +}; + +#endif // TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h index 7f10826cc5e..81a9e4f0e57 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h @@ -8,68 +8,25 @@ #include <tbb/concurrent_hash_map.h> #include <tbb/concurrent_vector.h> +#include "AlgorithmIdentifier.h" + #include "TrigTimeAlgs/TrigTimeStamp.h" #include "GaudiKernel/EventContext.h" #include "AthViews/View.h" - /** - * @class TrigCostDataStore - * @brief Thread safe and multi-slot hash-map to cache TrigTimeStamp objects during event execution - * - * The TrigTimeStamp objects are later used to construct a trigger cost summary for the event. - * Data are partitioned based on the slot of the event context and both the name and store of the - * audited algorithm, these three pieces of data uniquely identify an algorithm execution. - */ +/** + * @class TrigCostDataStore + * @brief Thread safe and multi-slot hash-map to cache PAYLOAD objects/primitives during event execution + * + * The TrigTimeStamp objects are later used to construct a trigger cost summary for the event. + * Data are partitioned based on the slot of the event context and both the name and store of the + * audited algorithm, these three pieces of data uniquely identify an algorithm execution. + */ +template<typename PAYLOAD> class TrigCostDataStore { public: - /** - * @class AlgorithmIdentifier - * @brief Small structure to hold an algorithm's name and store, plus some details on its EventView. - */ - struct AlgorithmIdentifier { - AlgorithmIdentifier(const std::string& caller, const std::string& storeName, const int16_t viewID = -1) : - m_caller(caller), - m_store(storeName), - m_viewID(viewID), - m_hash(std::hash<std::string>{}(m_caller + m_store)) - {} - - const std::string m_caller; //!< Name of the algorithm - const std::string m_store; //!< Name of the algorithm's store. '0_StoreGateSvc_Impl' for main store. - const int16_t m_viewID; //!< If within an event view, then the ViewID. -1 if the main store. - const size_t m_hash; //!< Hash of algorithm + store. Event-unique quantity. - }; - - /** - * @class AlgorithmIdentifierHashCompare - * @brief Static hash and equal members as required by tbb::concurrent_hash_map - */ - struct AlgorithmIdentifierHashCompare { - /** - * @brief Hash function for AlgorithmIdentifier to assign bucket in hash map - * @param[in] ai AlgorithmIdentifier to calculate hash for - * @returns Cached std::hash<std::string> of algorithm name combined with algorithm store - */ - static size_t hash(const AlgorithmIdentifier& ai) { - return ai.m_hash; - } - - /** - * @brief Equality function for AlgorithmIdentifier to check for uniqueness within hash bucket - * @param[in] x First AlgorithmIdentifier to check equality of - * @param[in] y Second AlgorithmIdentifier to check equality of - * @returns True if both the algorithm name and algorithm store strings are identical - */ - static bool equal(const AlgorithmIdentifier& x, const AlgorithmIdentifier& y) { - return (x.m_caller == y.m_caller && x.m_store == y.m_store); - } - }; - - typedef tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare> AITimerMapTBB; - typedef std::vector< AITimerMapTBB > VectorAITimerMapTBB; - /** * @brief Default constructor */ @@ -94,7 +51,7 @@ class TrigCostDataStore { * @param[in] payload The payload to record * @returns Success unless and out-of-range slot, then Failure */ - StatusCode insert(const EventContext& context, const std::string& caller, MsgStream& msg, const TrigTimeStamp& payload); + StatusCode insert(const EventContext& context, const std::string& caller, MsgStream& msg, const PAYLOAD& payload); /** * @brief Retrieve a payload from the map given an algorithm name and event context @@ -104,7 +61,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Retrieve a payload from the map given an algorithm name and store name. Note, this overrides the store in the context @@ -115,7 +72,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Retrieve a payload from the map given an AlgorithmIdentifier @@ -125,7 +82,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Clears all data stored in an event slot @@ -143,7 +100,9 @@ class TrigCostDataStore { * @param[out] end Return of iterator to end of map * @returns Success if the slot is populated, else Failure */ - StatusCode getIterators(const EventContext& context, MsgStream& msg, AITimerMapTBB::const_iterator& begin, AITimerMapTBB::const_iterator& end); + StatusCode getIterators(const EventContext& context, MsgStream& msg, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& begin, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& end); private: @@ -155,8 +114,10 @@ class TrigCostDataStore { */ StatusCode checkSlot(const size_t slot, MsgStream& msg) const; - VectorAITimerMapTBB m_store; //!< Underlying thread-safe data store for all slots: vector< hashmap< AlgorithmIdentifier, payload > > + std::vector< tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare> > m_store; //!< Underlying thread-safe data store for all slots: vector< hashmap< AlgorithmIdentifier, payload > > }; +#include "TrigCostDataStore.icc" + #endif // TRIGCOSTMONITORMT_TRIGCOSTDATASTORE_H diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc similarity index 56% rename from Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx rename to Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc index 5e6e1bcd457..15df21ea8fe 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc @@ -3,29 +3,29 @@ */ #include "AthenaKernel/ExtendedEventContext.h" - #include "AthenaBaseComps/AthCheckMacros.h" -#include "TrigCostDataStore.h" - ///////////////////////////////////////////////////////////////////////////// -StatusCode TrigCostDataStore::initialize(size_t nSlots) { - m_store.resize( nSlots, AITimerMapTBB() ); +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::initialize(size_t nSlots) { + m_store.resize( nSlots, tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>() ); return StatusCode::SUCCESS; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::insert(const EventContext& context, const std::string& caller, MsgStream& msg, const TrigTimeStamp& payload) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::insert(const EventContext& context, const std::string& caller, MsgStream& msg, const PAYLOAD& payload) { ATH_CHECK( checkSlot(context.slot(), msg) ); const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); if (proxy == nullptr) return StatusCode::FAILURE; const SG::View* view = dynamic_cast<const SG::View*>(proxy); const int16_t viewID = (view == nullptr ? -1 : view->viewID()); const AlgorithmIdentifier ai(caller, proxy->name(), viewID); - AITimerMapTBB& mapReference = m_store.at( context.slot() ); - AITimerMapTBB::accessor a; + // tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& + auto& mapReference = m_store.at( context.slot() ); + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::accessor a; if (mapReference.insert(a, std::move(ai))) { // Obtains lock on the key value 'name' until 'a' goes out of scope or calls release() a->second = payload; @@ -37,7 +37,8 @@ StatusCode TrigCostDataStore::insert(const EventContext& context, const std::str // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const { // Use proxy from given context to get the store (the name of the IProxyDict) const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); if (proxy == nullptr) return StatusCode::FAILURE; @@ -46,7 +47,8 @@ StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::s // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const { // Bundle supplied store name & caller into an AlgorithmIdentifier, rather than using the store from the context const AlgorithmIdentifier ai(caller, storeName); return retrieve(context, ai, msg, payload); @@ -54,10 +56,12 @@ StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::s // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, PAYLOAD& payload) const { ATH_CHECK( checkSlot(context.slot(), msg) ); - const AITimerMapTBB& mapReference = m_store.at( context.slot() ); - AITimerMapTBB::const_accessor ca; // Does not lock other const_accessor + // const tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& + const auto& mapReference = m_store.at( context.slot() ); + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_accessor ca; // Does not lock other const_accessor if (!mapReference.find(ca, ai)) { if (msg.level() <= MSG::DEBUG) { msg << MSG::DEBUG << "Cannot access key caller:'" << ai.m_caller << "' store:'" << ai.m_store << "' from the the TrigCostDataStore" << endmsg; @@ -71,9 +75,10 @@ StatusCode TrigCostDataStore::retrieve(const EventContext& context, const Algori // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::clear(const EventContext& context, MsgStream& msg) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::clear(const EventContext& context, MsgStream& msg) { ATH_CHECK( checkSlot(context.slot(), msg) ); - AITimerMapTBB& mapReference = m_store.at( context.slot() ); + tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& mapReference = m_store.at( context.slot() ); mapReference.clear(); if (msg.level() <= MSG::DEBUG) msg << MSG::DEBUG << "Clearing slot " << context.slot() << endmsg; return StatusCode::SUCCESS; @@ -81,9 +86,12 @@ StatusCode TrigCostDataStore::clear(const EventContext& context, MsgStream& msg) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::getIterators(const EventContext& context, MsgStream& msg, AITimerMapTBB::const_iterator& begin, AITimerMapTBB::const_iterator& end) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::getIterators(const EventContext& context, MsgStream& msg, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& begin, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& end) { ATH_CHECK( checkSlot(context.slot(), msg) ); - const AITimerMapTBB& mapReference = m_store.at( context.slot() ); + const tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& mapReference = m_store.at( context.slot() ); begin = mapReference.begin(); end = mapReference.end(); return StatusCode::SUCCESS; @@ -91,7 +99,8 @@ StatusCode TrigCostDataStore::getIterators(const EventContext& context, MsgStrea // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::checkSlot(const size_t slot, MsgStream& msg) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::checkSlot(const size_t slot, MsgStream& msg) const { if (m_store.size() <= slot) { msg << MSG::FATAL << "Requesting slot " << slot << " but we only reserved for " << m_store.size() << " slots. Make sure setSlots() was called." << endmsg; return StatusCode::FAILURE; diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx index 3caeec0d0bf..ef4870bd5a0 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx @@ -12,7 +12,8 @@ TrigCostMTSvc::TrigCostMTSvc(const std::string& name, ISvcLocator* pSvcLocator) base_class(name, pSvcLocator), // base_class = AthService m_eventMonitored(), m_algStartTimes(), -m_algStopTimes() +m_algStopTimes(), +m_algThreadID() { ATH_MSG_DEBUG("TrigCostMTSvc regular constructor"); } @@ -20,6 +21,7 @@ m_algStopTimes() // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TrigCostMTSvc::~TrigCostMTSvc() { + // delete[] m_eventMonitored; ATH_MSG_DEBUG("TrigCostMTSvc destructor()"); } @@ -29,9 +31,11 @@ TrigCostMTSvc::~TrigCostMTSvc() { StatusCode TrigCostMTSvc::initialize() { ATH_MSG_DEBUG("TrigCostMTSvc initialize()"); ATH_MSG_INFO(m_eventSlots); - m_eventMonitored.resize( m_eventSlots, 0 ); + // We cannot have a vector here as atomics are not movable nor copyable. Unique heap arrays are supported by C++ + m_eventMonitored = std::make_unique< std::atomic<bool>[] >( m_eventSlots ); ATH_CHECK(m_algStartTimes.initialize(m_eventSlots)); ATH_CHECK(m_algStopTimes.initialize(m_eventSlots)); + ATH_CHECK(m_algThreadID.initialize(m_eventSlots)); return StatusCode::SUCCESS; } @@ -39,11 +43,13 @@ StatusCode TrigCostMTSvc::initialize() { StatusCode TrigCostMTSvc::startEvent(const EventContext& context, const bool enableMonitoring) { const bool monitoredEvent = (enableMonitoring || m_monitorAll); - m_eventMonitored.at( context.slot() ) = monitoredEvent; + ATH_CHECK(checkSlot(context)); + m_eventMonitored[ context.slot() ] = monitoredEvent; if (monitoredEvent) { // Empty transient thread-safe stores in preparation for recording this event's cost data ATH_CHECK(m_algStartTimes.clear(context, msg())); ATH_CHECK(m_algStopTimes.clear(context, msg())); + ATH_CHECK(m_algThreadID.clear(context, msg())); } return StatusCode::SUCCESS; } @@ -51,11 +57,14 @@ StatusCode TrigCostMTSvc::startEvent(const EventContext& context, const bool ena // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * StatusCode TrigCostMTSvc::processAlg(const EventContext& context, const std::string& caller, const AuditType type) { + ATH_CHECK(checkSlot(context)); if (!isMonitoredEvent(context)) return StatusCode::SUCCESS; if (type == AuditType::Before) { ATH_CHECK( m_algStartTimes.insert(context, caller, msg(), TrigTimeStamp()) ); + ATH_CHECK( m_algThreadID.insert(context, caller, msg(), std::this_thread::get_id()) ); + ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() << "' began"); } else if (type == AuditType::After) { @@ -74,15 +83,16 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< if (!isMonitoredEvent(context)) return StatusCode::SUCCESS; // Reset eventMonitored flag - m_eventMonitored.at( context.slot() ) = 0; + ATH_CHECK(checkSlot(context)); + m_eventMonitored[ context.slot() ] = false; // Read payloads. Write to persistent format - TrigCostDataStore::AITimerMapTBB::const_iterator beginIt; - TrigCostDataStore::AITimerMapTBB::const_iterator endIt; + tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator beginIt; + tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator endIt; ATH_CHECK(m_algStartTimes.getIterators(context, msg(), beginIt, endIt)); - for (TrigCostDataStore::AITimerMapTBB::const_iterator it = beginIt; it != endIt; ++it) { - const TrigCostDataStore::AlgorithmIdentifier& ai = it->first; + for (tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator it = beginIt; it != endIt; ++it) { + const AlgorithmIdentifier& ai = it->first; const TrigTimeStamp& startTime = it->second; // Can we find the end time for this alg? Skip if not TrigTimeStamp stopTime; @@ -90,6 +100,11 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< ATH_MSG_DEBUG("No end time for '" << ai.m_caller << "', '" << ai.m_store << "'"); continue; } + std::thread::id threadID; + if (m_algThreadID.retrieve(context, ai, msg(), threadID).isFailure()) { + ATH_MSG_WARNING("Did not get thread ID for '" << ai.m_caller << "', '" << ai.m_store << "'"); + // Not fatal + } // Make a new TrigComposite to persist monitoring payload for this alg xAOD::TrigComposite* tc = new xAOD::TrigComposite(); @@ -101,12 +116,13 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< result &= tc->setDetail("store", ai.m_store); result &= tc->setDetail("view", ai.m_viewID); - std::pair<uint32_t,uint32_t> startTimePair = startTime.secondsAndMillisecondsSinceEpoch(); - std::pair<uint32_t,uint32_t> stopTimePair = stopTime.secondsAndMillisecondsSinceEpoch(); + result &= tc->setDetail("threadID", static_cast<uint32_t>( std::hash< std::thread::id >()(threadID) )); + std::pair<uint32_t,uint32_t> startTimePair = startTime.secondsAndMicrosecondsSinceEpoch(); + std::pair<uint32_t,uint32_t> stopTimePair = stopTime.secondsAndMicrosecondsSinceEpoch(); result &= tc->setDetail("startTimeSeconds", startTimePair.first); - result &= tc->setDetail("startTimeMilliseconds", startTimePair.second); + result &= tc->setDetail("startTimeMicroseconds", startTimePair.second); result &= tc->setDetail("stopTimeSeconds", stopTimePair.first); - result &= tc->setDetail("stopTimeMilliseconds", stopTimePair.second); + result &= tc->setDetail("stopTimeMicroseconds", stopTimePair.second); if (!result) ATH_MSG_WARNING("Failed to append one or more details to trigger cost TC"); } @@ -116,10 +132,11 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< ATH_MSG_INFO("Algorithm:'" << tc->name() << "'"); ATH_MSG_INFO(" Store:'" << tc->getDetail<std::string>("store") << "'"); ATH_MSG_INFO(" View ID:" << tc->getDetail<int>("view")); + ATH_MSG_INFO(" Thread ID Hash:" << tc->getDetail<uint32_t>("threadID") ); ATH_MSG_INFO(" Start Time Seconds:" << tc->getDetail<uint32_t>("startTimeSeconds") << " s"); - ATH_MSG_INFO(" Start Time Milliseconds:" << tc->getDetail<uint32_t>("startTimeMilliseconds") << " ms"); + ATH_MSG_INFO(" Start Time Microseconds:" << tc->getDetail<uint32_t>("startTimeMicroseconds") << " mu s"); ATH_MSG_INFO(" Stop Time Seconds:" << tc->getDetail<uint32_t>("stopTimeSeconds") << " s"); - ATH_MSG_INFO(" Stop Time Milliseconds:" << tc->getDetail<uint32_t>("stopTimeMilliseconds") << " ms"); + ATH_MSG_INFO(" Stop Time Microseconds:" << tc->getDetail<uint32_t>("stopTimeMicroseconds") << " mu s"); } } @@ -128,8 +145,18 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +StatusCode TrigCostMTSvc::checkSlot(const EventContext& context) const { + if (context.slot() >= m_eventSlots) { + ATH_MSG_FATAL("Job is using more event slots (" << context.slot() << ") than we configured for, m_eventSlots = " << m_eventSlots); + return StatusCode::FAILURE; + } + return StatusCode::SUCCESS; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + bool TrigCostMTSvc::isMonitoredEvent(const EventContext& context) const { - return m_eventMonitored.at( context.slot() ); + return m_eventMonitored[ context.slot() ]; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h index f18e9fa1f7c..e4f6b755e4a 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h @@ -5,6 +5,8 @@ #ifndef TRIGCOSTMONITORMT_TRIGCOSTMTSVC_H #define TRIGCOSTMONITORMT_TRIGCOSTMTSVC_H +#include <atomic> + #include "GaudiKernel/ToolHandle.h" #include "AthenaBaseComps/AthService.h" #include "TrigTimeAlgs/TrigTimeStamp.h" @@ -69,9 +71,9 @@ class TrigCostMTSvc : public extends <AthService, ITrigCostMTSvc> { private: - Gaudi::Property<bool> m_monitorAll{this, "MonitorAll", true, "Monitor every HLT event, e.g. for offline validation."}; - Gaudi::Property<bool> m_printTimes{this, "PrintTimes", true, "Sends per-algorithm timing to MSG::INFO."}; - Gaudi::Property<int> m_eventSlots{this, "EventSlots", 0, "Number of concurrent processing slots."}; + Gaudi::Property<bool> m_monitorAll{this, "MonitorAll", true, "Monitor every HLT event, e.g. for offline validation."}; + Gaudi::Property<bool> m_printTimes{this, "PrintTimes", true, "Sends per-algorithm timing to MSG::INFO."}; + Gaudi::Property<unsigned> m_eventSlots{this, "EventSlots", 0, "Number of concurrent processing slots."}; /** * @return If the event is flagged as being monitored. Allows for a quick return if not @@ -79,10 +81,19 @@ class TrigCostMTSvc : public extends <AthService, ITrigCostMTSvc> { */ bool isMonitoredEvent(const EventContext& context) const; - std::vector<uint8_t> m_eventMonitored; //!< Used to cache if the event in a given slot is being monitored. Storing bool in one byte vector. + /** + * Sanity check that the job is respecting the number of slots which were declared at config time + * @return Success if the m_eventMonitored array is range, Failure if access request would overflow + * @param[in] context The event context + */ + StatusCode checkSlot(const EventContext& context) const; + + + std::unique_ptr< std::atomic<bool>[] > m_eventMonitored; //!< Used to cache if the event in a given slot is being monitored. - TrigCostDataStore m_algStartTimes; //!< Thread-safe store of algorithm start times. - TrigCostDataStore m_algStopTimes; //!< Thread-safe store of algorithm stop times. + TrigCostDataStore<TrigTimeStamp> m_algStartTimes; //!< Thread-safe store of algorithm start times. + TrigCostDataStore<TrigTimeStamp> m_algStopTimes; //!< Thread-safe store of algorithm stop times. + TrigCostDataStore<std::thread::id> m_algThreadID; //!< Thread-safe store of algorithm's thread ID hash. }; diff --git a/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h b/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h index 6f75349149b..89c3f13a85d 100644 --- a/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h +++ b/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h @@ -52,9 +52,9 @@ public: /** * @return The time duration between when the time stamp was created and the epoch - * @return A pair of unsigned integer types. The first is the number of seconds since the epoch and the second is the number of ms since the last second + * @return A pair of unsigned integer types. The first is the number of seconds since the epoch and the second is the number of microseconds since the last second **/ - std::pair<uint32_t,uint32_t> secondsAndMillisecondsSinceEpoch() const; + std::pair<uint32_t,uint32_t> secondsAndMicrosecondsSinceEpoch() const; /** * Obtain the stamp value. diff --git a/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx b/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx index e711cbbb28a..3daf0c1c1b4 100644 --- a/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx +++ b/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx @@ -12,9 +12,10 @@ double TrigTimeStamp::millisecondsDifference(const TrigTimeStamp& other) const { return std::chrono::duration_cast<std::chrono::microseconds>( other.get() - m_stamp ).count(); } -std::pair<uint32_t,uint32_t> TrigTimeStamp::secondsAndMillisecondsSinceEpoch() const { - uint64_t millisecondsSinceEpoch = std::chrono::duration_cast<std::chrono::milliseconds>( m_stamp.time_since_epoch() ).count(); - uint64_t secondsSinceEpoch = millisecondsSinceEpoch / 1000ull; - millisecondsSinceEpoch -= (secondsSinceEpoch * 1000ull); - return std::make_pair(static_cast<uint32_t>(secondsSinceEpoch), static_cast<uint32_t>(millisecondsSinceEpoch)); +std::pair<uint32_t,uint32_t> TrigTimeStamp::secondsAndMicrosecondsSinceEpoch() const { + // Note: A uint64_t at microsecond precision has capacity of ~292,000 years + uint64_t microsecondsSinceEpoch = std::chrono::duration_cast<std::chrono::microseconds>( m_stamp.time_since_epoch() ).count(); + uint64_t secondsSinceEpoch = microsecondsSinceEpoch / 1000000ull; + microsecondsSinceEpoch -= (secondsSinceEpoch * 1000000ull); + return std::make_pair(static_cast<uint32_t>(secondsSinceEpoch), static_cast<uint32_t>(microsecondsSinceEpoch)); } -- GitLab From deec6b463a8ff7946474f8104c6646b7d0fa0d31 Mon Sep 17 00:00:00 2001 From: Siarhei Harkusha <Siarhei.Harkusha@cern.ch> Date: Thu, 1 Nov 2018 19:11:41 +0100 Subject: [PATCH 048/209] Correct Tile TMDB calibration Actually the calibration constants in DB for the TMDB channels are stored first the scale factor and second the offset. Tile TMDB calibration tool has been modified accordingly. --- TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx | 4 ++-- TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx b/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx index 15d155ca65a..5bd240ab3f4 100644 --- a/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx +++ b/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx @@ -110,8 +110,8 @@ unsigned int TileCondToolTMDB::getWeights(unsigned int drawerIdx, TMDB::CHANNEL float TileCondToolTMDB::channelCalib(unsigned int drawerIdx, TMDB::CHANNEL channel, float amplitude) const { SG::ReadCondHandle<TileCalibData<TileCalibDrawerFlt>> calibData(m_calibDataKey); - return calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 0) - + amplitude * calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 1); + return amplitude * calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 0) + + calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 1); } diff --git a/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx b/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx index 43c3c8e1d75..0909ce896b7 100644 --- a/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx +++ b/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx @@ -206,7 +206,7 @@ void test1() { std::vector<float> samples = {10, 20, 40, 80, 40, 20, 10}; amplitude = tool->channelCalib(TMF_DRAWER_IDX, TMDB::D5L, samples); - assert(Athena_test::isEqual(amplitude, 2121.0)); + assert(Athena_test::isEqual(amplitude, 1062.0)); } -- GitLab From e1e8cdc6aa7ece8ddfa04339f5c60292586fb158 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 17:26:29 +0100 Subject: [PATCH 049/209] McParticleEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. --- .../TruthParticleID/McParticleEvent/CMakeLists.txt | 4 ++-- .../McParticleEvent/TruthEtIsolationsContainer.h | 5 ++--- .../McParticleEvent/McParticleEvent/TruthParticleContainer.h | 5 ++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt index 47159dee883..2822639f7c3 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt @@ -9,7 +9,7 @@ atlas_subdir( McParticleEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks Control/Navigation @@ -33,7 +33,7 @@ atlas_add_library( McParticleEvent PUBLIC_HEADERS McParticleEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthContainers AthLinks Navigation + LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel AthContainers AthLinks Navigation EventKernel NavFourMom GeneratorObjects ParticleEvent VxVertex PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ) diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h index d61fe9e6924..cb900fda0eb 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -15,8 +15,7 @@ #include "AthContainers/DataVector.h" -// CLIDSvc includes (for persistency) -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // McParticleEvent includes #include "McParticleEvent/TruthEtIsolations.h" diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h index 6c8eff480ee..f52f7f3fda2 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // TruthParticleContainer.h @@ -18,8 +18,7 @@ #include "AthContainers/DataVector.h" #include "AthLinks/ElementLink.h" -// CLIDSvc includes (for persistency) -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // GeneratorObjects includes #include "GeneratorObjects/McEventCollection.h" -- GitLab From 1a66bca2631c3730fdbbd406e516ac776455e573 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:22:56 +0000 Subject: [PATCH 050/209] Merge branch '21.0-FastCaloSim-dev' into '21.0' Fixing not checked exit status (ATLASSIM-3893) See merge request atlas/athena!15454 (cherry picked from commit 6745fcb95ff0ec24c3224470585c3a9c4fcdceb8) cb3bb43f Fixing not checked exit status --- .../ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx index f8663edb9a4..9cc296629f7 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx @@ -79,7 +79,7 @@ StatusCode ISF::FastCaloSimSvcV2::initialize() const CaloDetDescrManager* calo_dd_man = CaloDetDescrManager::instance(); const FCALDetectorManager * fcalManager=NULL; - detStore()->retrieve(fcalManager); + ATH_CHECK(detStore()->retrieve(fcalManager)); m_caloGeo = new CaloGeometryFromCaloDDM(); m_caloGeo->LoadGeometryFromCaloDDM(calo_dd_man); -- GitLab From c0a6527741c84b4ece7770e65e27afaa8b4677b3 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:24:27 +0000 Subject: [PATCH 051/209] Merge branch '21.0-DESDM_EOVERP-additionFix' into '21.0' 21.0 desdm eoverp addition fix See merge request atlas/athena!15463 (cherry picked from commit 80379c398eceeda2b6578ca5763a65f696173b1c) d043b1d6 Fix typo in DESDM_EOVERP code 9c2181e1 Fix2 7b0b706f Fix3 1c2f5823 Fix4 --- .../PrimaryDPDMaker/python/PrimaryDPDFlags.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py b/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py index 97da3d36051..85f87e5633b 100644 --- a/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py +++ b/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py @@ -158,7 +158,7 @@ class WriteEOverPStream(JobProperty): StreamName = "StreamDESDM_EOVERP" FileName = "" isVirtual = False - DPDMakerScript = "PrimaryDPDMaker/PerfDESDM_EOverP.py" + DPDMakerScript = "PrimaryDPDMaker/PerfDPD_EOverP.py" pass jobproperties.PrimaryDPDFlags.add_JobProperty(WriteEOverPStream) listESDtoDPD.append(WriteEOverPStream.StreamName) @@ -189,6 +189,19 @@ class WriteDESDM_EGAMMAStream(JobProperty): jobproperties.PrimaryDPDFlags.add_JobProperty(WriteDESDM_EGAMMAStream) listESDtoDPD.append(WriteDESDM_EGAMMAStream.StreamName) +class WriteDAOD_PIXELVALIDStream(JobProperty): + """ Produce the DPD for DAOD_PIXELVALID - AOD with PrepRawData """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + StreamName = "StreamDAOD_PIXELVALID" + FileName = "" + isVirtual = False + DPDMakerScript = "InDetPrepRawDataToxAOD/PixelxAOD.py" + pass +jobproperties.PrimaryDPDFlags.add_JobProperty(WriteDAOD_PIXELVALIDStream) +listRAWtoDPD.append(WriteDAOD_PIXELVALIDStream.StreamName) + class WriteDESDM_MSPerfStream(JobProperty): """ Produce the primary DESDM for Muon Alignment and Trigger commissioning.""" statusOn = True -- GitLab From 63a50a512ccbb64d77b2c8852a494e9ef15a336a Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:27:11 +0000 Subject: [PATCH 052/209] Merge branch '21.0-fsohns-heavyions-development' into '21.0' Changed the heavyions_run.config to the same as collisions_run for Pixel See merge request atlas/athena!15509 (cherry picked from commit d62c1892a84eb5fd12fd1adc5fbbcc0c53883d24) 6c872898 changed the heavyions_run.config to the same as collisions_run e8a27648 fixed small typo --- .../python/iconfTool/gui/__init__.py | 0 .../config/Pixel/heavyions_run.config | 11094 +++++++++------- .../python/TestDisplay.py | 2 +- 3 files changed, 6041 insertions(+), 5055 deletions(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/gui/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config index c17c530d252..710fc92863d 100644 --- a/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config +++ b/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config @@ -1,5054 +1,6040 @@ -# ********************************************************************** -# $Id: heavyions_run.config 778592 2016-10-14 17:48:24Z dyamaguc $ -# ********************************************************************** - -############# -# Output -############# - -output top_level { - output InnerDetector { - output Pixel { - output PixelExpert { - output GeneralAllHits { - } - output GeneralOnTrack { - } - output TimingAllHits { - } - output Tracks_fromIDglobal { - } - output Tracks { - } - output Errors { - output ALL { - } - output Bad_Module_Errors { - output Synchronization_Module_BCID1 { - } - output Synchronization_Module_BCID2 { - } - output Synchronization_Module_LVL1ID { - } - output Synchronization_ROD_BCID { - } - output Synchronization_ROD_LVL1ID { - } - output Truncation_Module_EoC { - } - output Truncation_Module_EoE_Overflow { - } - output Truncation_Module_Hit_Overflow { - } - output Truncation_ROD_FIFO_Overflow { - } - output Truncation_ROD_HT_Limit { - } - output Optical_Errors { - } - output ROD_Timeout { - } - output SEU_Hamming { - } - output SEU_Hit_Parity { - } - output SEU_Register_Parity { - } - output FE_Warning { - } - #output Synchronization_Correlations { - #} - } - } - } - #output DQShift { - # output ClusterOccupancy { - # } - # output LBDependence { - # } - # output LBDependenceOnTrack { - # } - #} - #output ALL { - # output Hits { - # } - # output DisableAndErrors { - # } - # output CombinedTrack { - # } - # output PixelOnlyTrack { - # } - # output Timing { - # } - # output LBdependence { - # } - # output _Experts { - # } - #} - output DBM { - output ClusterHits { - } - output Hits { - } - output Timing { - } - } - output PIXIBL { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _DCS { - output ModuleTemperature { - } - output ModuleLowVoltage { - } - output ModuleHighVoltage { - } - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX0 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX1 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX2 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECA { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECC { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - } - } -} - - - -########################################################### -# Pixel -########################################################### - -####################### -# Histogram Assessments -####################### - -dir Pixel { - - dir Hits { - hist num_hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_per_pixel_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - #hist Average_PixOcc_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist AvgOcc_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - } - hist AvgOcc_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - } - - hist AvgOcc_per_BCID_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - } - - hist Hits_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - output = InnerDetector/Pixel/DQShift/LBDependence - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hits_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hit_ToT { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox,AxisRange(0,256,"X") - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Hit_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist AvgOcc_RatioIBLB0_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Timing { - hist Lvl1A { - algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Lvl1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist LvlID { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - } - - hist Pixel_BCID { - algorithm = Pix_BCID_NoEmptyBins - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox,AxisRange(0,500,"X") - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - #hist Atlas_BCID@1 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(0,500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@2 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(500,1000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@3 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1000,1500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@4 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1500,2000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@5 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2000,2500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@6 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2500,3000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@7 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(3000,3500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - hist Atlas_BCID_Hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - #hist Cluster_LVL1A { - # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - # hist trigger { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B0 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B1 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B2 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECA { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECC { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - - hist Lvl1ID_diff_ATLAS_mod { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - } - - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - } - } - - - dir TimingOnTrack { - hist Cluster_LVL1A_OnTrack { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_Mod_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL2D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL3D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - } - - - dir Clusters { - hist Cluster_Occupancy_DBMA { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_DBMC { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Cluster_Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Clus_Occ_SizeCut_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = Pix_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - hist TotalClusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Cluster_Size_Map_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - } - - - dir ClustersOnTrack { - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_charge_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_OnTrack { - algorithm = Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - - hist TotalClusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Status { - hist Map_Of_Modules_Status_IBL { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL2D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL3D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B0 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B1 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B2 { - algorithm = Pix_DisabledMod_B2 - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECA { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECC { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - - hist Ok_modules_ECA { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_ECC { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL2D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL3D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B0 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B1 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B2 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - - hist DisabledModules_per_lumi { - algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist DisabledModules_per_lumi_ECA { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_ECC { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL2D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL3D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B0 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B1 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B2 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL2D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL3D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Errors { - hist Error_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist ErrorBit_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - #hist SEU_Errors_IBL { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B0 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX0/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B1 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX1/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B2 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX2/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_A { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_C { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECA { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECC { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - - hist SEUErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist OpticalErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist TruncationErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist SyncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist errors_per_lumi { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist errors_per_lumi_ECA { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_ECC { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_IBL { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B0 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B1 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B2 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - #hist SyncErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist OpticalErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist SEUErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - ## POST PROCESS - hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - - } - - - dir ErrorsExpert { - hist Bad_Module_Errors_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - - hist Errors_EtaID_per_event_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - } - - hist FE_Warning_per_lumiMap_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist Mod_Sync_BCID1_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist Mod_Sync_BCID2_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist Mod_Trunc_EOC_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist Optical_Errors_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist Optical_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist ROD_Sync_BCID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist ROD_Timeout_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Timeout_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist SEUErrors_Hamming_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SEU_Hamming_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEU_Hit_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEU_Register_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - } - - - #Track histograms from PixelMonitoring - #Below plot Combined Tracks - dir TrackOnTrack { - #hist m_Pixel_track_res_phi { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox,AxisRange(-0.05,0.05,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_res_eta { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_d0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_z0 { - # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_phi0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_eta { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_qOverP { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_pt { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracks_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist trackRate_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracksPerEvt_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - #hist ClustersOnOffTrack_per_lumi { - # algorithm = Pix_LB_Bins_Diff_FromAvg - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = <LogZ,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_mass_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - - ### Track State On Surface: Hole - hist TSOS_Hole_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Measurement - hist TSOS_Measurement_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Outlier - hist TSOS_Outlier_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Degradation Factor map for IP resolution - hist degFactorMap { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_eta_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_phi_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Hit efficiency - hist HitEff_all_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - } - - dir SpacePoint { - hist pixel_sp_r_vs_z { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - hist pixel_sp_x_vs_y { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - } - - dir DCS { - hist moduleTemperature_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S01 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S02 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S03 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S04 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S05 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S06 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S07 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S08 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S09 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S10 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S11 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S12 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S13 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S14 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist LV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist HV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist HVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - } - -} -# now get the pixel relevant plots from InDetGlobal -dir InDetGlobal { - dir Pixel { - hist m_Pixel_track_res_phi { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.2,0.2,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_res_eta { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.3,0.3,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_d0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-20.0,20.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_z0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-390.0,390.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_phi0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_eta { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_qOverP { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(0.0,10.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - } - dir Track { - #hist COMB_goodPixTrk_eta_phi { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - # hist COMB_goodPixTrk_eta { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - # hist COMB_goodPixTrk_phi { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - } - dir Hits { - #hist m_ID_hitmap_x_y@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist m_ID_hitmap_z_r@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - } -} - -############# -# Algorithms -############# - -algorithm Pix_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - thresholds = Pix_Diff_FromAvg -} -algorithm Pix_LB_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - NSigma = 10 - PublishBins = 1 - thresholds = Pix_LB_Diff_FromAvg -} -compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_GreaterThan_Threshold,BinPrint -} -### For Errors -algorithm Pix_NonZero_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_NonZero_Errors_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_Frac_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_ErrorFrac_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_DisabledMod_Endcap { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B0B1 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B2 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 0 -} -compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_Equal_Threshold,BinPrint -} -algorithm Pix_Occupancy_Endcap { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 500 -} -algorithm Pix_Occupancy_B0B1 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 1500 -} -algorithm Pix_Occupancy_B2 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 2500 -} -algorithm Pix_GatherData { - libname = libdqm_algorithms.so - name = GatherData - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Plain_GatherData { - libname = libdqm_algorithms.so - name = GatherData -} -algorithm Pix_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm PixGlobal_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_BinPrint { - libname = libdqm_algorithms.so - name = BinPrint - UnMask_All = 4 - Mask_2 = 1 - Mask_3 = 1 -} -compositeAlgorithm Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { - subalgs = CheckHisto_Mean,BinPrint - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_Timing_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_Timing_CheckMean_Thresh -} -algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_HitTiming_CheckMean_Thresh -} -algorithm Pix_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 2000 - thresholds = Pix_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_track_z0_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_track_z0_Thresh - MinStat = 100 -} -algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 500 - thresholds = PixTrack_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_Npix_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -#algorithm Pix_Npix_CheckHisto_Mean&GatherData { -# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -# name = Pix_CheckHisto_Mean&GatherData -# thresholds = Pix_Npix_CheckMean_Thresh -# MinStat = 100 -#} -algorithm Pix_BCID_NoEmptyBins { - libname = libdqm_algorithms.so - xmin = 0.0 - xmax = 255.0 - name = Bins_LessThan_Threshold - BinThreshold = 1 - MinStat = 3000 - thresholds = Pix_BCID_NoEmptyBins_Thresholds -} -algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_BCID_Thresh - UnMask_All = 20 - UseValue = 2 - Value = 10000 -} -algorithm Pix_Charge_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_Charge_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 - MinStat = 100 -} -algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ErrorLB_CheckMean_Thresh - MinStat = 100 -} -compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so -} -algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh - MinStat = 100 -} - -# -############## -## Thresholds -############## -# -thresholds Pix_Diff_FromAvg { - -} -thresholds Pix_LB_Diff_FromAvg { - limits NBins { - warning = 1 - error = 9999 - } -} -thresholds Pix_NonZero_Errors_Threshold { - limits NBins { - warning = 0 - error = 1000 - } -} -thresholds Pix_ErrorFrac_Threshold { - limits NBins { - warning = 0.05 - error = 0.3 - } -} -thresholds Pix_DisabledMod_Endcap_Threshold { - limits NBins { - warning = 10 - error = 100 - } -} -thresholds Pix_DisabledMod_B0B1_Threshold { - limits NBins { - warning = 15 - error = 150 - } -} -thresholds Pix_DisabledMod_B2_Threshold { - limits NBins { - warning = 40 - error = 400 - } -} -thresholds Pix_Timing_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_HitTiming_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 750 - error = 9999 - } -} -thresholds PixTrack_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 500 - error = 9999 - } -} -thresholds Pix_track_z0_Thresh { - limits AbsXMean { - warning = 50 - error = 9999 - } -} -thresholds Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Hits_Noise_lumi_Thresh { - limits AbsYMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_lumi_Thresh { - limits AbsYMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Hits_Noise_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_Thresh { - limits AbsXMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 50 - error = 999 - } -} -thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { - limits AbsXMean { - warning = 0.1 - error = 999 - } -} -thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { - limits AbsYMean { - warning = 150 - error = 10000 - } -} -thresholds Pix_BCID_NoEmptyBins_Thresholds { - limits NBins { - warning = 1 - error = 999 - } -} -thresholds Pix_BCID_Thresh { - limits NBins { - warning = 5000 - error = 9999 - } -} -thresholds Pix_Charge_CheckMean_Thresh { - limits AbsXMean { - warning = 75000 - error = 150000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh { - limits AbsYMean { - warning = 80 - error = 1000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { - limits AbsYMean { - warning = 10 - error = 140 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { - limits AbsYMean { - warning = 17 - error = 250 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { - limits AbsYMean { - warning = 55 - error = 600 - } -} -thresholds Pix_ErrorLB_CheckMean_Thresh { - limits AbsYMean { - warning = 100 - error = 10000 - } -} +# ********************************************************************** +# $Id: collisions_run.config 770713 2016-08-29 21:45:04Z dyamaguc $ +# ********************************************************************** + +############# +# Output +############# + +output top_level { + output InnerDetector { + output Pixel { + output PixelExpert { + output GeneralAllHits { + } + output GeneralOnTrack { + } + output TimingAllHits { + } + output Tracks_fromIDglobal { + } + output Tracks { + } + output Errors { + output ALL { + } + output Bad_Module_Errors { + output Synchronization_Module_BCID1 { + } + output Synchronization_Module_BCID2 { + } + output Synchronization_Module_LVL1ID { + } + output Synchronization_ROD_BCID { + } + output Synchronization_ROD_LVL1ID { + } + output Truncation_Module_EoC { + } + output Truncation_Module_EoE_Overflow { + } + output Truncation_Module_Hit_Overflow { + } + output Truncation_ROD_FIFO_Overflow { + } + output Truncation_ROD_HT_Limit { + } + output Optical_Errors { + } + output ROD_Timeout { + } + output SEU_Hamming { + } + output SEU_Hit_Parity { + } + output SEU_Register_Parity { + } + output FE_Warning { + } + #output Synchronization_Correlations { + #} + } + } + } + #output DQShift { + # output ClusterOccupancy { + # } + # output LBDependence { + # } + # output LBDependenceOnTrack { + # } + #} + #output ALL { + # output Hits { + # } + # output DisableAndErrors { + # } + # output CombinedTrack { + # } + # output PixelOnlyTrack { + # } + # output Timing { + # } + # output LBdependence { + # } + # output _Experts { + # } + #} + output DBM { + output ClusterHits { + } + output Hits { + } + output Timing { + } + } + output PIXIBL { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _DCS { + output ModuleTemperature { + } + output ModuleLowVoltage { + } + output ModuleHighVoltage { + } + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX0 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX1 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX2 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECA { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECC { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + } + } +} + + + +########################################################### +# Pixel +########################################################### + +####################### +# Histogram Assessments +####################### + +dir Pixel { + dir Hits { + + hist Occupancy_per_pixel_event_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Occupancy_Summary_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist num_hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + #hist Average_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + #hist Average_PixOcc_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist AvgOcc_active_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + } + + hist AvgOcc_per_BCID_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + } + + hist Hits_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + output = InnerDetector/Pixel/DQShift/LBDependence + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hits_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hit_ToT { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox,AxisRange(0,256,"X") + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Hit_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Hit_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Hit_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist AvgOcc_RatioIBLB0_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Timing { + hist Lvl1A { + algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Lvl1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist LvlID { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + } + + hist Pixel_BCID { + algorithm = Pix_BCID_NoEmptyBins + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox,AxisRange(0,500,"X") + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + #hist Atlas_BCID@1 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(0,500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@2 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(500,1000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@3 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1000,1500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@4 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1500,2000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@5 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2000,2500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@6 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2500,3000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@7 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(3000,3500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + hist Atlas_BCID_Hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + #hist Cluster_LVL1A { + # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + # hist trigger { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B0 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B1 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B2 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECA { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECC { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + + hist Lvl1ID_diff_ATLAS_mod { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + } + + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + } + } + + + dir TimingOnTrack { + hist Cluster_LVL1A_OnTrack { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_Mod_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL2D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL3D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + } + + + dir Clusters { + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_B0 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clus_Occ_SizeCut_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist Cluster_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Cluster_Q_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_Q_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_Q_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = Pix_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir ClustersOnTrack { + + hist Cluster_Occupancy_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + + hist Cluster_charge_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_IBL { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_QxCosAlpha_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_QxCosAlpha_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_QxCosAlpha_IBL2D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_IBL3D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_ToTxCosAlpha_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_OnTrack { + algorithm = Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + + hist Clusters_row_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Status { + hist Map_Of_Modules_Status_IBL { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist Map_Of_Modules_Status_B0 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B1 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B2 { + algorithm = Pix_DisabledMod_B2 + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECA { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECC { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist DisabledModules_per_lumi { + algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist DisabledModules_per_lumi_ECA { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_ECC { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL2D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL3D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B0 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B1 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B2 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL2D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL3D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Errors { + + hist SyncErrors_Mod_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SEUErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + #hist SEU_Errors_IBL { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B0 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX0/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B1 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX1/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B2 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX2/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_A { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_C { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECA { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECC { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + + hist SEUErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist OpticalErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist OpticalErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TruncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist TruncationErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + # adding SyncErrors_Mod_per_lumi + hist SyncErrors_Mod_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ################################ + # adding SyncErrors_ROD_per_lumi + hist SyncErrors_ROD_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ###################################### + hist SyncErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist errors_per_lumi { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist errors_per_lumi_ECA { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_ECC { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_IBL { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B0 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B1 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B2 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + #hist OpticalErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + #hist SEUErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + ## POST PROCESS + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + dir ErrorsExpert { + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCIS_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + ##IBL _Experts/DisableAndErrors + hist Address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_SEU_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_bitflip_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Data_bus_address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Hamming_code_0_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_1_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_2_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_Trigger_ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_incounter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_register_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_request_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist LVL1ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Limit_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Masked_link_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Other_CMD_decoder_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Preamble_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Readout_processor_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Row_Column_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + # hist ServiceRecord_Count_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = StatBox + # } + #hist ServiceRecord_Unweighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + #hist ServiceRecord_Weighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + hist Skipped_trig_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors2_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Truncated_event_flag_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Write_reg_data_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + + + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + + + + +############# + hist Bad_Module_Errors_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + + hist FE_Warning_per_lumiMap_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist Mod_Sync_BCID1_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist Mod_Sync_BCID2_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist Mod_Trunc_EOC_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist Optical_Errors_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist Optical_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist ROD_Sync_BCID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist ROD_Timeout_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Timeout_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist SEUErrors_Hamming_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SEU_Hamming_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEU_Hit_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEU_Register_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + } + + + #Track histograms from PixelMonitoring + #Below plot Combined Tracks + dir TrackOnTrack { + #hist m_Pixel_track_res_phi { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox,AxisRange(-0.05,0.05,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_res_eta { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_d0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_z0 { + # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_phi0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_eta { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_qOverP { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_pt { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracks_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist trackRate_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracksPerEvt_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + #hist ClustersOnOffTrack_per_lumi { + # algorithm = Pix_LB_Bins_Diff_FromAvg + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = <LogZ,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_mass_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + + ### Track State On Surface: Hole + hist TSOS_Hole_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Measurement + hist TSOS_Measurement_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Outlier + hist TSOS_Outlier_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Degradation Factor map for IP resolution + hist degFactorMap { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_eta_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_phi_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Hit efficiency + hist HitEff_all_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + } + + dir SpacePoint { + hist pixel_sp_r_vs_z { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + hist pixel_sp_x_vs_y { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + } + + dir DCS { + hist moduleTemperature_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S01 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S02 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S03 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S04 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S05 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S06 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S07 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S08 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S09 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S10 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S11 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S12 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S13 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S14 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist LV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist HV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist HVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + } + +} +# now get the pixel relevant plots from InDetGlobal +dir InDetGlobal { + dir Pixel { + hist m_Pixel_track_res_phi { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.2,0.2,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_res_eta { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.3,0.3,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_d0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-20.0,20.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_z0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-390.0,390.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_phi0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_eta { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_qOverP { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(0.0,10.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + } + dir Track { + #hist COMB_goodPixTrk_eta_phi { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + # hist COMB_goodPixTrk_eta { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + # hist COMB_goodPixTrk_phi { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + } + dir Hits { + #hist m_ID_hitmap_x_y@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist m_ID_hitmap_z_r@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + } +} + +############# +# Algorithms +############# + +algorithm Pix_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + thresholds = Pix_Diff_FromAvg +} +algorithm Pix_LB_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + NSigma = 10 + PublishBins = 1 + thresholds = Pix_LB_Diff_FromAvg +} +compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_GreaterThan_Threshold,BinPrint +} + +compositeAlgorithm Pix_Bins_LessThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_LessThan_Threshold,BinPrint +} + +### For Errors + +algorithm Pix_Clusters_Row_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 2.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Clusters_Column_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 1.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Disabled_Synch_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.1 + thresholds = Pix_Disabled_Synch_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_NonZero_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_NonZero_Errors_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_Frac_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_ErrorFrac_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_DisabledMod_Endcap { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B0B1 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B2 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 0 +} +compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_Equal_Threshold,BinPrint +} + +algorithm Pix_Occupancy_Endcap { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 500 +} +algorithm Pix_Occupancy_B0B1 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 1500 +} +algorithm Pix_Occupancy_B2 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 2500 +} +algorithm Pix_GatherData { + libname = libdqm_algorithms.so + name = GatherData + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Plain_GatherData { + libname = libdqm_algorithms.so + name = GatherData +} +algorithm Pix_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm PixGlobal_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_BinPrint { + libname = libdqm_algorithms.so + name = BinPrint + UnMask_All = 4 + Mask_2 = 1 + Mask_3 = 1 +} +compositeAlgorithm Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { + subalgs = CheckHisto_Mean,BinPrint + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_Timing_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_Timing_CheckMean_Thresh +} +algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_HitTiming_CheckMean_Thresh +} +algorithm Pix_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 2000 + thresholds = Pix_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_track_z0_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_track_z0_Thresh + MinStat = 100 +} +algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 500 + thresholds = PixTrack_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_Npix_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +#algorithm Pix_Npix_CheckHisto_Mean&GatherData { +# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +# name = Pix_CheckHisto_Mean&GatherData +# thresholds = Pix_Npix_CheckMean_Thresh +# MinStat = 100 +#} +algorithm Pix_BCID_NoEmptyBins { + libname = libdqm_algorithms.so + xmin = 0.0 + xmax = 255.0 + name = Bins_LessThan_Threshold + BinThreshold = 1 + MinStat = 3000 + thresholds = Pix_BCID_NoEmptyBins_Thresholds +} +algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_BCID_Thresh + UnMask_All = 20 + UseValue = 2 + Value = 10000 +} +algorithm Pix_Charge_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_Charge_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 + MinStat = 100 +} +algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ErrorLB_CheckMean_Thresh + MinStat = 100 +} +compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so +} +algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh + MinStat = 100 +} + +# +############## +## Thresholds +############## +# +thresholds Pix_Diff_FromAvg { + +} +thresholds Pix_LB_Diff_FromAvg { + limits NBins { + warning = 1 + error = 9999 + } +} +thresholds Pix_NonZero_Errors_Threshold { + limits NBins { + warning = 0 + error = 1000 + } +} + +thresholds Pix_Clusters_ColumnRow_LB_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + + + +thresholds Pix_Disabled_Synch_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + +thresholds Pix_ErrorFrac_Threshold { + limits NBins { + warning = 0.05 + error = 0.3 + } +} +thresholds Pix_DisabledMod_Endcap_Threshold { + limits NBins { + warning = 10 + error = 100 + } +} + +thresholds Pix_DisabledMod_B0B1_Threshold { + limits NBins { + warning = 15 + error = 150 + } +} +thresholds Pix_DisabledMod_B2_Threshold { + limits NBins { + warning = 40 + error = 400 + } +} +thresholds Pix_Timing_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_HitTiming_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 750 + error = 9999 + } +} +thresholds PixTrack_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 500 + error = 9999 + } +} +thresholds Pix_track_z0_Thresh { + limits AbsXMean { + warning = 50 + error = 9999 + } +} +thresholds Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Hits_Noise_lumi_Thresh { + limits AbsYMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_lumi_Thresh { + limits AbsYMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Hits_Noise_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_Thresh { + limits AbsXMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 50 + error = 999 + } +} +thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { + limits AbsXMean { + warning = 0.1 + error = 999 + } +} +thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { + limits AbsYMean { + warning = 150 + error = 10000 + } +} +thresholds Pix_BCID_NoEmptyBins_Thresholds { + limits NBins { + warning = 1 + error = 999 + } +} +thresholds Pix_BCID_Thresh { + limits NBins { + warning = 5000 + error = 9999 + } +} +thresholds Pix_Charge_CheckMean_Thresh { + limits AbsXMean { + warning = 75000 + error = 150000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh { + limits AbsYMean { + warning = 80 + error = 1000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { + limits AbsYMean { + warning = 10 + error = 140 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { + limits AbsYMean { + warning = 17 + error = 250 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { + limits AbsYMean { + warning = 55 + error = 600 + } +} +thresholds Pix_ErrorLB_CheckMean_Thresh { + limits AbsYMean { + warning = 100 + error = 10000 + } +} + diff --git a/DataQuality/DataQualityConfigurations/python/TestDisplay.py b/DataQuality/DataQualityConfigurations/python/TestDisplay.py index 34fc6fc29a6..8011d1d1aca 100644 --- a/DataQuality/DataQualityConfigurations/python/TestDisplay.py +++ b/DataQuality/DataQualityConfigurations/python/TestDisplay.py @@ -17,7 +17,7 @@ else: print "DataQualityConfigurations data directory not found, using $PWD instead." print "Looking for collisions_*.hcfg files in %s" % (hcfg_dir) -dqconfig.hcfg = "%s/collisions_run.hcfg" % (hcfg_dir) +dqconfig.hcfg = "%s/heavyions_run.hcfg" % (hcfg_dir) dqconfig.hcfg_min10 = "%s/collisions_minutes10.hcfg" % (hcfg_dir) dqconfig.hcfg_min30 = "%s/collisions_minutes30.hcfg" % (hcfg_dir) -- GitLab From 1c1eac1b1f934f7fa80aafaf58388e92c644b2bc Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:34:47 +0000 Subject: [PATCH 053/209] Merge branch '21.0-DQT-no-WZ-in-HI' into '21.0' Fix HI jet collection for WZFinder See merge request atlas/athena!15538 (cherry picked from commit 0bec1a2c1dc8602e7631135173f97652107db17a) 264edef7 Fix HI jet collection for WZFinder --- Control/AthenaConfiguration/python/iconfTool/gui/__init__.py | 0 DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/gui/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py b/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py index da955be17df..d63767d8481 100644 --- a/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py +++ b/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py @@ -35,7 +35,7 @@ if athenaCommonFlags.isOnline==True: from RecExConfig.RecFlags import rec if rec.doHeavyIon(): - JetCollectionKey='antikt4HIItrEM_TowerJets' + JetCollectionKey='AntiKt4HIJets' else: JetCollectionKey='AntiKt4EMTopoJets' -- GitLab From 7c48162f5c1ef9c26bd05f503f4566249e77d389 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:35:39 +0000 Subject: [PATCH 054/209] Merge branch '21.0-HIcutsUpdate' into '21.0' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding new cuts levels for HI tracking, to recover efficiency in 21.0 See merge request atlas/athena!15539 (cherry picked from commit 68a5653dc38c3fb678053baa41240c7bd88b59f6) dd1d8c74 Adding new cuts levels for HI tracking, to recover efficiency in 21.0 (see… e95d7814 Update ConfiguredNewTrackingCuts.py --- .../python/iconfTool/gui/__init__.py | 0 .../python/ConfiguredNewTrackingCuts.py | 30 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/gui/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py index e3285fb6b80..963a512fd83 100755 --- a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py +++ b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py @@ -556,10 +556,10 @@ class ConfiguredNewTrackingCuts : self.__minClusters = 9 self.__minSiNotShared = 7 self.__maxShared = 2 # was 1, cut is now on number of shared modules - self.__maxHoles = 0 # was 1 - self.__maxPixelHoles = 0 # was 2 - self.__maxSctHoles = 0 # was 1 - self.__maxDoubleHoles = 0 # was 1 + self.__maxHoles = 0 + self.__maxPixelHoles = 0 + self.__maxSctHoles = 0 + self.__maxDoubleHoles = 0 self.__nHolesMax = self.__maxHoles self.__nHolesGapMax = self.__maxHoles self.__Xi2max = 6. @@ -575,6 +575,28 @@ class ConfiguredNewTrackingCuts : self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds self.__useParameterizedTRTCuts = False self.__useNewParameterizationTRT = False + elif self.__indetflags.cutLevel() == 4: # ==CutLevel 2 with loosened hole cuts and chi^2 cuts + self.__seedFilterLevel = 2 + self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds + self.__maxHoles = 2 + self.__maxPixelHoles = 1 + self.__maxSctHoles = 1 + self.__maxDoubleHoles = 0 + self.__Xi2max = 9. + self.__Xi2maxNoAdd = 25. + elif self.__indetflags.cutLevel() == 5: # ==CutLevel 3 with loosened hole cuts and chi^2 cuts + self.__minPT = 0.300 * Units.GeV + self.__seedFilterLevel = 2 + self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds + self.__useParameterizedTRTCuts = False + self.__useNewParameterizationTRT = False + self.__maxHoles = 2 + self.__maxPixelHoles = 1 + self.__maxSctHoles = 1 + self.__maxDoubleHoles = 0 + self.__Xi2max = 9. + self.__Xi2maxNoAdd = 25. + self.__radMax = 600. * Units.mm # restrict to pixels + first SCT layer self.__useTRT = False -- GitLab From a829f3bb636cec8fb5d09446d140bfb1dc50bf32 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 1 Nov 2018 23:28:42 +0000 Subject: [PATCH 055/209] Merge branch '21.0-HI-monitoring-steering' into '21.0' Functional stream-aware monitoring for HI See merge request atlas/athena!15529 (cherry picked from commit 4ed198a68789edfa5c7347dadbec2a11983a0fa4) 29913ca3 Functional stream-aware monitoring for HI --- Control/AthenaConfiguration/python/iconfTool/gui/__init__.py | 0 .../AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/gui/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py index f137f6cb18b..bb672ba9676 100644 --- a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py +++ b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py @@ -274,9 +274,10 @@ if DQMonFlags.doStreamAwareMon: LArMonFlags.doLArNoisyROMon=True # All monitoring turned on for express stream (except LArRawChannelMon) - # HIP runs will use the express settings for MinBias, MinBiasOverlay, HardProbes, bulk, and UPC + # HIP/HI runs will use the express settings for MinBias, MinBiasOverlay, HardProbes, bulk, and UPC if (rec.triggerStream()=='express' or rec.triggerStream()=='Main' or - (rec.doHIP() and rec.triggerStream() in ['MinBias', 'MinBiasOverlay', 'HardProbes', 'bulk', 'UPC'])): + ((rec.doHIP() or rec.doHeavyIon()) + and rec.triggerStream() in ['MinBias', 'MinBiasOverlay', 'HardProbes', 'bulk', 'UPC'])): LArMonFlags.doLArCollisionTimeMon=True LArMonFlags.doLArAffectedRegions=True LArMonFlags.doLArHVCorrectionMonTool=True -- GitLab From e7bccb66e466be4f0aa7511a6f52388eb04fb4fa Mon Sep 17 00:00:00 2001 From: Marija Vranjes Milosavljevic <marija.vranjes.milosavljevic@cern.ch> Date: Thu, 1 Nov 2018 21:48:47 +0000 Subject: [PATCH 056/209] Merge branch '21.1-my-InDetGlobalMonitoring-development' into '21.1' update in InDetGlobalMonitoring for heavy-ion runs (part II) See merge request atlas/athena!15559 (cherry picked from commit 9b67bc25e28b57e47db8f3bc379454ec0de3c789) 1596ccdf modify inside-out reco of Heavy ions --- .../InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx index 8d12192afbf..1cd0013f599 100644 --- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx +++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx @@ -641,8 +641,9 @@ StatusCode InDetGlobalTrackMonTool::fillHistograms() } // Skip tracks that are not inside out - if ( ( m_dataType == AthenaMonManager::collisions || m_dataType == AthenaMonManager::userDefined ) - && ! track->info().patternRecoInfo( Trk::TrackInfo::SiSPSeededFinder ) ) + if ( ( m_dataType == AthenaMonManager::collisions || m_dataType == AthenaMonManager::userDefined ) + && ! ( track->info().patternRecoInfo( Trk::TrackInfo::SiSPSeededFinder ) || + track->info().patternRecoInfo( Trk::TrackInfo::SiSpacePointsSeedMaker_HeavyIon ) ) ) continue; if ( ! m_baseline_selTool->accept(*track) ) -- GitLab From 17406f8b9ebb168704c10fe1559cae03ea77365a Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 17:29:07 +0100 Subject: [PATCH 057/209] JetEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc and SGTools moved to AthenaKernel. --- Reconstruction/Jet/JetEvent/CMakeLists.txt | 7 +++---- Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h | 4 ++-- Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h | 4 ++-- Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h | 4 ++-- .../Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h | 6 +++--- Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h | 4 ++-- .../Jet/JetEvent/JetEvent/JetMomentMapCollection.h | 6 +++--- .../Jet/JetEvent/JetEvent/JetSamplingCollection.h | 4 ++-- Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h | 4 ++-- 9 files changed, 21 insertions(+), 22 deletions(-) diff --git a/Reconstruction/Jet/JetEvent/CMakeLists.txt b/Reconstruction/Jet/JetEvent/CMakeLists.txt index 48d7b464106..8337a21664e 100644 --- a/Reconstruction/Jet/JetEvent/CMakeLists.txt +++ b/Reconstruction/Jet/JetEvent/CMakeLists.txt @@ -7,11 +7,10 @@ atlas_subdir( JetEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks Control/Navigation - Control/SGTools Control/StoreGate Event/EventKernel Event/FourMom @@ -31,13 +30,13 @@ atlas_add_library( JetEvent INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom GaudiKernel ParticleEvent StoreGateLib SGtests + LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom GaudiKernel ParticleEvent StoreGateLib SGtests PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( JetEventDict JetEvent/JetEventDict.h JetEvent/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation SGTools StoreGateLib SGtests EventKernel FourMom NavFourMom GaudiKernel ParticleEvent JetEvent + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation AthenaKernel StoreGateLib SGtests EventKernel FourMom NavFourMom GaudiKernel ParticleEvent JetEvent NAVIGABLES JetCollection ) diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h index ff87e86d06c..682e642003f 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETCOLLECTION_H @@ -12,7 +12,7 @@ #include "AthContainers/DataVector.h" #include "AthLinks/DataLink.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/Jet.h" #include "JetEvent/JetKeyDescriptor.h" #include "JetEvent/JetMomentMap.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h index f8726e0c7f1..97a11786de0 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETECSCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetECS.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h index d1df2c8e506..c52c1592d54 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETKEYDESCRIPTOR_H @@ -79,7 +79,7 @@ class JetKeyDescriptor }; -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" CLASS_DEF(JetKeyDescriptor,71458009,1) struct JetKeyConstants { diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h index 8b1961960de..344d6d859c7 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef Jetevent_Jetkeydescriptorcollection_H #define Jetevent_Jetkeydescriptorcollection_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" -#include "SGTools/BaseInfo.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/BaseInfo.h" #include "JetEvent/JetKeyDescriptor.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h index f56c7a6afb8..738fdda4888 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h @@ -1,13 +1,13 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETMOMENTMAP_H #define JETEVENT_JETMOMENTMAP_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthLinks/ElementLinkVector.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h index d4d19d13581..d11e3a220e0 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JetEvent_JetMomentMapCollection_H #define JetEvent_JetMomentMapCollection_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" -#include "SGTools/BaseInfo.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/BaseInfo.h" #include "JetEvent/JetMomentMap.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h index dcea86ce074..ca3eca709b8 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETSAMPLINGCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetSampling.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h index 86b253f6eb8..bd9e1dd1653 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETSUMSCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetSums.h" -- GitLab From 4d0ff587c35a10603fe677e97f85725dfd922a4f Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 17:31:00 +0100 Subject: [PATCH 058/209] muonEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc and SGTool moved to AthenaKernel. --- Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt | 7 +++---- .../muonEvent/muonEvent/MuonCaloEnergyContainer.h | 4 ++-- .../MuonIdentification/muonEvent/muonEvent/MuonContainer.h | 4 ++-- .../muonEvent/muonEvent/MuonSpShowerContainer.h | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt b/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt index ba9c3c55ccd..a3cefa0eea6 100644 --- a/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt +++ b/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt @@ -9,10 +9,9 @@ atlas_subdir( muonEvent ) atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloEvent Calorimeter/CaloIdentifier - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks - Control/SGTools Event/FourMom Event/NavFourMom PhysicsAnalysis/AnalysisCommon/ParticleEvent @@ -35,14 +34,14 @@ atlas_add_library( muonEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks SGTools FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment + LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks AthenaKernel FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation GaudiKernel VxVertex ) atlas_add_dictionary( muonEventDict muonEvent/muonEventDict.h muonEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks SGTools FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment Navigation GaudiKernel VxVertex muonEvent + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks AthenaKernel FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment Navigation GaudiKernel VxVertex muonEvent NAVIGABLES Analysis::MuonContainer ELEMENT_LINKS MuonCaloEnergyContainer ) diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h index 263352d04bc..369e4b806b3 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONCALOENERGYCONTAINER_H #define MUONEVENT_MUONCALOENERGYCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/CaloEnergy.h" /** @class MuonCaloEnergyContainer diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h index ce563e4c47c..fc8424052b1 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONCONTAINER_H @@ -19,7 +19,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "SGTools/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/Muon.h" #include "NavFourMom/IParticleContainer.h" diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h index 0877ff4462d..3b6bd19eac3 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONSPSHOWERCONTAINER_H @@ -16,7 +16,7 @@ ///////////////////////////////////////////////////////////////////////////////////// #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/MuonSpShower.h" namespace Rec { -- GitLab From f8245501a2c8ebe3931c2f9266155803fcaa3b54 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 17:33:02 +0100 Subject: [PATCH 059/209] PanTauEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc and SGTools moved to AthenaKernel. --- Reconstruction/PanTau/PanTauEvent/CMakeLists.txt | 7 +++---- .../PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h | 4 ++-- .../PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt b/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt index 774e4ca5b17..5692f15f9d2 100644 --- a/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt +++ b/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt @@ -8,8 +8,7 @@ atlas_subdir( PanTauEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC Control/AthContainers - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Event/FourMom Event/xAOD/xAODPFlow Event/xAOD/xAODTau @@ -30,12 +29,12 @@ atlas_add_library( PanTauEvent INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers SGTools FourMom xAODPFlow xAODTau tauEvent + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthenaKernel FourMom xAODPFlow xAODTau tauEvent PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel JetEvent Particle ) atlas_add_dictionary( PanTauEventDict PanTauEvent/PanTauEventDict.h PanTauEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers SGTools FourMom xAODPFlow xAODTau tauEvent GaudiKernel JetEvent Particle PanTauEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthenaKernel FourMom xAODPFlow xAODTau tauEvent GaudiKernel JetEvent Particle PanTauEvent ) diff --git a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h index 8b2ebee2fc1..8371ca9170f 100644 --- a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h +++ b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PANTAUEVENT_PANTAUSEEDCONTAINER_H #define PANTAUEVENT_PANTAUSEEDCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "PanTauEvent/PanTauSeed.h" namespace PanTau { diff --git a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h index c455a9566b9..e8279be2062 100644 --- a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h +++ b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PANTAUEVENT_TAUSEEDCOLLECTION_H #define PANTAUEVENT_TAUSEEDCOLLECTION_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "PanTauEvent/TauSeed.h" namespace PanTau { -- GitLab From 35a105f04457cc7ccfcd8e1dae1728384be9c2ee Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 1 Nov 2018 17:35:00 +0100 Subject: [PATCH 060/209] ParticleTruth: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Reconstruction/ParticleTruth/CMakeLists.txt | 7 +++---- .../ParticleTruth/TrackParticleTruthCollection.h | 4 ++-- .../ParticleTruth/TrackParticleTruthCollectionContainer.h | 4 ++-- .../ParticleTruth/ParticleTruth/TrackParticleTruthVector.h | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Reconstruction/ParticleTruth/CMakeLists.txt b/Reconstruction/ParticleTruth/CMakeLists.txt index aab6bbfbc15..a6d9f939b5c 100644 --- a/Reconstruction/ParticleTruth/CMakeLists.txt +++ b/Reconstruction/ParticleTruth/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( ParticleTruth ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthLinks - Control/SGTools Generators/GeneratorObjects Reconstruction/Particle ) @@ -21,13 +20,13 @@ atlas_add_library( ParticleTruth src/*.cxx PUBLIC_HEADERS ParticleTruth PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthLinks SGTools GeneratorObjects Particle + LINK_LIBRARIES AthLinks AthenaKernel GeneratorObjects Particle PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( ParticleTruthDict ParticleTruth/ParticleTruthDict.h ParticleTruth/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks SGTools GeneratorObjects Particle ParticleTruth + LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks AthenaKernel GeneratorObjects Particle ParticleTruth DATA_LINKS TrackParticleTruthCollection ) diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h index 7af5c5e1d6f..e769e5f9e9f 100755 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h @@ -1,11 +1,11 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTION_H #define PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTION_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "ParticleTruth/TrackParticleTruth.h" #include "Particle/TrackParticleContainer.h" #include "ParticleTruth/TrackParticleTruthKey.h" diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h index 7d830854ff4..4cfd4a18f71 100644 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTIONCONT_H @@ -10,7 +10,7 @@ @author Jiri.Masik@cern.ch */ -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "ParticleTruth/TrackParticleTruthCollection.h" typedef DataVector<TrackParticleTruthCollection> TrackParticleTruthCollectionContainer; diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h index 1dd99218266..a620cb56282 100755 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRACKPARTICLETRUTHVECTOR_H @@ -8,7 +8,7 @@ #include "ParticleTruth/TrackParticleTruth.h" #include "Particle/TrackParticleContainer.h" #include "AthLinks/ElementLink.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> -- GitLab From 29427e82862f393f091b8def92dcccc564cbbad9 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 31 Oct 2018 03:00:45 +0100 Subject: [PATCH 061/209] TrigEFMissingET: Fix MT execution. This package has been getting compilation warnings, due to a virtual method execute() hiding another execute() in a base class with a different signature. In fact, the warning is pointing out that the code doesn't work as written. EFMissingETAlgMT is calling the six-argument version of execute(), which only exists in the base class and is a no-op. Alter so that we use different names for execute() in the two cases. --- .../TrigEFMissingET/EFMissingETAlgMT.h | 8 ++++---- .../TrigEFMissingET/EFMissingETFromHelperMT.h | 9 ++++----- .../TrigEFMissingET/src/EFMissingETAlgMT.cxx | 4 ++-- .../TrigEFMissingET/src/EFMissingETFromHelperMT.cxx | 11 +++-------- 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h index 4792e597b35..6cd3ba49f1e 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGEFMISSINGET_EFMISSINGETALGMT_H #define TRIGEFMISSINGET_EFMISSINGETALGMT_H 1 @@ -11,7 +11,7 @@ #include "xAODTrigMissingET/TrigMissingETContainer.h" #include "TrigEFMissingET/EFMissingETBaseTool.h" #include "TrigEFMissingET/EFMissingETBaseTool.h" -#include "TrigEFMissingET/EFMissingETFromHelper.h" +#include "TrigEFMissingET/EFMissingETFromHelperMT.h" #include "TrigEFMissingET/IMissingETTool.h" @@ -39,8 +39,8 @@ class EFMissingETAlgMT : public ::AthReentrantAlgorithm SG::WriteHandleKey<xAOD::TrigMissingETContainer> m_metContainerKey { this, "METContainerKey", "HLT_MET", "Name of the output collection" }; ToolHandleArray<IMissingETTool> m_metTools { this, "METTools", {}, "Tools to fille MET object" }; ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" }; - ToolHandle<EFMissingETFromHelper> m_helperTool{ this, "HelperTool", "EFMissingETFromHelper/HelperTool", "Helper tool" }; + ToolHandle<EFMissingETFromHelperMT> m_helperTool{ this, "HelperTool", "EFMissingETFromHelper/HelperTool", "Helper tool" }; }; -#endif //> !TRIGEFMISSINGET_EFMISSINGETMT_H +#endif //> !TRIGEFMISSINGET_EFMISSINGETALGMT_H diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h index 298984cbb38..8b312c1057c 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h @@ -41,13 +41,12 @@ class EFMissingETFromHelperMT : public extends<EFMissingETBaseTool, IMissingETTo const std::string& name, const IInterface* parent); - ~EFMissingETFromHelperMT(); + virtual ~EFMissingETFromHelperMT(); - virtual StatusCode initialize(); - virtual StatusCode finalize(); - virtual StatusCode execute(); + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; - virtual StatusCode execute(xAOD::TrigMissingET *met, + virtual StatusCode executeMT(xAOD::TrigMissingET *met, TrigEFMissingEtHelper *metHelper) const; virtual StatusCode update( xAOD::TrigMissingET *met, diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx index 77e6c4a1b16..55b1375d0a6 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <cmath> #include "xAODTrigMissingET/TrigMissingETAuxContainer.h" @@ -63,7 +63,7 @@ StatusCode EFMissingETAlgMT::execute_r( const EventContext& context ) const { } loopTimer.stop(); - m_helperTool->execute(met, &metHelper, nullptr, nullptr, nullptr, nullptr); + ATH_CHECK( m_helperTool->executeMT(met, &metHelper) ); auto EF_MEx_log = MonitoredScalar::declare( "EF_MEx_log", toLogGeV( met->ex() ) ); auto EF_MEy_log = MonitoredScalar::declare( "EF_MEy_log", toLogGeV( met->ey() ) ); diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx index ae7369d70a5..4e837cfe930 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -71,17 +71,12 @@ StatusCode EFMissingETFromHelperMT::finalize() -StatusCode EFMissingETFromHelperMT::execute() -{ - return StatusCode::SUCCESS; -} - StatusCode EFMissingETFromHelperMT::update(xAOD::TrigMissingET *met, TrigEFMissingEtHelper *metHelper ) const { - return EFMissingETFromHelperMT::execute(met, metHelper); + return EFMissingETFromHelperMT::executeMT(met, metHelper); } -StatusCode EFMissingETFromHelperMT::execute(xAOD::TrigMissingET *met , +StatusCode EFMissingETFromHelperMT::executeMT(xAOD::TrigMissingET *met , TrigEFMissingEtHelper *metHelper) const { ATH_MSG_DEBUG( "EFMissingETFromHelperMT::execute() called" ); -- GitLab From 3bd5df91c7d1bf641f04295970c708d02ff33017 Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Fri, 2 Nov 2018 11:06:30 +0000 Subject: [PATCH 062/209] 22.0-coverity-TrkGlobalChi2Fitter --- .../TrkGlobalChi2Fitter/GXFTrackState.h | 2 +- .../TrkGlobalChi2Fitter/GlobalChi2Fitter.h | 9 +++++++-- .../TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h index 5d041223c7e..cacb532f329 100755 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h @@ -128,7 +128,7 @@ namespace Trk { bool m_ownmb; bool m_ownfq; bool m_owncov; - bool m_ownder; + bool m_ownder{}; bool m_measphi; Amg::Vector3D m_globpos; }; diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h index 8ea722f2c83..5e932d245c2 100755 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h @@ -65,7 +65,7 @@ class GlobalChi2Fitter:virtual public IGlobalTrackFitter,public AthAlgTool { struct Cache { - //Currnetly the information about what type of fit is being passed by the + //Currently the information about what type of fit is being passed by the // presence of a TrackingVolume const TrackingGeometry* m_trackingGeometry = nullptr; const TrackingVolume* m_caloEntrance = nullptr; @@ -107,7 +107,12 @@ class GlobalChi2Fitter:virtual public IGlobalTrackFitter,public AthAlgTool { void cleanup(); ~Cache(){ cleanup(); }; - + //default constructor is defaulted + Cache() = default; + //assignment is deleted + Cache & operator=(const Cache &) = delete; + //copy is deleted + Cache(const Cache &) = delete; }; diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index cdeec41f022..83ceb43f80d 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -24,7 +24,6 @@ #include "TrkGeometry/TrackingVolume.h" #include "TrkGeometry/MagneticFieldProperties.h" #include "TrkGeometry/TrackingGeometry.h" -// #include "TrkGeometry/EntryLayerProvider.h" #include "TrkDetDescrInterfaces/ITrackingGeometrySvc.h" @@ -75,6 +74,7 @@ #include "TDecompChol.h" #include "TrkAlgebraUtils/AlSymMat.h" #include "EventPrimitives/EventPrimitivesToStringConverter.h" +#include <exception> using CLHEP::MeV; using CLHEP::mm; @@ -2341,6 +2341,7 @@ namespace Trk { const RIO_OnTrack *rot = dynamic_cast<const RIO_OnTrack *>(*itSet); if (rot && m_DetID->is_mm(rot->identify())) { const PlaneSurface* surf = dynamic_cast<const PlaneSurface *>(&rot->associatedSurface()); + if (not surf) throw std::runtime_error("dynamic cast to PlaneSurface failed in GlobalChi2Fitter::fit"); AtaPlane atapl(surf->center(), param.parameters()[Trk::phi], param.parameters()[Trk::theta], param.parameters()[Trk::qOverP], *surf); rot = m_ROTcreator->correct(*(rot->prepRawData()), atapl); rots_tbd.push_back(rot); -- GitLab From 7d38b9cb6c120c962dc4470a94e17b616d06350e Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 01:55:32 +0100 Subject: [PATCH 063/209] LArCabling: Fix configuration. Pass only the ComponentAccumulator to merge(). --- LArCalorimeter/LArCabling/python/LArCablingConfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LArCalorimeter/LArCabling/python/LArCablingConfig.py b/LArCalorimeter/LArCabling/python/LArCablingConfig.py index 79cdaa28e1c..b5bd75e1711 100644 --- a/LArCalorimeter/LArCabling/python/LArCablingConfig.py +++ b/LArCalorimeter/LArCabling/python/LArCablingConfig.py @@ -23,7 +23,7 @@ def _larCablingCfg(configFlags,algo,folder): folderwithtag=folder result.addCondAlgo(algo(ReadKey=folder)) - result.merge(addFolders(configFlags,folderwithtag,className="AthenaAttributeList",detDb=db)) + result.merge(addFolders(configFlags,folderwithtag,className="AthenaAttributeList",detDb=db)[0]) return result,None -- GitLab From 36d0aa729377d7704fb7b82b304ab52780c67f65 Mon Sep 17 00:00:00 2001 From: Tim Martin <Tim.Martin@cern.ch> Date: Fri, 2 Nov 2018 13:07:44 +0100 Subject: [PATCH 064/209] Update packages:TrigCostMonitor from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigCostMonitor/TrigCostRun.h | 16 ++- .../python/TrigCostMonitorConfig.py | 2 +- .../TrigCostMonitor/src/TrigCostRun.cxx | 125 ++++++++++++++++-- .../TrigCostMonitor/src/TrigCostTool.cxx | 2 +- .../TrigCostMonitor/src/TrigNtConfTool.cxx | 7 +- .../src/TrigNtEBWeightTool.cxx | 4 +- 6 files changed, 131 insertions(+), 25 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h b/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h index 5fc62a5cbb5..59808ed621c 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h +++ b/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h @@ -66,7 +66,8 @@ private: ~ReadHLTResult() {} bool ProcessEvent(ServiceHandle<StoreGateSvc> &storeGate, - ToolHandle<HLT::Navigation> &navigation); + ToolHandle<HLT::Navigation> &navigation, + ToolHandle<Trig::ITrigNtTool> &confTool); void PrintInit(); void PrintEvent(); @@ -81,7 +82,13 @@ private: ToolHandle<HLT::Navigation> &navigation); bool ReadConfig(ServiceHandle<StoreGateSvc> &storeGate); - bool ReadEvent (ServiceHandle<StoreGateSvc> &storeGate); + bool ReadConfigDB(ServiceHandle<StoreGateSvc> &storeGate, + std::set<const TrigMonEvent*> trigMonEvents, + ToolHandle<Trig::ITrigNtTool> &confTool); + + bool ReadEvent (ServiceHandle<StoreGateSvc> &storeGate, + const bool gotConfigSG, + ToolHandle<Trig::ITrigNtTool> &confTool); MsgStream& log() const { return *msgStream; } @@ -115,6 +122,7 @@ private: unsigned countConfig; // Count all extracted TrigMonConfig unsigned resultPrint; // Count all fully printed results + std::set< std::pair<int,int> > exportedConfigs; // L1 and HLT keys of configurations which have already been exported to D3PD }; @@ -136,7 +144,9 @@ private: ToolHandleArray<Trig::ITrigNtTool> m_tools; ToolHandleArray<Trig::ITrigNtTool> m_toolsSave; - + + ToolHandle<Trig::ITrigNtTool> m_toolConf; //!< To read in TrigConf from the DB at T0 + // Variables ReadHLTResult m_readL2; // Helper class for reading L2 result ReadHLTResult m_readEF; // Helper class for reading EF result diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py b/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py index 5797c027336..5f4d33dbb6a 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py +++ b/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py @@ -56,7 +56,7 @@ def prepareCostTool(target): tool.monitoringTarget = target tool.purgeCostStream = True # Remove cost stream if no data to save tool.writeAlways = False # This is set to True by postSetupCostForCAF() - tool.writeConfig = True # This should default to false for online (why?) [TODO] put to true for tests + tool.writeConfig = False # Now know why this should be false online, consumes too much bandwidth. Will read from COOL at T0 instead. tool.writeConfigDB = False # If reading from the DB, do we want to save the data? Should not be needed as EBWeight calc is in this package. tool.useConfDb = True # Ask toolConf to fetch online config from DB. Only used currently if running costoForCAF tool.costForCAF = False # This is set to True by postSetupCostForCAF() diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx index 4bafda3d0e0..eb4c3144cf1 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx @@ -36,7 +36,8 @@ TrigCostRun::TrigCostRun(const std::string& name, m_timerSvc("TrigTimerSvc/TrigTimerSvc", name), m_navigation("HLT::Navigation/Navigation", this), m_tools(this), - m_toolsSave(this) + m_toolsSave(this), + m_toolConf("Trig::TrigNtConfTool/TrigNtConfTool", this) { declareProperty("navigation", m_navigation, "Trigger navigation tool"); declareProperty("tools", m_tools, "Tools array"); @@ -92,6 +93,8 @@ StatusCode TrigCostRun::initialize() CHECK(m_toolsSave.retrieve()); ATH_MSG_DEBUG("Retrieved " << m_toolsSave); + CHECK(m_toolConf.retrieve()); + ATH_MSG_DEBUG("Retrieved " << m_toolConf); // // Pass global configuration pointer to sub-tools @@ -180,9 +183,9 @@ StatusCode TrigCostRun::execute() m_navigation->reset(); } - m_readL2.ProcessEvent(evtStore(), m_navigation); - m_readEF.ProcessEvent(evtStore(), m_navigation); - m_readHLT.ProcessEvent(evtStore(), m_navigation); + m_readL2.ProcessEvent(evtStore(), m_navigation, m_toolConf); + m_readEF.ProcessEvent(evtStore(), m_navigation, m_toolConf); + m_readHLT.ProcessEvent(evtStore(), m_navigation, m_toolConf); if(m_printEvent) { m_readL2.PrintEvent(); @@ -342,7 +345,8 @@ TrigCostRun::ReadHLTResult::ReadHLTResult() //----------------------------------------------------------------------------- bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &storeGate, - ToolHandle<HLT::Navigation> &navigation) + ToolHandle<HLT::Navigation> &navigation, + ToolHandle<Trig::ITrigNtTool> &confTool) { // // Process one event: @@ -351,7 +355,8 @@ bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &store // - read TrigMonEvent collection // - read TrigMonConfig collection // - + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "In ProcessEvent" << endmsg; + if (doLevel == false) return false; vecConfig.clear(); @@ -373,8 +378,12 @@ bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &store // // Read events and configs // - ReadConfig(storeGate); - ReadEvent (storeGate); + const bool gotConfigSG = ReadConfig(storeGate); + // If gotConfigSG is false, we will try again to read in from the DB configs for cost mon events stored in this dummy-export-event + + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "gotConfigSG = " << gotConfigSG << endmsg; + + ReadEvent(storeGate, gotConfigSG, confTool); return true; } @@ -522,7 +531,7 @@ bool TrigCostRun::ReadHLTResult::ReadConfig(ServiceHandle<StoreGateSvc> &storeGa // const std::vector<uint32_t> &ids = ptr->getVarId(); if(!std::count(ids.begin(), ids.end(), appId)) { - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonConfig*>(ptr)->add<TrigConfVar>(TrigConfVar(appName, appId)); if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Attaching App Name map to Config " << appName << " = " << appId << endmsg; } @@ -546,8 +555,72 @@ bool TrigCostRun::ReadHLTResult::ReadConfig(ServiceHandle<StoreGateSvc> &storeGa } //--------------------------------------------------------------------------------------- -bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGate) -{ +bool TrigCostRun::ReadHLTResult::ReadConfigDB(ServiceHandle<StoreGateSvc> &storeGate, + std::set<const TrigMonEvent*> trigMonEvents, + ToolHandle<Trig::ITrigNtTool> &confTool) { + // + // Read in trig config from data base + // If no configuration was exported from P1, then once we know what P1-monitoring-events + // are stored in this dummy-RAW-export event then we can load in these data from the DB. + // We put the config into storegate such that it can be then picked up by later tools & + // the D3PD maker + // + + // Write me to storegate so that I can get picked up by the ntuple tools + TrigMonConfigCollection* trigMonConfigCollection = new TrigMonConfigCollection(); + + // Look at all events in this container event which come from a different LB + for (const TrigMonEvent* trigMonEvent : trigMonEvents) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Get config for event " << trigMonEvent->getEvent() << " lumi " << trigMonEvent->getLumi() << endmsg; + + TrigMonConfig* trigMonConfig = new TrigMonConfig(); + + // Set the vital stats needed to identify the correct config + trigMonConfig->setEventID(trigMonEvent->getEvent(), + trigMonEvent->getLumi(), + trigMonEvent->getRun(), + trigMonEvent->getSec(), + trigMonEvent->getNanoSec()); + + confTool->SetOption(2); //2 = DBAccess + if (!confTool->Fill(trigMonConfig)) { // false indicates nothing changed + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Keys did not change in this LB, no need to update. (SMK:" << trigMonConfig->getMasterKey() << " L1:" << trigMonConfig->getLV1PrescaleKey() << " HLT:" << trigMonConfig->getHLTPrescaleKey() << ")" << endmsg; + delete trigMonConfig; + continue; + } + + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Loaded from DB-fetcher SMK:" << trigMonConfig->getMasterKey() << " L1:" << trigMonConfig->getLV1PrescaleKey() << " HLT:" << trigMonConfig->getHLTPrescaleKey() << endmsg; + + // Have we already saved this config? Note this is set in the next fn so we could end up with dupes here (not harmful) + std::pair<int,int> prescaleKeys( trigMonConfig->getLV1PrescaleKey(), trigMonConfig->getHLTPrescaleKey() ); + if ( exportedConfigs.find(prescaleKeys) != exportedConfigs.end() ) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Already exported for L1 " << trigMonConfig->getLV1PrescaleKey() << " HLT " << trigMonConfig->getHLTPrescaleKey() << endmsg; + delete trigMonConfig; + continue; + } + + // Add to the export list + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Adding to SG" << endmsg; + trigMonConfigCollection->push_back(trigMonConfig); + } + + + if(storeGate->record(trigMonConfigCollection, keyConfig).isFailure()) { + log() << MSG::ERROR << "Failed to write TrigMonEventCollection: " << keyConfig << endmsg; + for (TrigMonConfig* trigMonConfig : *trigMonConfigCollection) delete trigMonConfig; + delete trigMonConfigCollection; + return false; + } + + // No that we know it should (must!) be there - try again to read it! + return ReadConfig(storeGate); +} + +//--------------------------------------------------------------------------------------- +bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGate, + const bool gotConfigSG, + ToolHandle<Trig::ITrigNtTool> &confTool) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "In ReadEvent" << endmsg; if (doLevel == false) return false; @@ -575,16 +648,40 @@ bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGat std::vector<std::string> &vars = globalConfig->getVarName(); std::vector<uint32_t> &vals = globalConfig->getVarId(); + // If we did not get config data from the bytestream - fetch it for all the events we have in this carrier "event" + if (!gotConfigSG) { + std::set<uint32_t> lumiBlocks; // Only need one event per LB as a LB must have the same HLT config + std::set<const TrigMonEvent*> eventsToGetConfig; // Set of events we need to see if we have the config loaded for + for(TrigMonEventCollection::const_iterator it = eventCol->begin(); it != eventCol->end(); ++it) { + const TrigMonEvent *ptr = *it; + if(!ptr) continue; + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Check Conf for event " << ptr->getEvent() << " lumi " << ptr->getLumi() << "? -> "; + + if (lumiBlocks.find(ptr->getLumi()) != lumiBlocks.end()) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "No already have an event from lumi " << ptr->getLumi() << endmsg; + continue; + } + + eventsToGetConfig.insert(ptr); + lumiBlocks.insert(ptr->getLumi()); + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Yes checking this event" << endmsg; + } + // Read in all the configs for these events + ReadConfigDB(storeGate, eventsToGetConfig, confTool); + } + + // Second loop - read events for(TrigMonEventCollection::const_iterator it = eventCol->begin(); it != eventCol->end(); ++it) { const TrigMonEvent *ptr = *it; if(!ptr) continue; + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Extracting Cost Data for event " << ptr->getEvent() << endmsg; // Add my HLT node - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addWord(appId); //Backward compatability if(fill_size) { - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addVar(Trig::kEventBufferSize, float(eventCol->size())); fill_size = false; } @@ -614,7 +711,7 @@ bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGat log() << MSG::INFO << "Reading lumi length" << endmsg; m_readLumiBlock.updateLumiBlocks( ptr->getRun() ); } - // FIXME: const-cast changing SG + // FIXME: const-cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addVar(Trig::kEventLumiBlockLength, m_readLumiBlock.getLumiBlockLength(ptr->getLumi())); // 43 is lumi block length if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Decorating Event:" << ptr->getEvent() << " LB:"<< ptr->getLumi()<<" with LB Length " << m_readLumiBlock.getLumiBlockLength( ptr->getLumi()) << endmsg; std::string msg = m_readLumiBlock.infos(); diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx index bbe0e5f43a0..3c0df353454 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx @@ -654,8 +654,8 @@ void TrigCostTool::ProcessConfig(xAOD::EventInfo* info) bool writeConfig = true; if (m_writeAlways == true) writeConfig = true; // First check WriteAlways flag - else if (m_writeConfig == false) writeConfig = false; // Next comes WriteConfig flag. This is normally true. else if (m_costForCAF == true) writeConfig = true; // If offline, then we don't have any other preconditions + else if (m_writeConfig == false) writeConfig = false; // Next comes WriteConfig flag. In 2017 this will be false online else if (m_obeyCostChainPS == true && m_costChainPS > 0) writeConfig = true; // Online, we normally only write out if we are in stable beams else if (m_obeyCostChainPS == true && m_costChainPS <= 0) writeConfig = false; diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx index b650c10f1e7..ed424e13126 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx @@ -444,12 +444,11 @@ bool Trig::TrigNtConfTool::ReadFromDB(TrigMonConfig &confg, unsigned run, unsign { // Do we need to update? (note that if we do, this also sets m_currentKey) - if (GetKeysChangedFromDB(run, lumi) == false) { - return false; // Nothing to do - } - + const bool getChanged = GetKeysChangedFromDB(run, lumi); confg.setTriggerKeys(m_currentKey.getSMK(), m_currentKey.getLV1_PS(), m_currentKey.getHLT_PS()); + if (getChanged == false) return false; // Nothing to do + std::stringstream ss1, ss2, ss3; ss1 << m_currentKey.getSMK(); ss1 >> m_triggerMenuSetup; diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx index 260f11dc713..2936f67b881 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx @@ -101,7 +101,7 @@ bool Trig::TrigNtEBWeightTool::Fill(TrigMonConfig *config) m_chainEnabled[EBEnum] = true; // Start off assuming enabled // Get the L1 chain - // This depends on the _original_ menu. So for all data12, it will be L2_ even if reprocessed. + // This depends on the origional_ menu. So for all data12, it will be L2_ even if reprocessed. // Loop over all chains std::string EBChain = EBTriggerNameHLT[EB]; @@ -295,7 +295,7 @@ bool Trig::TrigNtEBWeightTool::Fill(TrigMonEvent &event) //if (L1Name.find("RD0") != std::string::npos || L1Name.find("RD1") != std::string::npos) continue; // Get if this L1 item *could* have passed the event. unless it's a random streamer then it must be after veto - //if ( _costData_L1.getIsL1PassedBeforePrescale( _L1Name ) == kFALSE ) continue; + //if ( costData_L1.getIsL1PassedBeforePrescale( L1Name ) == kFALSE ) continue; Int_t passedL1Raw = 0; for (unsigned i = 0; i < eventL1Items.size(); ++i) { if (eventL1Items.at(i).getCtpId() != L1CPTID) continue; -- GitLab From 252adbbb47f30fe137fb91bb83335c133cb422d5 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 01:58:27 +0100 Subject: [PATCH 065/209] MuonConfig: Fix configuration. Pass only the ComponentAccumulator to merge(). --- MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py index 731a9db819c..5b698652a31 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py @@ -32,7 +32,7 @@ def RPCCablingConfigCfg(flags): acc.merge(addFolders(flags, [ '/RPC/TRIGGER/CM_THR_ETA', '/RPC/TRIGGER/CM_THR_ETA', '/RPC/TRIGGER/CM_THR_PHI', '/RPC/TRIGGER/CM_THR_PHI', '/RPC/CABLING/MAP_SCHEMA', '/RPC/CABLING/MAP_SCHEMA_CORR' ], - 'RPC' )) + 'RPC' )[0]) # that should not be here??? acc.getService('IOVDbSvc').FoldersToMetaData += ['/GLOBAL/BField/Maps'] @@ -67,7 +67,7 @@ def TGCCablingConfigCfg(flags): acc.addService( TGCCablingSvc ) from IOVDbSvc.IOVDbSvcConfig import addFolders - acc.merge(addFolders(flags, ['/TGC/CABLING/MAP_SCHEMA','/TGC/CABLING/MAP_SCHEMA'], 'TGC')) + acc.merge(addFolders(flags, ['/TGC/CABLING/MAP_SCHEMA','/TGC/CABLING/MAP_SCHEMA'], 'TGC')[0]) return acc, TGCCablingSvc if __name__ == '__main__': -- GitLab From 14f8416fbbf417f89654c3e0b87bae45ea85b301 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Fri, 2 Nov 2018 13:51:13 +0100 Subject: [PATCH 066/209] Update packages:TrigSteer from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigSteer/TrigInterfaces/src/FexAlgo.cxx | 6 +- Trigger/TrigSteer/TrigSteering/CMakeLists.txt | 11 +- .../TrigSteering/Lvl1ConsistencyChecker.h | 2 +- .../TrigSteering/TrigSteering/Sequence.h | 5 +- .../share/pureSteering_jobOptions.py | 40 ++++++- .../share/pureSteering_l1Seeding_menu.py | 80 ++++++++++++++ .../TrigSteering/share/pureSteering_l1menu.py | 2 + .../src/Lvl1ConsistencyChecker.cxx | 19 ++-- .../TrigSteering/src/Lvl1Converter.cxx | 46 ++++---- .../TrigSteer/TrigSteering/src/Sequence.cxx | 22 ++-- .../TrigSteer/TrigSteering/src/TrigSteer.cxx | 14 ++- .../TrigSteering/test/SteeringChain_test.cxx | 101 ++++++++++++++++++ 12 files changed, 293 insertions(+), 55 deletions(-) create mode 100644 Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py create mode 100644 Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx diff --git a/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx b/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx index 1898177a61a..ced298f85c4 100755 --- a/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx +++ b/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx @@ -104,10 +104,10 @@ HLT::ErrorCode FexAlgo::plugin_acceptInputs(TEVec& inputTEs, bool& pass) { HLT::ErrorCode FexAlgo::processRobRequests(const std::vector< unsigned int >& inputs ) { - // FEX has exactly one input type + // FEX should normally have exactly one input type but some chains call this method with 0 inputs if (inputs.size() != 1) { - ATH_MSG_DEBUG ( "The size of the input to FexAlgo::processRobRequests(v<uint> input) is " << inputs.size() << ", needs to be 1! Returning ABORT CHAIN!"); - return HLT::ErrorCode( Action::ABORT_CHAIN, Reason::BAD_JOB_SETUP ); + ATH_MSG_DEBUG ( "The size of the input to FexAlgo::processRobRequests(v<uint> input) is " << inputs.size() << ", should be 1! No ROBs for prefetching will be prepared"); + return HLT::OK; } // get input TEs from Navigation diff --git a/Trigger/TrigSteer/TrigSteering/CMakeLists.txt b/Trigger/TrigSteer/TrigSteering/CMakeLists.txt index f2610dddc5e..19bdf724040 100644 --- a/Trigger/TrigSteer/TrigSteering/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigSteering/CMakeLists.txt @@ -70,7 +70,7 @@ atlas_add_dictionary( TrigSteeringDict TrigSteering/TrigSteeringDict.h TrigSteering/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib ) +LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib ) atlas_add_test( Signature_test SOURCES @@ -79,6 +79,15 @@ atlas_add_test( Signature_test LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib EXTRA_PATTERNS ".*" ) + +atlas_add_test( SteeringChain_test + SOURCES + test/SteeringChain_test.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib + EXTRA_PATTERNS ".*" ) + + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py share/Lvl1Results.txt ) diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h index db56d3d1472..54fb7f81027 100644 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h +++ b/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h @@ -64,7 +64,7 @@ public: const std::vector<std::string>& ignoreThresholds); private: - bool m_printErrorMessages; + bool m_printWarnings; bool m_returnFailure; std::vector<std::string> m_thresholdsToCheck; diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h index 841e0ad200b..d9f1fc00949 100755 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h +++ b/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h @@ -26,6 +26,7 @@ #include "GaudiKernel/SmartIF.h" #include "AthenaBaseComps/AthService.h" #include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h" //used for ROS data access test +#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" class TrigTimer; @@ -134,8 +135,8 @@ namespace HLT { TrigTimer *m_timer; - SmartIF <ITrigROBDataProviderSvc_RTT> m_trigROBDataProvider; - + ServiceHandle<IROBDataProviderSvc> m_robDataProvider; //!< ROB data provider (for ROB pre-fetching) + SmartIF <ITrigROBDataProviderSvc_RTT> m_trigROBDataProviderRTT; //!< ROB data provider with extensions for RTT tests }; } diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py index 24909eb8887..bce8d597037 100755 --- a/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py @@ -2,7 +2,7 @@ from AthenaCommon.Logging import logging log = logging.getLogger( 'PureSteeringJob' ) svcMgr.MessageSvc.Format = "% F%52W%S%7W%R%T %0W%M" -svcMgr.MessageSvc.OutputLevel = DEBUG +svcMgr.MessageSvc.OutputLevel = WARNING svcMgr.MessageSvc.defaultLimit = 0 svcMgr.StoreGateSvc.Dump = True #true will dump data store contents @@ -31,6 +31,7 @@ if not "usePrescaleMenu" in dir(): usePrescaleMenu = False if not "useMultiSeedingMenu" in dir(): useMultiSeedingMenu = False if not "useMenuWithAcceptInput" in dir(): useMenuWithAcceptInput = False if not "useBusyEventSetup" in dir(): useBusyEventSetup = False +if not "l1SeedingTest" in dir(): l1SeedingTest = False # Default L1 RoIs if not set otherwise below @@ -103,6 +104,24 @@ EM15i,EM25i EM15i,EM25i """ +elif l1SeedingTest: + include("TrigSteering/pureSteering_l1Seeding_menu.py") + RoIs = "MU6, MU20\n"*7 + # see for info about + # 106 is ctp ID of L1_MU06 120 is for L1_MU20 and 121 for L1_MU21 + # + ctpbits = "106:1,0 120:1,1\n" + ctpbits += "106:1,1 120:0,0 121:1,1\n" # L1_MU21 active + ctpbits += "106:1,0 120:1,1 121:0,0\n" # L1_MU20 acts ( the other is inactive ) + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,0 121:0,0\n" # L1_MU20 activated but prescaled + + ctpfile=open("Lvl1CTPResults.txt", "w") + ctpfile.write(ctpbits) + ctpfile.close() + else: include("TrigSteering/pureSteering_menu.py") @@ -122,6 +141,9 @@ roifile.write("\n") roifile.close() + + + ### Setup TrigConfigSvc ### #################################### from TrigConfigSvc.TrigConfigSvcConfig import SetupTrigConfigSvc @@ -173,8 +195,24 @@ if runMergedSteering: hltSteer.ResultBuilder.ErrorStreamTags = ["ABORT_CHAIN ALGO_ERROR GAUDI_EXCEPTION: hltexceptions physics", "ABORT_EVENT ALGO_ERROR TIMEOUT: hlttimeout debug"] hltSteer.softEventTimeout = 1 * Units.s + if l1SeedingTest: + from TrigSteering.TestingTrigSteeringConfig import TestingLvl1Converter + lvl1Converter = TestingLvl1Converter() + hltSteer += lvl1Converter + hltSteer.LvlConverterTool = lvl1Converter + hltSteer.LvlConverterTool.useL1Calo = False + hltSteer.LvlConverterTool.useL1Muon = False + hltSteer.LvlConverterTool.useL1JetEnergy = False + hltSteer.LvlConverterTool.OutputLevel = DEBUG + from TrigFake.TrigFakeConf import FakeRoIB + fakeRoIB = FakeRoIB() + fakeRoIB.OutputLevel = DEBUG + fakeRoIB.InputFile="Lvl1CTPResults.txt" + job += fakeRoIB + job += hltSteer + else: ### L2 TopAlgorithm from configurable ### ######################################### diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py new file mode 100644 index 00000000000..f589db98ead --- /dev/null +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py @@ -0,0 +1,80 @@ +from TriggerMenu.TriggerConfigLVL1 import TriggerConfigLVL1 +from TriggerMenu.l1.Lvl1Flags import Lvl1Flags +from TriggerMenu.l1.Lvl1MenuItems import LVL1MenuItem +from TriggerMenu.l1.TriggerTypeDef import TT +from TriggerMenu.l1.Lvl1Condition import ThrCondition, Lvl1InternalTrigger +from TriggerMenu.l1.Logic import Logic + +# +# L1 +# +l1menu = TriggerConfigLVL1(outputFile = 'l1menu.xml', menuName = 'menutest', topoMenu = None) +LVL1MenuItem.l1configForRegistration = l1menu + +Lvl1Flags.thresholds = [ 'MU06', 'MU20' ] +Lvl1Flags.items = [ 'L1_MU06', 'L1_MU20', 'L1_MU21' ] + +bgrp = Logic(Lvl1InternalTrigger('BGRP0')) & Logic(Lvl1InternalTrigger('BGRP1')) + +thr = l1menu.registerThr('MU06','MUON').addThrValue(6) +LVL1MenuItem('L1_MU06').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + +thr = l1menu.registerThr('MU20','MUON').addThrValue(20) +LVL1MenuItem('L1_MU20').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) +LVL1MenuItem('L1_MU21').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + + +# fix CTP IDs +l1menu.registeredItems['L1_MU06'].setCtpid( 106 ) +l1menu.registeredItems['L1_MU20'].setCtpid( 120 ) +l1menu.registeredItems['L1_MU21'].setCtpid( 121 ) + +# overwrite menu +l1menu.generateMenu() +l1menu.writeXML() + + + + + +from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig +from TriggerMenu.menu.HLTObjects import HLTChain +menu = TriggerPythonConfig('pureSteering_menu.xml') + +# HLT +# chain1 = HLTChain( chain_name='HLT_e25', chain_counter='1', lower_chain_name='L1_EM25i', level='HLT', prescale='1', pass_through='1') +# chain1.addHLTSignature( 'em25i' ).addHLTSignature( 'em25i'' ) +# chain1.addTriggerTypeBit('4') +# chain1.addStreamTag('electrons', prescale='1') +# chain1.addStreamTag('IDCalibration', prescale='1', type='calibration') +# chain1.addGroup('electrons') +# menu.addHLTChain(chain1) + +chain = HLTChain( chain_name='HLT_mu6', chain_counter='1', lower_chain_name='L1_MU06', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu20', chain_counter='2', lower_chain_name='L1_MU20', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu21', chain_counter='3', lower_chain_name='L1_MU21', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu20_21', chain_counter='4', lower_chain_name='L1_MU20 L1_MU21', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + + +menu.writeConfigFiles(); +menu.dot(algs=True) + diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py index 9b6b0acbe90..6d4feeda025 100644 --- a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py @@ -33,6 +33,8 @@ LVL1MenuItem('L1_2MU06').setLogic( ThrCondition(thr).x(2) & bgrp ).setTriggerTyp thr = l1menu.registerThr('MU20','MUON').addThrValue(20) LVL1MenuItem('L1_MU20').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + + thr = l1menu.registerThr('J200','JET').addThrValue(200) LVL1MenuItem('L1_J200').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.calo ) diff --git a/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx b/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx index 36d3952af5c..b5de1ac5872 100644 --- a/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <algorithm> @@ -40,7 +40,7 @@ Lvl1ConsistencyChecker::Lvl1ConsistencyChecker(const std::string& name, const st const IInterface* parent) : AthAlgTool(name, type, parent) { - declareProperty("printErrorMessages", m_printErrorMessages=true, "print detailed error reports"); + declareProperty("printWarnings", m_printWarnings=true, "print detailed error reports"); declareProperty("returnFailure", m_returnFailure=false, "in case of inconsitency return FAILURE"); declareProperty("maxTOBs", m_returnFailure=false, "in case of inconsitency return FAILURE"); declareProperty("thresholdsToCheck", m_thresholdsToCheck, "trigger threshold types to check"); @@ -116,6 +116,7 @@ Lvl1ConsistencyChecker::check(const std::vector<const LVL1CTP::Lvl1Item*>& items const std::vector<std::string>& ignoreThresholds) { std::vector<ThresholdId> errors; + HLT::SteeringInternalReason::Code failure = HLT::SteeringInternalReason::UNKNOWN; for ( const LVL1CTP::Lvl1Item* item : items ){ if ( ! item->isPassedAfterVeto() ) // we do not need to check items which did not pass @@ -141,21 +142,25 @@ Lvl1ConsistencyChecker::check(const std::vector<const LVL1CTP::Lvl1Item*>& items m_histAll->Fill(thr.second.name.c_str(), 1.0); // Fill all except ignored thresholds (e.g. overflows) if ( !contains(ignoreThresholds, thr.second.type) ) { + if (thr.second.type=="CALO") failure = HLT::SteeringInternalReason::MISSING_CALO_ROI; + else if (thr.second.type=="MUON") failure = HLT::SteeringInternalReason::MISSING_MUON_ROI; + else failure = HLT::SteeringInternalReason::MISSING_OTHER_ROI; m_hist->Fill(thr.second.name.c_str(), 1.0); } } - if (m_printErrorMessages ) { // report problem for all items - ATH_MSG_WARNING("Item " << cIt->second.name << " required: " + if (m_printWarnings) { // report problem for all items + ATH_MSG_WARNING("Item " << cIt->second.name << " required: " << unsigned(thr.second.multiplicity) << " of: " << thr.second.name << " while got: " << found); } } } } - if ( !errors.empty() && m_returnFailure) { - return HLT::ErrorCode(HLT::Action::ABORT_EVENT, HLT::Reason::MISSING_FEATURE, - HLT::SteeringInternalReason::NO_LVL1_ITEMS ); + if ( failure != HLT::SteeringInternalReason::UNKNOWN ) { + return HLT::ErrorCode(m_returnFailure ? HLT::Action::ABORT_EVENT : HLT::Action::CONTINUE, + HLT::Reason::MISSING_FEATURE, failure ); } + return HLT::OK; } diff --git a/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx b/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx index ec8f09308a1..9b5d13f2930 100755 --- a/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /********************************************************************************** @@ -535,49 +535,31 @@ ErrorCode Lvl1Converter::hltExecute(std::vector<HLT::SteeringChain*>& chainsToRu if(m_doTiming) m_totalTime->stop(); - // Check for L1Calo overflows - std::bitset<3> overflow = m_lvl1Tool->lvl1EMTauJetOverflow(*result); - std::vector<std::string> ignore; - const char* thr[] = {"EM","TAU","JET"}; - for (size_t i=0; i<overflow.size(); ++i) { - if (overflow[i]) { - ATH_MSG_WARNING("All " << thr[i] << " L1 thresholds were forced on due to overflow in TOB transmission to CMX"); - ignore.push_back(thr[i]); - } - } - - // Consistency check - HLT::ErrorCode ecl1 = m_lvl1ConsistencyTool->check(items, m_config->getNavigation(), ignore); - if ( ecl1 != HLT::OK ) { - ATH_MSG_WARNING("Lvl1 decision inconsistent: "); - return ecl1; - } - // if this is calibration event we do not apply RoI count cuts (meansy any busy event is just OK) if ( ! m_lvl1Tool->isCalibrationEvent(*result) ) { // check the limits bool isAboveLimit = false; if ( m_muonRoIsLimit && muonRoIsCount > m_muonRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the MUON rois counts per event: " << muonRoIsCount << " > " << m_muonRoIsLimit); } if ( m_emtauRoIsLimit && emtauRoIsCount > m_emtauRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the EMTAU rois counts per event: " << emtauRoIsCount << " > " << m_emtauRoIsLimit); } if (m_jetRoIsLimit && jetRoIsCount > m_jetRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the JET rois counts per event: " << jetRoIsCount << " > " << m_jetRoIsLimit); } unsigned overallRoIsCount= muonRoIsCount + emtauRoIsCount + jetRoIsCount; if ( m_overallRoIsLimit && overallRoIsCount > m_overallRoIsLimit ) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the all types rois counts per event: " << overallRoIsCount << " > " << m_overallRoIsLimit); } @@ -588,6 +570,24 @@ ErrorCode Lvl1Converter::hltExecute(std::vector<HLT::SteeringChain*>& chainsToRu } } + // Check for L1Calo overflows + std::bitset<3> overflow = m_lvl1Tool->lvl1EMTauJetOverflow(*result); + std::vector<std::string> ignore; + const char* thr[] = {"EM","TAU","JET"}; + for (size_t i=0; i<overflow.size(); ++i) { + if (overflow[i]) { + ATH_MSG_WARNING("All " << thr[i] << " L1 thresholds were forced on due to overflow in TOB transmission to CMX"); + ignore.push_back(thr[i]); + } + } + + // Consistency check + HLT::ErrorCode ecl1 = m_lvl1ConsistencyTool->check(items, m_config->getNavigation(), ignore); + if ( ecl1 != HLT::OK ) { + ATH_MSG_WARNING("Lvl1 decision inconsistent"); + return ecl1; + } + return HLT::OK; } diff --git a/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx b/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx index 146f79ba421..696e1d402f6 100755 --- a/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /********************************************************************************** @@ -37,10 +37,6 @@ #include "TrigConfHLTData/HLTTriggerElement.h" #include "GaudiKernel/AlgTool.h" -#include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h" //just for debug -#include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc.h" //just for debug -#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" - using namespace HLT; @@ -59,7 +55,8 @@ Sequence::Sequence(std::vector<unsigned int> inputTypes, m_prepRobReqAlreadyExecuted(false), m_prepRobReqErrorCode(HLT::OK), m_topoStartFromSequence(0), - m_timer(0) + m_timer(0), + m_robDataProvider("ROBDataProviderSvc/ROBDataProviderSvc","TrigSteer_HLT") { // add the timer if ( config->getDoTiming() ) { @@ -92,12 +89,11 @@ Sequence::Sequence(std::vector<unsigned int> inputTypes, } // Get TrigROBDataProvider_RTT for data pre-fetch test - ServiceHandle<IROBDataProviderSvc> robDataProvider("ROBDataProviderSvc/ROBDataProviderSvc","TrigSteer_HLT"); - if( robDataProvider.retrieve().isFailure() ) { + if( m_robDataProvider.retrieve().isFailure() ) { m_config->getMsgStream() << MSG::ERROR << "can't get ROBDataProviderSvc" << endmsg; } else{ - m_trigROBDataProvider = SmartIF<ITrigROBDataProviderSvc_RTT>( &*robDataProvider ); - if (m_trigROBDataProvider.isValid()) { + m_trigROBDataProviderRTT = SmartIF<ITrigROBDataProviderSvc_RTT>( &*m_robDataProvider ); + if (m_trigROBDataProviderRTT.isValid()) { if (m_config && m_config->getMsgLvl() <= MSG::DEBUG) m_config->getMsgStream() << MSG::DEBUG << "A ROBDataProviderSvc implementing the trig interface ITrigROBDataProviderSvc_RTT was found."<< endmsg; } @@ -361,7 +357,7 @@ HLT::ErrorCode Sequence::execute() HLT::ErrorCode Sequence::prepareRobRequests() { // this variable enables the monitor of the pre-fetching with the trigROBDataProviderSvc - bool do_prefetching_test = m_trigROBDataProvider.isValid() && m_trigROBDataProvider->isPrefetchingAtAlgoLevel(); + bool do_prefetching_test = m_trigROBDataProviderRTT.isValid() && m_trigROBDataProviderRTT->isPrefetchingAtAlgoLevel(); // in case this sequence was executed before if (m_prepRobReqAlreadyExecuted) { @@ -485,10 +481,10 @@ HLT::ErrorCode Sequence::prepareRobRequests() << te_create_alg->name() << " " << HLT::strErrorCode( m_prepRobReqErrorCode ) << endmsg; //test of the pretching: fill the pre-fetching list - if (do_prefetching_test){ + if (do_prefetching_test && m_robDataProvider.isValid()){ std::string pref_name = alg->name() + "_pref"; if (m_config->getMsgLvl() <=MSG::INFO) m_config->getMsgStream() << MSG::INFO <<"Forcing trigROBDataProvider_RTT.addROBData: Algorithm "<< te_create_alg->name() <<" scheduled "<<m_config->robRequestInfo()->requestScheduledRobIDs().size() <<" ROBs"<<endmsg; - m_trigROBDataProvider->addROBData(m_config->robRequestInfo()->requestScheduledRobIDs(),pref_name); + m_robDataProvider->addROBData(m_config->robRequestInfo()->requestScheduledRobIDs(),pref_name); } // Check if event timeout was reached diff --git a/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx b/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx index 53e25f6a4ff..07c4c97239b 100755 --- a/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx @@ -133,7 +133,7 @@ TrigSteer::TrigSteer(const std::string& name, ISvcLocator* pSvcLocator) declareProperty("cachingMode", m_cachingMode = HLT::RoICacheHelper::HistoryBased, "Caching mode: 0 - off, 1 - RoI based, 2 - RoI +features, 3 - as 2 +check only used features, default is 3(most advanced)"); declareProperty("enableCoherentPrescaling", m_enableCoherentPrescaling=false, "Enables coherent prescaling (so chains from one prescaling group fire in the same event)"); - declareProperty("enableRobRequestPreparation", m_enableRobRequestPreparation=false, "Enables ROB-request-preparation step"); + declareProperty("enableRobRequestPreparation", m_enableRobRequestPreparation=true, "Enables ROB-request-preparation step"); declareProperty("enableRerun", m_enableRerun=true, "Enables rerun of prescaled chains"); declareProperty("EBstrategy", m_strategyEB = 0, "EB strategy: 0 = call by chains, 1 = call at the end of chains "); declareProperty("doL1TopoSimulation",m_doL1TopoSimulation=true,"Turns on L1Topo Sim"); @@ -812,6 +812,7 @@ void TrigSteer::runChains(bool secondPass) { bool eventPassed = false; int step = 0; //just for debug: follow numeration of signature counters: starts from 1 (but currentStep in chains starts from 0) bool doEBbyChain = false; + bool isPhysicsEvent = false; if(m_config -> getSteeringOPILevel() > 0) { // Create new chain step OPI as before @@ -899,8 +900,13 @@ void TrigSteer::runChains(bool secondPass) { ATH_MSG_DEBUG("Call EB at step " << step << " because chain needs it"); else ATH_MSG_DEBUG("Call EB at step " << step << " because the event is accepted"); - - issueEventBuildingRequest(step); + + // determine if the event is a "physics" event. Call only for these events full event building (not for calibration or monitoring) + for (auto vec_it = ((*iterChain)->getStreamTags()).begin(); vec_it != ((*iterChain)->getStreamTags()).end(); ++vec_it) { + if (vec_it->getType() == "physics") isPhysicsEvent = true; + } + + if (isPhysicsEvent) issueEventBuildingRequest(step); } } if (m_auditChains) auditorSvc()->after(IAuditor::Execute,chainName); @@ -913,7 +919,7 @@ void TrigSteer::runChains(bool secondPass) { // final call of EB at the end of steps (done here if strategyEB == 1) if (eventPassed){ ATH_MSG_DEBUG("Call EB at step " << step << " at the end of steps processing because not done previously"); - issueEventBuildingRequest(step); + if (isPhysicsEvent) issueEventBuildingRequest(step); } m_coreDumpSvc->setCoreDumpInfo("Current trigger chain","<NONE>"); diff --git a/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx b/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx new file mode 100644 index 00000000000..08b6113d95b --- /dev/null +++ b/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx @@ -0,0 +1,101 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include <cassert> +#include <iostream> + +#include "TrigSteering/Signature.h" +#include "TrigSteering/Sequence.h" +#include "TrigSteering/SteeringChain.h" +#include "TrigSteering/PeriodicScaler.h" +#include "TrigSteering/ISequenceProvider.h" +#include "TrigSteering/IScalerSvc.h" +#include "TrigInterfaces/AlgoConfig.h" + +#include "TestTools/initGaudi.h" +#include "GaudiKernel/MsgStream.h" +#include "AthenaKernel/getMessageSvc.h" + + +using namespace HLT; +class TestSequenceProvider : public ISequenceProvider { +public: + HLT::Sequence* findSeqForOutputTeType( const unsigned int ) override { + return 0; + } +}; + +class TestScalerSvc : public IScalerSvc, public AthService { +public: + TestScalerSvc( ISvcLocator* pSvc ) : AthService( "TestScalerSvc", pSvc ) {} + IScaler* get( const std::string& ) const { + return new PeriodicScaler; + } +private: +}; + +int main() +{ + + // get Gaudi MsgService: + ISvcLocator* pSvcLoc; + if ( !Athena_test::initGaudi( pSvcLoc ) ) { + std::cerr << "problem loading Athena_test::initGaudi !!" << std::endl; + return 0; + } + assert( pSvcLoc ); + + MsgStream* log = new MsgStream( Athena::getMessageSvc(), "getMessageSvc_test" ); + int logLvl = log->level(); + + // Create & set the config object, holding all common variables + HLT::AlgoConfig* config = new HLT::AlgoConfig(); + config->setMsgStream( log ); + config->setMsgLvl( logLvl ); + const std::vector<TrigConf::HLTSignature*> noSteps; + TrigConf::HLTChain chainConf( "HLT_multiSeeded", 1, 0, "HLT", "L1_A L1_B", 0, noSteps ); + chainConf.set_prescale( 10 ); + chainConf.addStream( new TrigConf::HLTStreamTag("Main", "physics", true, 1.) ); + chainConf.addStream( new TrigConf::HLTStreamTag("express", "express", true, 1.) ); + chainConf.set_groupList( std::set<std::string>( {"grA", "grB"} ) ); + + + TestSequenceProvider seqProvider; + TestScalerSvc scalerSvc( pSvcLoc ); + HLT::SteeringChain steeringChain( &chainConf, &seqProvider, config, &scalerSvc ); + std::cout << "After creation" << std::endl; + steeringChain.print(std::cout); + std::cout << std::endl; + + std::cout << "reset:" << std::endl; + for ( int i = 0; i < 20; ++i ) { + steeringChain.reset(); + steeringChain.setActive(); + + steeringChain.setPrescaleState(); + steeringChain.print(std::cout); + std::cout << std::endl; + } + + std::cout << "reseetChain:" << std::endl; + for ( int i = 0; i < 20; ++i ) { + steeringChain.resetChain(); + steeringChain.setActive(); + + steeringChain.setPrescaleState(); + steeringChain.print(std::cout); + std::cout << std::endl; + } + + + + + + delete log; + delete config; + + + + return 0; +} -- GitLab From 03340ac772ffc74db720573e7875ee8bb6979b79 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Fri, 2 Nov 2018 14:14:16 +0100 Subject: [PATCH 067/209] Update packages:TrigDataAccess from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../ITrigROBDataProviderSvc_RTT.h | 16 -- .../src/TrigROBDataProviderSvc.h | 8 + .../src/TrigSerializeConvHelper.cxx | 88 ++++----- .../python/StreamerInfoGenerator.py | 7 +- .../TrigSerializeResult/python/dictwrite.py | 187 +++++++++--------- 5 files changed, 144 insertions(+), 162 deletions(-) diff --git a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h index cb23bda2c9d..3a98ebc1e02 100755 --- a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h +++ b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h @@ -23,28 +23,12 @@ public: /// Retrieve interface ID static const InterfaceID& interfaceID() { return IID_ITrigROBDataProviderSvc_RTT; } - /// Return vector with all ROBFragments stored in the cache - virtual void addROBData(const std::vector<uint32_t>& robIds, - const std::string callerName="UNKNOWN") = 0; - //return status of prefecthing virtual bool isMissingPrefetching() = 0; // return setup of pre-fetching virtual bool isPrefetchingAtAlgoLevel() = 0; - /// set the name of the program which uses the ROBDataProviderSvc - virtual void setCallerName(const std::string) = 0; - - /// Check if complete event data are already in cache - virtual bool isEventComplete() = 0; - - /// Collect all data for an event from the ROS and put them into the cache - /// Return value: number of ROBs which were retrieved to complete the event - /// Optinonally the name of the caller of this method can be specified for cost monitoring - virtual int collectCompleteEventData(const std::string callerName="UNKNOWN") = 0; - - }; #endif diff --git a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h index 9d9fcf29c75..1b91ef74069 100755 --- a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h +++ b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h @@ -140,6 +140,14 @@ public: /// Get access to ROB prefetching information from steering virtual HLT::RobRequestInfo* robRequestInfo() const override { return m_RobRequestInfo; }; + /// --- Implementation of ITrigROBDataProviderSvcPrefetch interface --- + + /// Set access to ROB prefetching information from steering + virtual void setRobRequestInfo(HLT::RobRequestInfo* robInfo) { m_RobRequestInfo = robInfo; } ; + + /// Get access to ROB prefetching information from steering + virtual HLT::RobRequestInfo* robRequestInfo() const { return m_RobRequestInfo; }; + /// --- Implementation of IIncidentListener interface --- // handler for BeginRun actions diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx index aae0a1e80a1..3a96d5e8f12 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx @@ -1,13 +1,11 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "TrigSerializeCnvSvc/TrigSerializeConvHelper.h" #include "GaudiKernel/MsgStream.h" #include "GaudiKernel/ClassID.h" -#include "AthenaKernel/getMessageSvc.h" -#include "StoreGate/StoreGateSvc.h" #include "TrigSerializeCnvSvc/TrigStreamAddress.h" @@ -39,35 +37,35 @@ StatusCode TrigSerializeConvHelper::initialize(){ StatusCode sc = m_serializerTool.retrieve(); if (!sc.isSuccess()){ - msg(MSG::DEBUG) << "m_serializer not retrieved" << endmsg; + ATH_MSG_DEBUG("m_serializer not retrieved"); return sc; } else { - msg(MSG::DEBUG) << "m_serializer retrieved" << endmsg; + ATH_MSG_DEBUG("m_serializer retrieved"); /* if (m_serializerTool->initialize().isSuccess()){ - msg(MSG::DEBUG) << "serializer initialized" << endmsg; + ATH_MSG_DEBUG( "serializer initialized" ); } */ } StatusCode sctp = m_TPTool.retrieve(); if (!sctp.isSuccess()){ - msg(MSG::DEBUG) << "m_TPTool not retrieved" << endmsg; + ATH_MSG_DEBUG( "m_TPTool not retrieved" ); return sctp; } else { - msg(MSG::DEBUG) << "m_TPTool retrieved" << endmsg; + ATH_MSG_DEBUG( "m_TPTool retrieved" ); /* if (m_TPTool->initialize().isSuccess()) - msg(MSG::DEBUG) << "m_TPTool initialized" << endmsg; + ATH_MSG_DEBUG( "m_TPTool initialized" ); */ } StatusCode scg = m_guidTool.retrieve(); if (!scg.isSuccess()){ - msg(MSG::DEBUG) << m_guidTool << " not retrieved" << endmsg; + ATH_MSG_DEBUG( m_guidTool << " not retrieved" ); return scg; } else { - msg(MSG::DEBUG) << m_guidTool << "retrieved" << endmsg; + ATH_MSG_DEBUG( m_guidTool << "retrieved" ); } m_oldEDMmap[ "TrigRoiDescriptor" ] = "TrigRoiDescriptorCollection_tlp1"; @@ -122,12 +120,12 @@ StatusCode TrigSerializeConvHelper::initialize(){ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaqueAddress* iAddr, void *&ptr, bool isxAOD){ ptr = 0; - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; - + ATH_MSG_DEBUG("in TrigSerializeConvHelper::createObj for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no")); + //could alse get DATA (perhaps as boost::any) from the IOA TrigStreamAddress *addr = dynamic_cast<TrigStreamAddress*>(iAddr); if (!addr) { - msg(MSG::WARNING) << "createObj cast failed" << endmsg; + ATH_MSG_WARNING("createObj cast failed"); return StatusCode::FAILURE; } @@ -154,39 +152,36 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque scid = serializer->peekCLID(v, guid); if (scid.isFailure()){ //BS has no hint on the pers class - use the original table - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "BS does not hint on payload object " << cl << endmsg; + ATH_MSG_DEBUG("BS does not hint on payload object " << cl); if (m_oldEDMmap.find(clname)!=m_oldEDMmap.end()){ - if (cl!=m_oldEDMmap[clname]){ - msg(MSG::DEBUG) << "Using backward compatibility map with " << m_oldEDMmap[clname] - << " instead of " << cl << endmsg; - cl = m_oldEDMmap[clname]; - } + if (cl!=m_oldEDMmap[clname]){ + ATH_MSG_DEBUG("Using backward compatibility map with " << m_oldEDMmap[clname] + << " instead of " << cl); + cl = m_oldEDMmap[clname]; + } } } else { //get the pers version from the BS std::string nclass; StatusCode ai = m_guidTool->IntsToClassName(guid, nclass); if (ai.isFailure()){ - //better do not decode - return StatusCode::FAILURE; + //better do not decode + return StatusCode::FAILURE; } if (cl != nclass){ - cl = nclass; - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "Got hint of " << cl - << " different persistent class from the BS payload. Name from GUID: " << nclass << endmsg; - - if(isxAOD){ - msg(MSG::DEBUG) << "This is an xAOD so probably the BS version is an older version of the xAOD type." << endmsg; - } - versionChange = true; + cl = nclass; + ATH_MSG_DEBUG("Got hint of " << cl << " different persistent class from the BS payload. Name from GUID: " << nclass); + + if(isxAOD){ + ATH_MSG_DEBUG("This is an xAOD so probably the BS version is an older version of the xAOD type."); + } + versionChange = true; } } ptr = serializer->deserialize(cl, v); - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << cl << " deserialized to " << ptr << " version change detected: " << (versionChange ? "yes":"no") << endmsg; + ATH_MSG_DEBUG(cl << " deserialized to " << ptr << " version change detected: " << (versionChange ? "yes":"no")); } // T/P separation @@ -194,11 +189,11 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque if (m_doTP and (!isxAOD or versionChange) and !isViewVector){ std::string transclass; - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "converting with pername " << cl << endmsg; + ATH_MSG_DEBUG("converting with pername " << cl); void *transObj = m_TPTool->convertPT(cl,ptr, transclass); - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "was converted to " << transclass << " at " << transObj << endmsg; + ATH_MSG_DEBUG("was converted to " << transclass << " at " << transObj); //persistent object not needed anymore TClass *persClObj = gROOT->GetClass(cl.c_str()); @@ -218,7 +213,7 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, StatusCode sc(StatusCode::SUCCESS); - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createRep for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; + ATH_MSG_DEBUG("in TrigSerializeConvHelper::createRep for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no")); std::string cl = clname; void *pObj = ptr; @@ -230,31 +225,29 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, cl = persclass; } - msg(MSG::DEBUG) << "convertTP: " << pObj << " of " - << cl << endmsg; - + ATH_MSG_DEBUG("convertTP: " << pObj << " of " << cl); + //void *serptr(0); // ITrigSerializerToolBase* serializer = m_serializerTool.operator->(); serializer->reset(); - msg(MSG::VERBOSE) << "About to get GUID for " << cl << endmsg; - + ATH_MSG_VERBOSE("About to get GUID for " << cl); + //opposite from string to class uint32_t irep[4]; StatusCode ai = m_guidTool->ClassNameToInts(cl, irep); if (ai.isFailure()){ - msg(MSG::WARNING) << "Cannot store class identification for " - << cl << " to BS" << endmsg; + ATH_MSG_WARNING("Cannot store class identification for " << cl << " to BS"); } - msg(MSG::VERBOSE) << "got GUID: " << irep[0] << "-" << irep[1] << "-" << irep[2] << "-" << irep[3] << endmsg; - + ATH_MSG_VERBOSE("got GUID: " << irep[0] << "-" << irep[1] << "-" << irep[2] << "-" << irep[3]); + if (cl != "" && pObj){ serializer->setCLID(irep); serializer->serialize(cl, pObj, out); } else { - msg(MSG::WARNING) << "did not serialize " << ptr << " of " << clname << endmsg; + ATH_MSG_WARNING("did not serialize " << ptr << " of " << clname); } if (m_doTP and !isxAOD){ @@ -264,8 +257,7 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, persClObj->Destructor(pObj); } - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "pObj: " << pObj << " of " << cl - << " payload: " << out.size() << endmsg; + ATH_MSG_DEBUG("pObj: " << pObj << " of " << cl << " payload: " << out.size()); return sc; } diff --git a/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py b/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py index 3ace667e0f5..341888dfc82 100755 --- a/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py +++ b/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py @@ -1,6 +1,6 @@ #!/usr/bin/env pyroot.py -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration import cppyy class StreamerInfoGenerator: @@ -12,9 +12,8 @@ class StreamerInfoGenerator: #MN: ROOT6 strips std:: from types, so we need to check the names self.blacklist = ['std::', 'vector<', 'map<', 'queue<', 'list<'] self.type = cppyy.gbl.RootType -# cppyy.loadDict('libSTLRflx') -# cppyy.loadDict('libSTLAddRflx') -# cppyy.loadDict('libAtlasSTLAddReflexDict') + self.type.EnableCintex() + cppyy.loadDict('libAtlasSTLAddReflexDict') #MN: switch off auto dict generation - god knows what that can mess up cppyy.gbl.gROOT.ProcessLine(".autodict") diff --git a/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py b/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py index 28821e54776..d4542126c12 100755 --- a/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py +++ b/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py @@ -1,6 +1,6 @@ #!/usr/bin/env pyroot.py -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration #---------------------------------------------- # @@ -35,99 +35,98 @@ b) have a real class in the 'objects' list BEFORE the typedef objects = [ - 'xAOD::TrigEMCluster_v1', - 'xAOD::TrigEMClusterContainer_v1', - 'xAOD::TrigEMClusterAuxContainer_v1', - 'xAOD::TrigRingerRings_v1', - 'xAOD::TrigRingerRingsContainer_v1', - 'xAOD::TrigRingerRingsAuxContainer_v1', - 'xAOD::TrigRNNOutput_v1', - 'xAOD::TrigRNNOutputContainer_v1', - 'xAOD::TrigRNNOutputAuxContainer_v1', - 'xAOD::CaloClusterContainer_v1', - 'xAOD::CaloClusterAuxContainer_v2', - 'xAOD::L2StandAloneMuonContainer_v1', - 'xAOD::L2StandAloneMuonAuxContainer_v1', - 'xAOD::L2StandAloneMuonAuxContainer_v2', - 'xAOD::L2CombinedMuonContainer_v1', - 'xAOD::L2CombinedMuonAuxContainer_v1', - 'xAOD::L2IsoMuonContainer_v1', - 'xAOD::L2IsoMuonAuxContainer_v1', - 'xAOD::MuonContainer_v1', - 'xAOD::MuonAuxContainer_v1', - 'xAOD::MuonAuxContainer_v2', - 'xAOD::MuonAuxContainer_v3', - 'xAOD::MuonAuxContainer_v4', - 'xAOD::TrackParticleContainer_v1', - 'xAOD::TrackParticleAuxContainer_v1', - 'xAOD::TrackParticleAuxContainer_v2', - 'xAOD::TrackParticleAuxContainer_v3', - 'xAOD::TauJetContainer_v2', - 'xAOD::TauJetAuxContainer_v2', - 'xAOD::TauJetAuxContainer_v3', - 'xAOD::VertexContainer_v1', - 'xAOD::VertexAuxContainer_v1', - 'xAOD::TrigCompositeContainer_v1', - 'xAOD::TrigCompositeAuxContainer_v1', - 'xAOD::MuonRoIContainer_v1', - 'xAOD::MuonRoIAuxContainer_v1', - 'xAOD::EmTauRoIContainer_v2', - 'xAOD::EmTauRoIAuxContainer_v2', - 'xAOD::JetRoIContainer_v2', - 'xAOD::JetRoIAuxContainer_v2', - 'xAOD::JetEtRoI_v1', - 'xAOD::JetEtRoIAuxInfo_v1', - 'xAOD::EnergySumRoI_v1', - 'xAOD::EnergySumRoIAuxInfo_v1', - 'xAOD::TriggerTowerContainer_v2', - 'xAOD::TriggerTowerAuxContainer_v2', - 'xAOD::ElectronContainer_v1', - 'xAOD::ElectronAuxContainer_v1', - 'xAOD::PhotonContainer_v1', - 'xAOD::PhotonAuxContainer_v1', - 'xAOD::TrigBphysContainer_v1', - 'xAOD::TrigBphysAuxContainer_v1', - 'xAOD::TrigT2MbtsBitsAuxContainer_v1', - 'xAOD::TrigT2MbtsBitsContainer_v1', - 'xAOD::TrigSpacePointCountsContainer_v1', - 'xAOD::TrigSpacePointCountsAuxContainer_v1', - 'xAOD::TrigVertexCountsContainer_v1', - 'xAOD::TrigVertexCountsAuxContainer_v1', - 'xAOD::TrigTrackCounts_v1', - 'xAOD::TrigTrackCountsAuxContainer_v1', - 'xAOD::TrigMissingETContainer_v1', - 'xAOD::TrigMissingETAuxContainer_v1', - 'xAOD::TrigPhotonContainer_v1', - 'xAOD::TrigPhotonAuxContainer_v1', - 'xAOD::TrigElectronContainer_v1', - 'xAOD::TrigElectronAuxContainer_v1', - 'xAOD::JetContainer_v1', - 'xAOD::JetTrigAuxContainer_v1', - 'xAOD::JetTrigAuxContainer_v2', - 'xAOD::TrigDecision_v1', - 'xAOD::TrigDecisionAuxInfo_v1', - 'xAOD::TrigConfKeys_v1', - 'xAOD::TrigNavigation_v1', - 'xAOD::TrigNavigationAuxInfo_v1', - 'xAOD::BTaggingContainer_v1', - 'xAOD::BTaggingAuxContainer_v1', - 'xAOD::BTaggingTrigAuxContainer_v1', - 'xAOD::BTagVertexContainer_v1', - 'xAOD::BTagVertexAuxContainer_v1', - 'xAOD::HIEventShapeAuxContainer_v2', - 'xAOD::HIEventShapeContainer_v2', - 'xAOD::TrigT2ZdcSignalsAuxContainer_v1', - 'xAOD::TrigT2ZdcSignalsContainer_v1', - 'xAOD::TrigPassBitsContainer_v1', - 'xAOD::TrigPassBitsAuxContainer_v1', - 'xAOD::CaloClusterTrigAuxContainer_v1', - 'xAOD::ElectronTrigAuxContainer_v1', - 'xAOD::PhotonTrigAuxContainer_v1', - 'xAOD::TrigEMClusterAuxContainer_v2', - 'xAOD::TrigRingerRingsAuxContainer_v2', - 'xAOD::TrigRNNOutputAuxContainer_v2', - 'TrigMuonEFIsolation_p2', - 'xAOD::MuonAuxContainer_v4', +'xAOD::TrigEMCluster_v1', +'xAOD::TrigEMClusterContainer_v1', +'xAOD::TrigEMClusterAuxContainer_v1', +'xAOD::TrigRingerRings_v1', +'xAOD::TrigRingerRingsContainer_v1', +'xAOD::TrigRingerRingsAuxContainer_v1', +'xAOD::TrigRNNOutput_v1', +'xAOD::TrigRNNOutputContainer_v1', +'xAOD::TrigRNNOutputAuxContainer_v1', +'xAOD::CaloClusterContainer_v1', +'xAOD::CaloClusterAuxContainer_v2', +'xAOD::L2StandAloneMuonContainer_v1', +'xAOD::L2StandAloneMuonAuxContainer_v1', +'xAOD::L2StandAloneMuonAuxContainer_v2', +'xAOD::L2CombinedMuonContainer_v1', +'xAOD::L2CombinedMuonAuxContainer_v1', +'xAOD::L2IsoMuonContainer_v1', +'xAOD::L2IsoMuonAuxContainer_v1', +'xAOD::MuonContainer_v1', +'xAOD::MuonAuxContainer_v1', +'xAOD::MuonAuxContainer_v2', +'xAOD::MuonAuxContainer_v3', +'xAOD::MuonAuxContainer_v4', +'xAOD::TrackParticleContainer_v1', +'xAOD::TrackParticleAuxContainer_v1', +'xAOD::TrackParticleAuxContainer_v2', +'xAOD::TrackParticleAuxContainer_v3', +'xAOD::TauJetContainer_v2', +'xAOD::TauJetAuxContainer_v2', +'xAOD::TauJetAuxContainer_v3', +'xAOD::VertexContainer_v1', +'xAOD::VertexAuxContainer_v1', +'xAOD::TrigCompositeContainer_v1', +'xAOD::TrigCompositeAuxContainer_v1', +'xAOD::MuonRoIContainer_v1', +'xAOD::MuonRoIAuxContainer_v1', +'xAOD::EmTauRoIContainer_v2', +'xAOD::EmTauRoIAuxContainer_v2', +'xAOD::JetRoIContainer_v2', +'xAOD::JetRoIAuxContainer_v2', +'xAOD::JetEtRoI_v1', +'xAOD::JetEtRoIAuxInfo_v1', +'xAOD::EnergySumRoI_v1', +'xAOD::EnergySumRoIAuxInfo_v1', +'xAOD::TriggerTowerContainer_v2', +'xAOD::TriggerTowerAuxContainer_v2', +'xAOD::ElectronContainer_v1', +'xAOD::ElectronAuxContainer_v1', +'xAOD::PhotonContainer_v1', +'xAOD::PhotonAuxContainer_v1', +'xAOD::TrigBphysContainer_v1', +'xAOD::TrigBphysAuxContainer_v1', +'xAOD::TrigT2MbtsBitsAuxContainer_v1', +'xAOD::TrigT2MbtsBitsContainer_v1', +'xAOD::TrigSpacePointCountsContainer_v1', +'xAOD::TrigSpacePointCountsAuxContainer_v1', +'xAOD::TrigVertexCountsContainer_v1', +'xAOD::TrigVertexCountsAuxContainer_v1', +'xAOD::TrigTrackCounts_v1', +'xAOD::TrigTrackCountsAuxContainer_v1', +'xAOD::TrigMissingETContainer_v1', +'xAOD::TrigMissingETAuxContainer_v1', +'xAOD::TrigPhotonContainer_v1', +'xAOD::TrigPhotonAuxContainer_v1', +'xAOD::TrigElectronContainer_v1', +'xAOD::TrigElectronAuxContainer_v1', +'xAOD::JetContainer_v1', +'xAOD::JetTrigAuxContainer_v1', +'xAOD::JetTrigAuxContainer_v2', +'xAOD::TrigDecision_v1', +'xAOD::TrigDecisionAuxInfo_v1', +'xAOD::TrigConfKeys_v1', +'xAOD::TrigNavigation_v1', +'xAOD::TrigNavigationAuxInfo_v1', +'xAOD::BTaggingContainer_v1', +'xAOD::BTaggingAuxContainer_v1', +'xAOD::BTaggingTrigAuxContainer_v1', +'xAOD::BTagVertexContainer_v1', +'xAOD::BTagVertexAuxContainer_v1', +'xAOD::HIEventShapeAuxContainer_v2', +'xAOD::HIEventShapeContainer_v2', +'xAOD::TrigT2ZdcSignalsAuxContainer_v1', +'xAOD::TrigT2ZdcSignalsContainer_v1', +'xAOD::TrigPassBitsContainer_v1', +'xAOD::TrigPassBitsAuxContainer_v1', +'xAOD::CaloClusterTrigAuxContainer_v1', +'xAOD::ElectronTrigAuxContainer_v1', +'xAOD::PhotonTrigAuxContainer_v1', +'xAOD::TrigEMClusterAuxContainer_v2', +'xAOD::TrigRingerRingsAuxContainer_v2', +'xAOD::TrigRNNOutputAuxContainer_v2', +#'TrigMuonEFIsolation_p2', ] from collections import defaultdict -- GitLab From 4337dd5d0eef464c7b1b749eaf6499989d34d466 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Fri, 2 Nov 2018 14:23:36 +0100 Subject: [PATCH 068/209] AthenaKernel: Add CondCont::extendLastRange(). Add CondCont::extendLastRange(), to allow altering the end time of the last IOV. To be used to implement the dynamic addition of IOVs required by the HLT. --- Control/AthenaKernel/AthenaKernel/CondCont.h | 37 +++++- .../AthenaKernel/AthenaKernel/CondCont.icc | 37 +++++- Control/AthenaKernel/share/CondCont_test.ref | 1 + Control/AthenaKernel/src/CondCont.cxx | 10 ++ Control/AthenaKernel/test/CondCont_test.cxx | 107 ++++++++++++------ 5 files changed, 158 insertions(+), 34 deletions(-) diff --git a/Control/AthenaKernel/AthenaKernel/CondCont.h b/Control/AthenaKernel/AthenaKernel/CondCont.h index fa14547ec2a..358f45c8fa8 100644 --- a/Control/AthenaKernel/AthenaKernel/CondCont.h +++ b/Control/AthenaKernel/AthenaKernel/CondCont.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // /** @@ -137,6 +137,12 @@ public: virtual void list (std::ostream& ost) const = 0; + /** + * @brief Dump the container to cout. For calling from the debugger. + */ + void print() const; + + /** * @brief Return the number of conditions objects in the container. */ @@ -276,6 +282,20 @@ public: virtual size_t maxSize() const = 0; + /** + * @brief Extend the range of the last IOV. + * @param newRange New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c newRange does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c newRange. (If the end time for @c newRange + * is before the end of the last IOV, then nothing is changed.) + */ + virtual StatusCode extendLastRange (const EventIDRange& newRange, + const EventContext& ctx = Gaudi::Hive::currentContext()) = 0; + + /** * @brief Make a run+lbn key from an EventIDBase. * @param Event ID to convert. @@ -334,6 +354,17 @@ public: { return t >= r.m_start && t< r.m_stop; } + bool extendRange (RangeKey& r, const RangeKey& newRange) const + { + if (r.m_start != newRange.m_start) { + return false; + } + if (newRange.m_stop > r.m_stop) { + r.m_stop = newRange.m_stop; + r.m_range = newRange.m_range; + } + return true; + } }; @@ -718,6 +749,10 @@ public: virtual size_t maxSize() const override; + virtual StatusCode extendLastRange (const EventIDRange& newRange, + const EventContext& ctx = Gaudi::Hive::currentContext()) override; + + protected: /** * @brief Internal constructor. diff --git a/Control/AthenaKernel/AthenaKernel/CondCont.icc b/Control/AthenaKernel/AthenaKernel/CondCont.icc index 6c33e65451f..7432e3c35d3 100644 --- a/Control/AthenaKernel/AthenaKernel/CondCont.icc +++ b/Control/AthenaKernel/AthenaKernel/CondCont.icc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -529,6 +529,41 @@ size_t CondCont<T>::maxSize() const } +/** + * @brief Extend the range of the last IOV. + * @param newRange New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c newRange does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c newRange. (If the end time for @c newRange + * is before the end of the last IOV, then nothing is changed.) + */ +template <typename T> +StatusCode +CondCont<T>::extendLastRange (const EventIDRange& newRange, + const EventContext& ctx /*= Gaudi::Hive::currentContext()*/) +{ + typename CondContSet::const_iterator it = nullptr; + if (newRange.start().isRunLumi()) { + it = m_condSet_RE.extendLastRange + (RangeKey (newRange, + CondContBase::keyFromRunLBN (newRange.start()), + CondContBase::keyFromRunLBN (newRange.stop())), ctx); + } + else if (newRange.start().isTimeStamp()) { + it = m_condSet_clock.extendLastRange + (RangeKey (newRange, + CondContBase::keyFromTimestamp (newRange.start()), + CondContBase::keyFromTimestamp (newRange.stop())), ctx); + } + if (it != nullptr) { + return StatusCode::SUCCESS; + } + return StatusCode::FAILURE; +} + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ diff --git a/Control/AthenaKernel/share/CondCont_test.ref b/Control/AthenaKernel/share/CondCont_test.ref index 4ac92e1813b..af24b5536c9 100644 --- a/Control/AthenaKernel/share/CondCont_test.ref +++ b/Control/AthenaKernel/share/CondCont_test.ref @@ -4,3 +4,4 @@ test2 CondCont<T>::insert error: EventIDRange {[40,l:2] - [t:543]} is neither fully RunEvent nor TimeStamp CondCont<T>::insert error: Not most-derived class. test3 +testThread diff --git a/Control/AthenaKernel/src/CondCont.cxx b/Control/AthenaKernel/src/CondCont.cxx index cb32f06d9b7..553ae76fb2f 100644 --- a/Control/AthenaKernel/src/CondCont.cxx +++ b/Control/AthenaKernel/src/CondCont.cxx @@ -8,6 +8,7 @@ #include "AthenaKernel/CondCont.h" +#include <iostream> /// Default name of the global conditions cleaner service. @@ -62,6 +63,15 @@ bool CondContBase::Category::isDuplicate (StatusCode code) STATUSCODE_ENUM_IMPL (CondContStatusCode, CondContBase::Category) +/** + * @brief Dump the container to cout. For calling from the debugger. + */ +void CondContBase::print() const +{ + this->list (std::cout); +} + + /** * @brief Internal constructor. * @param rcusvc RCU service instance. diff --git a/Control/AthenaKernel/test/CondCont_test.cxx b/Control/AthenaKernel/test/CondCont_test.cxx index f2de7709056..2a5ac051342 100644 --- a/Control/AthenaKernel/test/CondCont_test.cxx +++ b/Control/AthenaKernel/test/CondCont_test.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -303,13 +303,55 @@ void test2 (TestRCUSvc& rcusvc) } +std::string dump_cc (const CondCont<B>& cc) +{ + std::ostringstream ss; + for (const EventIDRange& r : cc.ranges()) { + const B* p = nullptr; + assert (cc.find (r.start(), p)); + ss << r << " [" << p->m_x << "]\n"; + } + return ss.str(); +} + + +// Test an extensible container. +void test3 (TestRCUSvc& rcusvc) +{ + std::cout << "test3\n"; + DataObjID id ("key"); + CondCont<B> cc (rcusvc, id); + + const B* b = nullptr; + assert (!cc.find (runlbn (10, 15), b)); + + assert (cc.insert (EventIDRange (runlbn (10, 15), runlbn (10, 20)), + std::make_unique<B>(1))); + assert (cc.insert (EventIDRange (runlbn (10, 30), runlbn (10, 35)), + std::make_unique<B>(2))); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:35]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 30), runlbn (10, 37))).isSuccess()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 30), runlbn (10, 33))).isSuccess()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 31), runlbn (10, 33))).isFailure()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); +} + + +//******************************************************************************* + + std::shared_timed_mutex start_mutex; -class test3_Base +class testThread_Base { public: - test3_Base (int slot); + testThread_Base (int slot); const EventContext& ctx() const { return m_ctx; } void setContext(); @@ -319,23 +361,23 @@ private: }; -test3_Base::test3_Base (int slot) +testThread_Base::testThread_Base (int slot) : m_ctx (0, slot) { } -void test3_Base::setContext() +void testThread_Base::setContext() { Gaudi::Hive::setCurrentContext (m_ctx); } -class test3_Writer - : public test3_Base +class testThread_Writer + : public testThread_Base { public: - test3_Writer (int slot, CondCont<B>& map); + testThread_Writer (int slot, CondCont<B>& map); void operator()(); EventIDRange makeRange (int i); @@ -344,14 +386,14 @@ private: }; -test3_Writer::test3_Writer (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Writer::testThread_Writer (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map) { } -void test3_Writer::operator()() +void testThread_Writer::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -371,7 +413,7 @@ void test3_Writer::operator()() } -EventIDRange test3_Writer::makeRange (int i) +EventIDRange testThread_Writer::makeRange (int i) { EventIDBase start (0, 0, EventIDBase::UNDEFNUM, 0, i*10); EventIDBase stop (0, 0, EventIDBase::UNDEFNUM, 0, (i+1)*10); @@ -379,11 +421,11 @@ EventIDRange test3_Writer::makeRange (int i) } -class test3_Iterator - : public test3_Base +class testThread_Iterator + : public testThread_Base { public: - test3_Iterator (int slot, CondCont<B>& map); + testThread_Iterator (int slot, CondCont<B>& map); void operator()(); private: @@ -391,14 +433,14 @@ private: }; -test3_Iterator::test3_Iterator (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Iterator::testThread_Iterator (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map) { } -void test3_Iterator::operator()() +void testThread_Iterator::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -433,11 +475,11 @@ void test3_Iterator::operator()() } -class test3_Reader - : public test3_Base +class testThread_Reader + : public testThread_Base { public: - test3_Reader (int slot, CondCont<B>& map); + testThread_Reader (int slot, CondCont<B>& map); void operator()(); private: @@ -446,15 +488,15 @@ private: }; -test3_Reader::test3_Reader (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Reader::testThread_Reader (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map), m_seed (slot * 123) { } -void test3_Reader::operator()() +void testThread_Reader::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -479,7 +521,7 @@ void test3_Reader::operator()() } -void test3_iter (TestRCUSvc& rcusvc) +void testThread_iter (TestRCUSvc& rcusvc) { DataObjID id ("key"); CondCont<B> condcont (rcusvc, id, nullptr, 20); @@ -488,10 +530,10 @@ void test3_iter (TestRCUSvc& rcusvc) std::thread threads[nthread]; start_mutex.lock(); - threads[0] = std::thread (test3_Writer (0, condcont)); - threads[1] = std::thread (test3_Iterator (1, condcont)); - threads[2] = std::thread (test3_Reader (2, condcont)); - threads[3] = std::thread (test3_Reader (3, condcont)); + threads[0] = std::thread (testThread_Writer (0, condcont)); + threads[1] = std::thread (testThread_Iterator (1, condcont)); + threads[2] = std::thread (testThread_Reader (2, condcont)); + threads[3] = std::thread (testThread_Reader (3, condcont)); // Try to get the threads starting as much at the same time as possible. start_mutex.unlock(); @@ -500,12 +542,12 @@ void test3_iter (TestRCUSvc& rcusvc) } -void test3 (TestRCUSvc& rcusvc) +void testThread (TestRCUSvc& rcusvc) { - std::cout << "test3\n"; + std::cout << "testThread\n"; for (int i=0; i < 10; i++) { - test3_iter (rcusvc); + testThread_iter (rcusvc); } } @@ -525,5 +567,6 @@ int main ATLAS_NOT_THREAD_SAFE () test1 (rcusvc); test2 (rcusvc); test3 (rcusvc); + testThread (rcusvc); return 0; } -- GitLab From 30126364d13a781c150436d8fc427fa3a6a12c2f Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Fri, 2 Nov 2018 14:23:55 +0100 Subject: [PATCH 069/209] AthenaServices: Update for CondCont changes. Update test code for addition of extendLastRange to CondCont. --- Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx | 2 ++ .../AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx b/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx index 35247486ba4..48266d65f87 100644 --- a/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx +++ b/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx @@ -68,6 +68,8 @@ public: EventIDRange const**) const override { std::abort(); } virtual size_t nInserts() const override { std::abort(); } virtual size_t maxSize() const override { std::abort(); } + virtual StatusCode extendLastRange (const EventIDRange& /*newRange*/, + const EventContext& /*ctx*/) override { std::abort(); } private: RCUTest m_rcu; diff --git a/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx b/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx index 861c2c376d9..fc52680c26e 100644 --- a/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx +++ b/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx @@ -76,6 +76,8 @@ public: virtual size_t nInserts() const override { return 0; } virtual size_t maxSize() const override { return 0; } + virtual StatusCode extendLastRange (const EventIDRange& /*newRange*/, + const EventContext& /*ctx*/) override { std::abort(); } virtual size_t entriesRunLBN() const override -- GitLab From 33c2713179e661a71dc6efb5e92f6d3d8d1e9751 Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Fri, 2 Nov 2018 14:43:36 +0100 Subject: [PATCH 070/209] remove spurious debug output --- LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py | 1 - 1 file changed, 1 deletion(-) diff --git a/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py b/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py index d5cf77e488f..f9bdca79be5 100644 --- a/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py +++ b/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py @@ -23,7 +23,6 @@ if not conddb.isMC and not conddb.isOnline: from LArRecUtils.LArRecUtilsConf import LArHVCondAlg hvcond = LArHVCondAlg(HVPathologies="LArHVPathology",OutputHVData="LArHVData") - hvcond.OutputLevel=DEBUG condseq += hvcond from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg -- GitLab From 3c87724f2783953a17a63d60d064f9b742eca77b Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Fri, 2 Nov 2018 14:44:14 +0100 Subject: [PATCH 071/209] migrate LArRODMonTool and LArDigitMon tool to Read(Cond)Handles --- .../share/LArDigitMon_jobOptions.py | 4 - .../share/LArRODMonTool_jobOptions.py | 5 - .../LArMonTools/src/LArDigitMon.cxx | 73 +++------ LArCalorimeter/LArMonTools/src/LArDigitMon.h | 29 ++-- .../LArMonTools/src/LArRODMonTool.cxx | 142 +++++++----------- .../LArMonTools/src/LArRODMonTool.h | 31 ++-- 6 files changed, 115 insertions(+), 169 deletions(-) diff --git a/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py b/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py index 53e50475097..34b4cf7117b 100644 --- a/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py +++ b/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py @@ -48,10 +48,6 @@ theLArDigitMon = LArDigitMon(name="LArDigitMon", Streams = StreamsToMonitor ) -theLArDigitMon.LArPedestalKey='LArPedestal' - - -#ToolSvc += theLArDigitMon LArMon.AthenaMonTools+=[ theLArDigitMon ] diff --git a/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py b/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py index 078b7ab1c35..b9a2c21f7e6 100755 --- a/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py +++ b/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py @@ -119,9 +119,4 @@ theLArRODMonTool = LArRODMonTool(name="LArRODMonTool", ProcessNEvents = EventBlockSize ) -from AthenaCommon.BeamFlags import jobproperties -theLArRODMonTool.LArPedestalKey='LArPedestal' - LArMon.AthenaMonTools+=[ theLArRODMonTool ] - -#theLArRODMonTool.OutputLevel = DEBUG diff --git a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx index 2c5958868f6..459e3751f3b 100755 --- a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx +++ b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx @@ -40,14 +40,10 @@ //LAr infos: #include "Identifier/HWIdentifier.h" -#include "LArCabling/LArCablingService.h" +#include "LArCabling/LArOnOffIdMapping.h" #include "LArIdentifier/LArOnlineID.h" #include "LArRawEvent/LArDigit.h" #include "LArRawEvent/LArDigitContainer.h" -#include "LArRecEvent/LArNoisyROSummary.h" - -//Events infos: -#include "xAODEventInfo/EventInfo.h" #include "LArTrigStreamMatching.h" @@ -67,7 +63,6 @@ LArDigitMon::LArDigitMon(const std::string& type, m_strHelper(0), m_LArOnlineIDHelper(0), m_LArEM_IDHelper(0), - m_LArCablingService("LArCablingService"), m_badChannelMask("BadLArRawChannelMask"), m_summary(0), m_feedthroughID(0), @@ -83,8 +78,6 @@ LArDigitMon::LArDigitMon(const std::string& type, /**bool use to mask the bad channels*/ declareProperty("IgnoreBadChannels", m_ignoreKnownBadChannels=false); declareProperty("LArBadChannelMask",m_badChannelMask); - declareProperty("LArPedestalKey", m_larPedestalKey="LArPedestal"); - declareProperty("LArDigitContainerKey", m_LArDigitContainerKey = "FREE"); /**default cut to select events*/ declareProperty("SigmaCut", m_SigmaCut=5); /**default saturation cuts*/ @@ -171,15 +164,15 @@ LArDigitMon::initialize() return StatusCode::FAILURE; } + + ATH_CHECK(m_digitContainerKey.initialize()); + ATH_CHECK(m_eventInfoKey.initialize()); + ATH_CHECK(m_keyPedestal.initialize()); + ATH_CHECK(m_cablingKey.initialize()); + ATH_CHECK(m_noisyROSummaryKey.initialize()); + - - /** Get LAr Calbling Service*/ - sc=m_LArCablingService.retrieve(); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Could not retrieve LArCablingService" ); - return StatusCode::FAILURE; - } - + /** Get bad-channel mask (only if jO IgnoreBadChannels is true)*/ if (m_ignoreKnownBadChannels) { sc=m_badChannelMask.retrieve(); @@ -191,13 +184,6 @@ LArDigitMon::initialize() m_badChannelMask.disable(); } - /** Retrieve pedestals container*/ - sc = detStore()->regHandle(m_larPedestal,m_larPedestalKey); - if (sc.isFailure()) { - ATH_MSG_ERROR( "could not register handle for pedestal " ); - return StatusCode::FAILURE; - } - /** Bool used for online*/ m_PercComputed=false; @@ -312,13 +298,8 @@ LArDigitMon::fillHistograms() m_eventsCounter++; // retrieve LArNoisyROSummary and skip the event if number of FEB is greater than the one declare in JO. - const LArNoisyROSummary* noisyRO; - StatusCode sc = evtStore()->retrieve(noisyRO,"LArNoisyROSummary"); - if (sc.isFailure()) - { - ATH_MSG_WARNING( "Can't retrieve LArNoisyROSummary " ); - return StatusCode::SUCCESS; - } + SG::ReadHandle<LArNoisyROSummary> noisyRO{m_noisyROSummaryKey}; + const std::vector<HWIdentifier>& noisyFEB = noisyRO->get_noisy_febs(); if(int(noisyFEB.size())>m_NumberBadFebs) { @@ -327,13 +308,8 @@ LArDigitMon::fillHistograms() } /**EventID is a part of EventInfo, search event informations:*/ - // unsigned long run=0; - const xAOD::EventInfo* thisEvent; - if (evtStore()->retrieve(thisEvent).isFailure()) { - ATH_MSG_ERROR( "Failed to retrieve EventInfo object" ); - return StatusCode::FAILURE; - } - + SG::ReadHandle<xAOD::EventInfo> thisEvent{m_eventInfoKey}; + m_evtId = thisEvent->eventNumber(); unsigned l1Trig = thisEvent->level1TriggerType(); ATH_MSG_DEBUG("Event nb " << m_evtId ); @@ -342,15 +318,14 @@ LArDigitMon::fillHistograms() m_streamsThisEvent=trigStreamMatching(m_streams,thisEvent->streamTags()); - /** retrieve LArDigitContainer*/ - const LArDigitContainer* pLArDigitContainer; - sc = evtStore()->retrieve(pLArDigitContainer, m_LArDigitContainerKey); - if (sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArDigitContainer with key " - << m_LArDigitContainerKey ); - return StatusCode::SUCCESS; - } - + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; + + SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey}; + const LArOnOffIdMapping* cabling=*cablingHdl; + + + SG::ReadHandle<LArDigitContainer> pLArDigitContainer{m_digitContainerKey}; /** Define iterators to loop over Digits containers*/ LArDigitContainer::const_iterator itDig = pLArDigitContainer->begin(); @@ -473,8 +448,8 @@ LArDigitMon::fillHistograms() /** Retrieve pedestals */ HWIdentifier id = pLArDigit->hardwareID(); CaloGain::CaloGain gain = pLArDigit->gain(); - float pedestal = m_larPedestal->pedestal(id,gain); - float pedestalRMS= m_larPedestal->pedestalRMS(id,gain); + float pedestal = pedestals->pedestal(id,gain); + float pedestalRMS=pedestals->pedestalRMS(id,gain); /**skip cells with no pedestals reference in db.*/ if(pedestal <= (1.0+LArElecCalib::ERRORCODE)) continue; @@ -484,7 +459,7 @@ LArDigitMon::fillHistograms() //int sampling = m_LArEM_IDHelper->sampling(id); /**skip disconnected channels:*/ - if(!m_LArCablingService->isOnlineConnected(id)) continue; + if(!cabling->isOnlineConnected(id)) continue; /** Determine to which partition this channel belongs to*/ diff --git a/LArCalorimeter/LArMonTools/src/LArDigitMon.h b/LArCalorimeter/LArMonTools/src/LArDigitMon.h index fa9c6bcce1b..baefd69cd36 100755 --- a/LArCalorimeter/LArMonTools/src/LArDigitMon.h +++ b/LArCalorimeter/LArMonTools/src/LArDigitMon.h @@ -24,11 +24,21 @@ //STL: #include <string> +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/ReadHandleKey.h" + +//Events infos: +#include "xAODEventInfo/EventInfo.h" +#include "LArRecEvent/LArNoisyROSummary.h" + +class LArDigitContainer; +class LArOnOffIdMapping; + class LArEM_ID; class LArOnlineID; class HWIdentifier; class LArOnlineIDStrHelper; -class LArCablingService; +class LArOnOffIdMapping; class TProfile2D_LW; class TProfile_LW; @@ -68,17 +78,21 @@ protected: LArOnlineIDStrHelper* m_strHelper; const LArOnlineID* m_LArOnlineIDHelper; const LArEM_ID* m_LArEM_IDHelper; - - /** Handle to LArCablingService */ - ToolHandle<LArCablingService> m_LArCablingService; + + //** Handle to cabling */ + SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "CablingKey", "LArOnOffIdMap","Cabling key"}; /** Handle to bad-channel mask */ ToolHandle<ILArBadChannelMasker> m_badChannelMask; /** Handle to pedestal */ - const DataHandle<ILArPedestal> m_larPedestal; - + SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"}; + SG::ReadHandleKey<LArNoisyROSummary> m_noisyROSummaryKey{this,"NoisyROSumKey","LArNoisyROSummary","SG key of LArNoisyROSummary object"}; + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo","SG Key of EventInfo object"}; + + SG::ReadHandleKey<LArDigitContainer> m_digitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"}; + private: @@ -187,9 +201,6 @@ private: double m_TreshNull; double m_TreshSat; - std::string m_LArDigitContainerKey; - std::string m_larPedestalKey; - //Added for Stream aware: std::vector<std::string> m_streams; std::vector<unsigned> m_streamsThisEvent; diff --git a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx index 4c638d237d5..3156c1ee135 100755 --- a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx +++ b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx @@ -65,19 +65,13 @@ LArRODMonTool::LArRODMonTool(const std::string& type, m_dumpDigits(false) { - declareProperty("LArDigitContainerKey", m_LArDigitContainerKey = "HIGH"); declareProperty("useEvtCounter", m_useEvtCounter = true); - declareProperty("LArRawChannelKey_fromBytestream",m_channelKey_fromBytestream="LArRawChannels_fromBytestream"); - declareProperty("LArRawChannelKey_fromDigits",m_channelKey_fromDigits="LArRawChannels_fromDigits"); - declareProperty("KeyOFC",m_keyOFC="LArOFC") ; - declareProperty("KeyShape",m_keyShape="LArShape") ; declareProperty("DigitsFileName",m_DigitsFileName = "digits.txt"); declareProperty("EnergyFileName",m_EnergyFileName = "energy.txt"); declareProperty("AiFileName",m_AiFileName = "Calib_ai.dat"); declareProperty("DumpCellsFileName",m_DumpCellsFileName = "dumpCells.txt"); declareProperty("DoDspTestDump",m_doDspTestDump = false); declareProperty("DoCellsDump",m_doCellsDump = false); - declareProperty("LArPedestalKey",m_larpedestalkey = "LArPedestal"); declareProperty("DoCheckSum",m_doCheckSum = true); declareProperty("DoRodStatus",m_doRodStatus = true); declareProperty("PrintEnergyErrors",m_printEnergyErrors = true); @@ -187,50 +181,32 @@ LArRODMonTool::initialize() { m_dumpDigits=(m_doDspTestDump || m_doCellsDump || (m_adc_th != 0)); -// For Eon/Eoff dump -// if (m_doDspTestDump) { - sc = detStore()->regHandle(m_dd_ofc,m_keyOFC); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for OFC object with key " << m_keyOFC ); - return sc; - } + ATH_CHECK(m_channelKey_fromDigits.initialize()); + ATH_CHECK(m_channelKey_fromBytestream.initialize()); + ATH_CHECK(m_digitContainerKey.initialize()); + ATH_CHECK(m_eventInfoKey.initialize()); - sc = detStore()->regHandle(m_dd_shape,m_keyShape); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for Shape object with key " << m_keyShape ); - return sc; - } + ATH_CHECK(m_keyOFC.initialize()); + ATH_CHECK(m_keyShape.initialize()); + ATH_CHECK(m_keyHVScaleCorr.initialize()); + ATH_CHECK(m_keyPedestal.initialize()); - sc = detStore()->regHandle(m_dd_HVScaleCorr,"LArHVScaleCorr"); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for HVScaleCorr object with key LArHVScaleCorr" ); - return sc; - } + ATH_CHECK(m_adc2mevKey.initialize()); - ATH_CHECK(m_adc2mevKey.initialize()); + sc = m_calo_noise_tool.retrieve(); + if (sc.isFailure()) { + ATH_MSG_ERROR( "Unable to find calo noise tool" ); + return StatusCode::FAILURE; + } - sc = m_calo_noise_tool.retrieve(); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Unable to find calo noise tool" ); - return StatusCode::FAILURE; - } + ATH_CHECK(m_cablingKey.initialize()); - ATH_CHECK(m_cablingKey.initialize()); + sc = detStore()->retrieve(m_calo_description_mgr); + if (sc.isFailure()) { + ATH_MSG_ERROR( "Unable to find CeloDetDescrManager " ); + return StatusCode::FAILURE; + } - sc = detStore()->retrieve(m_calo_description_mgr); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Unable to find CeloDetDescrManager " ); - return StatusCode::FAILURE; - } -// } -// For Eon/Eoff dump -// if (m_skipNullPed || m_doDspTestDump) { - sc=detStore()->retrieve(m_larpedestal,m_larpedestalkey); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Cannot register DataHandle for Pedestal object with key " << m_larpedestalkey ); - return StatusCode::FAILURE; - } -// } if (m_skipKnownProblematicChannels) { sc=m_badChannelMask.retrieve(); if (sc.isFailure()) { @@ -661,12 +637,10 @@ StatusCode LArRODMonTool::fillHistograms() { // Between -222 and 222 MeV (~ 4 TeV) 2**9=512 MeV precision (range 3) */ + SG::ReadHandle<xAOD::EventInfo> thisEventInfo(m_eventInfoKey); - const xAOD::EventInfo* thisEventInfo; - if (evtStore()->retrieve(thisEventInfo).isFailure()) { - ATH_MSG_ERROR( "No EventInfo object found! Can't read run number!" ); - return StatusCode::FAILURE; - } + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; m_curr_lb=thisEventInfo->lumiBlock(); if(m_last_lb < 0) m_last_lb = m_curr_lb; @@ -730,34 +704,14 @@ StatusCode LArRODMonTool::fillHistograms() { } */ - // Retrieve LArRawChannels from Digits (via LArRawChannelBuilder) - const LArRawChannelContainer* rawColl_fromDigits; - StatusCode sc = evtStore()->retrieve(rawColl_fromDigits, m_channelKey_fromDigits); - if(sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArRawChannelContainer with key " << m_channelKey_fromDigits ); - return StatusCode::FAILURE; - } - // Retrieve LArRawChannels from ByteStream (i.e. calculated by DSP) - const LArRawChannelContainer* rawColl_fromBytestream; - sc = evtStore()->retrieve(rawColl_fromBytestream, m_channelKey_fromBytestream); - if(sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArRawChannelContainer with key " << m_channelKey_fromBytestream ); - return StatusCode::FAILURE; - } + SG::ReadHandle<LArRawChannelContainer> rawColl_fromDigits(m_channelKey_fromDigits); + + SG::ReadHandle<LArRawChannelContainer> rawColl_fromBytestream(m_channelKey_fromBytestream); + + SG::ReadHandle<LArDigitContainer> pLArDigitContainer(m_digitContainerKey); + - const LArDigitContainer* pLArDigitContainer=NULL; -// For Eon/Eoff dump -// if (m_dumpDigits) { - sc = evtStore()->retrieve(pLArDigitContainer, m_LArDigitContainerKey); - if (sc.isFailure()) { - ATH_MSG_WARNING( "Can't retrieve LArDigitContainer with key " << m_LArDigitContainerKey <<". Turn off digit dump." ); - closeDumpfiles(); - m_dumpDigits=false; - m_doDspTestDump=false; - m_doCellsDump=false; - } -// } if (m_doCheckSum || m_doRodStatus) { FebStatus_Check(); ATH_MSG_DEBUG("Found " << m_ignoreFEBs.size() << " FEBs with checksum errors or statatus errors. Will ignore these FEBs."); @@ -798,7 +752,7 @@ StatusCode LArRODMonTool::fillHistograms() { //Check pedestal if needed if (m_skipNullPed) { const CaloGain::CaloGain gain = rcDigIt->gain(); - const float ped = m_larpedestal->pedestal(idDig,gain); + const float ped = pedestals->pedestal(idDig,gain); if(ped <= (1.0+LArElecCalib::ERRORCODE)) continue; } @@ -1070,6 +1024,18 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey}; const LArOnOffIdMapping* cabling=*cablingHdl; + SG::ReadCondHandle<ILArOFC> ofcHdl{m_keyOFC}; + const ILArOFC* ofcs=*ofcHdl; + + SG::ReadCondHandle<ILArShape> shapeHdl{m_keyShape}; + const ILArShape* shapes=*shapeHdl; + + SG::ReadCondHandle<ILArHVScaleCorr> hvScaleCorrHdl{m_keyHVScaleCorr}; + const ILArHVScaleCorr* hvScaleCorrs=*hvScaleCorrHdl; + + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; + SG::ReadCondHandle<LArADC2MeV> adc2MeVHdl{m_adc2mevKey}; const LArADC2MeV* adc2mev=*adc2MeVHdl; @@ -1201,7 +1167,7 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh } hg.m_hEon_VS_Eoff->Fill(rcDig.energy(),en_fB); // For Eon/Eoff or Qon/Qoff dump - const float hvscale = m_dd_HVScaleCorr->HVScaleCorr(chid); + const float hvscale = hvScaleCorrs->HVScaleCorr(chid); //if ( ((fabs(DiffE) > DECut && hvscale == 1.) || (keepQ && (fabs(DiffQ) > DQCut))) && dig) { if ( ((fabs(DiffE) > DECut) || (keepQ && (fabs(DiffQ) > DQCut))) && dig) { // absolute cut on energy 1.MeV @@ -1239,22 +1205,22 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh os << "Digits : "; for (unsigned int k = 0; k<samples.size(); k++) {os << samples.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArOFC::OFCRef_t this_OFC_a_test = m_dd_ofc->OFC_a(chid,rcDig.gain()); + ILArOFC::OFCRef_t this_OFC_a_test = ofcs->OFC_a(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "OFCa : "; for (unsigned int k = 0; k<this_OFC_a_test.size(); ++k) {os << this_OFC_a_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArOFC::OFCRef_t this_OFC_b_test = m_dd_ofc->OFC_b(chid,rcDig.gain()); + ILArOFC::OFCRef_t this_OFC_b_test = ofcs->OFC_b(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "OFCb : "; for (unsigned int k = 0; k<this_OFC_b_test.size(); ++k) {os << this_OFC_b_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArShape::ShapeRef_t this_Shape_test = m_dd_shape->Shape(chid,rcDig.gain()); + ILArShape::ShapeRef_t this_Shape_test = shapes->Shape(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "Shape : "; for (unsigned int k = 0; k<this_Shape_test.size(); ++k) {os << this_Shape_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArShape::ShapeRef_t this_ShapeDer_test = m_dd_shape->ShapeDer(chid,rcDig.gain()); + ILArShape::ShapeRef_t this_ShapeDer_test = shapes->ShapeDer(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "ShapeDer : "; for (unsigned int k = 0; k<this_ShapeDer_test.size(); ++k) {os << this_ShapeDer_test.at(k) << " ";} @@ -1263,7 +1229,7 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh const float escale = ramp[1]; float ramp0 = ramp[0]; if (q_gain == 0) ramp0 = 0.; // no ramp intercepts in HG - const float ped = m_larpedestal->pedestal(chid,rcDig.gain()); + const float ped = pedestals->pedestal(chid,rcDig.gain()); ATH_MSG_INFO( "Escale: "<<escale<<" intercept: "<<ramp0<<" pedestal: "<<ped<<" gain: "<<rcDig.gain() ); const Identifier cellid=cabling->cnvToIdentifier(chid); const CaloDetDescrElement* cellDDE = m_calo_description_mgr->get_element(cellid); @@ -1373,18 +1339,18 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh if ((keepE && fabs(DiffE)>DECut) || (keepT && fabs(DiffT)>DTCut) || (keepQ && DiffQ > DQCut)) { if (m_doDspTestDump) { int Ind = 0; - const float timeBinWidth_test=m_dd_ofc->timeBinWidth(chid,q_gain); + const float timeBinWidth_test=ofcs->timeBinWidth(chid,q_gain); unsigned delayIdx_test=(unsigned)floor(0.5+Ind/timeBinWidth_test); - ILArOFC::OFCRef_t this_OFC_a_test = m_dd_ofc->OFC_a(chid,q_gain,delayIdx_test); - ILArOFC::OFCRef_t this_OFC_b_test = m_dd_ofc->OFC_b(chid,q_gain,delayIdx_test); - ILArShape::ShapeRef_t this_OFC_h_test = m_dd_shape->Shape(chid,q_gain,delayIdx_test); - ILArShape::ShapeRef_t this_OFC_d_test = m_dd_shape->ShapeDer(chid,q_gain,delayIdx_test); + ILArOFC::OFCRef_t this_OFC_a_test = ofcs->OFC_a(chid,q_gain,delayIdx_test); + ILArOFC::OFCRef_t this_OFC_b_test = ofcs->OFC_b(chid,q_gain,delayIdx_test); + ILArShape::ShapeRef_t this_OFC_h_test = shapes->Shape(chid,q_gain,delayIdx_test); + ILArShape::ShapeRef_t this_OFC_d_test = shapes->ShapeDer(chid,q_gain,delayIdx_test); const std::vector<float>& ramp=adc2mev->ADC2MEV(chid,q_gain); const std::vector<short>& samples=dig->samples(); const float escale = ramp[1]; float ramp0 = ramp[0]; if (q_gain == 0) ramp0 = 0.; // no ramp intercepts in HG - const float ped = m_larpedestal->pedestal(chid,q_gain); + const float ped = pedestals->pedestal(chid,q_gain); this->DumpCellEvent((int)m_counter,this_OFC_a_test,this_OFC_b_test,this_OFC_h_test,this_OFC_d_test,escale,ramp0,ped,&samples,(int)(rcDig.energy()),(int)(en_fB),m_fai,m_fdig,m_fen, chid, (int)m_eventsCounter); } if (m_doCellsDump) { diff --git a/LArCalorimeter/LArMonTools/src/LArRODMonTool.h b/LArCalorimeter/LArMonTools/src/LArRODMonTool.h index 01ec12df336..ac1ce536dde 100755 --- a/LArCalorimeter/LArMonTools/src/LArRODMonTool.h +++ b/LArCalorimeter/LArMonTools/src/LArRODMonTool.h @@ -25,11 +25,17 @@ #include "LArRecConditions/ILArBadChannelMasker.h" #include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/ReadHandleKey.h" +//Events infos: +#include "xAODEventInfo/EventInfo.h" + -//#include "LArRawEvent/LArRawChannel.h" class LArRawChannel; class HWIdentifier; class LArOnOffIdMapping; +class LArRawChannelContainer; +class LArDigitContainer; + #include "TH2I.h" #include "TH2F.h" @@ -190,19 +196,19 @@ private: TH2I* m_hTErrors_LB_stream; TH2I* m_hQErrors_LB_stream; + + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo","SG Key of EventInfo object"}; // Keys for LArRawChannels containers - std::string m_channelKey_fromBytestream; - std::string m_channelKey_fromDigits; + SG::ReadHandleKey<LArRawChannelContainer> m_channelKey_fromBytestream{this,"LArRawChannelKey_fromBytestream","LArRawChannels","SG key of LArRawChannels produced by teh DSP"}; + SG::ReadHandleKey<LArRawChannelContainer> m_channelKey_fromDigits{this,"LArRawChannelKey_fromDigits","LArRawChannels_FromDigits","SG key of LArRawChannels produced offline"}; - // Key for LArDigits container - std::string m_LArDigitContainerKey; + SG::ReadHandleKey<LArDigitContainer> m_digitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"}; - // To retrieve OFC's - std::string m_keyOFC ; - std::string m_keyShape ; - const DataHandle<ILArOFC> m_dd_ofc; - const DataHandle<ILArShape> m_dd_shape; - const DataHandle<ILArHVScaleCorr> m_dd_HVScaleCorr; + + SG::ReadCondHandleKey<ILArOFC> m_keyOFC{this,"KeyOFC","LArOFC","SG key of LArOFC CDO"}; + SG::ReadCondHandleKey<ILArShape> m_keyShape{this,"KeyShape","LArShape","SG key of LArShape CDO"}; + SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr{this,"KeyHVScaleCorr","LArHVScaleCorr","SG key of LArHVScaleCorr CDO"}; + SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"}; SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"LArADC2MeVKey","LArADC2MeV","SG Key of the LArADC2MeV CDO"}; @@ -213,9 +219,6 @@ private: SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping CDO"}; const CaloDetDescrManager *m_calo_description_mgr; - const DataHandle<ILArPedestal> m_larpedestal; - std::string m_larpedestalkey; - // Output files names std::string m_DigitsFileName; std::string m_EnergyFileName; -- GitLab From b053dd66e52bf0490b3a9d55a91a574074215150 Mon Sep 17 00:00:00 2001 From: Rafal Bielski <rafal.bielski@cern.ch> Date: Fri, 2 Nov 2018 14:44:26 +0100 Subject: [PATCH 072/209] change default menu to Physics_pp_v7_primaries --- Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py index 991c8c12774..e6fbddc8a4a 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py @@ -1023,7 +1023,7 @@ class triggerMenuSetup(JobProperty): ] - _default_menu='MC_pp_v7_tight_mc_prescale' + _default_menu='Physics_pp_v7_primaries' _default_cosmic_menu='Physics_pp_v5_cosmics_prescale' _default_InitialBeam_menu='MC_InitialBeam_v3_no_prescale' -- GitLab From 43ef970651efc8a939d482952713b3df4c349851 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Fri, 2 Nov 2018 15:01:59 +0100 Subject: [PATCH 073/209] TrigROBDataProviderSvc: Remove duplicate methods from previous merge --- .../src/TrigROBDataProviderSvc.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h index 1b91ef74069..675b042d79c 100755 --- a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h +++ b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGL2SERVICES_TRIGROBDATAPROVIDERSVC_H @@ -140,14 +140,6 @@ public: /// Get access to ROB prefetching information from steering virtual HLT::RobRequestInfo* robRequestInfo() const override { return m_RobRequestInfo; }; - /// --- Implementation of ITrigROBDataProviderSvcPrefetch interface --- - - /// Set access to ROB prefetching information from steering - virtual void setRobRequestInfo(HLT::RobRequestInfo* robInfo) { m_RobRequestInfo = robInfo; } ; - - /// Get access to ROB prefetching information from steering - virtual HLT::RobRequestInfo* robRequestInfo() const { return m_RobRequestInfo; }; - /// --- Implementation of IIncidentListener interface --- // handler for BeginRun actions -- GitLab From 076353782339b065237f7b8817daab89e2a4d28a Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Fri, 2 Nov 2018 14:07:33 +0000 Subject: [PATCH 074/209] add minimum E threshold for 2nd sampling, use energyBE to make things simpler --- .../src/egammaCheckEnergyDepositTool.cxx | 46 +++---------------- .../src/egammaCheckEnergyDepositTool.h | 25 +++++----- 2 files changed, 19 insertions(+), 52 deletions(-) diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx index d6eae90b36b..641476c1dd5 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx @@ -60,46 +60,14 @@ bool egammaCheckEnergyDepositTool::checkFractioninSamplingCluster(const xAOD::Ca if (cluster==0) return false; // Retrieve energy in all samplings - double e0 = 0.; - double e1 = 0.; - double e2 = 0.; - double e3 = 0.; - - if ( cluster->inBarrel() && !cluster->inEndcap() ){ - e0 = cluster->eSample(CaloSampling::PreSamplerB); - e1 = cluster->eSample(CaloSampling::EMB1); - e2 = cluster->eSample(CaloSampling::EMB2); - e3 = cluster->eSample(CaloSampling::EMB3); - } - else if ( !cluster->inBarrel() && cluster->inEndcap() ){ - e0 = cluster->eSample(CaloSampling::PreSamplerE); - e1 = cluster->eSample(CaloSampling::EME1); - e2 = cluster->eSample(CaloSampling::EME2); - e3 = cluster->eSample(CaloSampling::EME3); + double e0 = cluster->energyBE(0); + double e1 = cluster->energyBE(1); + double e2 = cluster->energyBE(2); + double e3 = cluster->energyBE(3); + + if (e2<m_thrE2min){ + return false; } - // if both in barrel and end-cap then have to - // rely on energy deposition - // be careful to test 0 precisely either - // 0 (no deposit) > noise (which is negative) !!!! - else if ( cluster->inBarrel() && cluster->inEndcap() ) { - if ( ( ( cluster->eSample(CaloSampling::EMB2) != 0. && - cluster->eSample(CaloSampling::EME2) != 0. ) && - ( cluster->eSample(CaloSampling::EMB2) >= - cluster->eSample(CaloSampling::EME2) ) ) || - cluster->eSample(CaloSampling::EME2) == 0. ) { - e0 = cluster->eSample(CaloSampling::PreSamplerB); - e1 = cluster->eSample(CaloSampling::EMB1); - e2 = cluster->eSample(CaloSampling::EMB2); - e3 = cluster->eSample(CaloSampling::EMB3); - } - else { - e0 = cluster->eSample(CaloSampling::PreSamplerE); - e1 = cluster->eSample(CaloSampling::EME1); - e2 = cluster->eSample(CaloSampling::EME2); - e3 = cluster->eSample(CaloSampling::EME3); - } - } - // sum of energy in all samplings const double eallsamples = e0+e1+e2+e3; diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h index c324f9dbc8e..ea8e84026ef 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h @@ -6,18 +6,15 @@ #define EGAMMACALOTOOLS_EGAMMACHECKENERGYDEPOSITTOOL_H #include "AthenaBaseComps/AthAlgTool.h" - #include "xAODEgamma/EgammaFwd.h" #include "xAODCaloEvent/CaloClusterFwd.h" - #include "egammaInterfaces/IegammaCheckEnergyDepositTool.h" /** @class egammaCheckEnergyDepositTool Tool to check in each sampling that fraction of energy reconstructed is not greater thana a certain threshold - - @author Frederic Derue + @authors Frederic Derue */ class egammaCheckEnergyDepositTool : virtual public IegammaCheckEnergyDepositTool, public AthAlgTool { @@ -38,23 +35,25 @@ class egammaCheckEnergyDepositTool : virtual public IegammaCheckEnergyDepositToo virtual bool checkFractioninSamplingCluster(const xAOD::CaloCluster* cluster) const override final ; private: + /** @brief Threshold on minimum energy reconstructed in 2nd sampling */ + Gaudi::Property<double> m_thrE2min{this, "ThrE2min", 400., + "Threshold on minimum energy reconstructed in 2nd sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in presampler */ + /** @brief Threshold on maximum fraction of energy reconstructed in presampler */ Gaudi::Property<double> m_thrF0max {this, "ThrF0max", 0.9, - "Threshold on maximal fraction of energy reconstructed in presampler"}; + "Threshold on maximum fraction of energy reconstructed in presampler"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 1st sampling*/ + /** @brief Threshold on maximum fraction of energy reconstructed in 1st sampling*/ Gaudi::Property<double> m_thrF1max {this, "ThrF1max", 0.8, - "Threshold on maximal fraction of energy reconstructed in 1st sampling"}; + "Threshold on maximum fraction of energy reconstructed in 1st sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 2nd sampling */ + /** @brief Threshold on maximum fraction of energy reconstructed in 2nd sampling */ Gaudi::Property<double> m_thrF2max {this, "ThrF2max", 0.98, - "Threshold on maximal fraction of energy reconstructed in 2nd sampling"}; + "Threshold on maximum fraction of energy reconstructed in 2nd sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 3rd sampling */ + /** @brief Threshold on maximum fraction of energy reconstructed in 3rd sampling */ Gaudi::Property<double> m_thrF3max {this, "ThrF3max", 0.65, - "Threshold on maximal fraction of energy reconstructed in 3rd sampling"}; - + "Threshold on maximum fraction of energy reconstructed in 3rd sampling"}; }; -- GitLab From fa3eb26e0e9d60c585b954eb3abbae809e95d846 Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Fri, 2 Nov 2018 14:23:34 +0000 Subject: [PATCH 075/209] The 4GeV bin can be reverted --- .../InDetRecExample/share/InDetRecCaloSeededROISelection.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py index 7095ee8b8d1..8831f403ddf 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py @@ -14,9 +14,9 @@ from egammaCaloTools import egammaCaloToolsConf egammaCaloClusterROISelector = ToolFactory( egammaCaloToolsConf.egammaCaloClusterSelector, name = 'caloClusterROISelector', egammaCheckEnergyDepositTool = egammaCheckEnergyDepositTool, - EMEtRanges = [1500.,2500.,4000.], - EMFCuts = [0.9,0.9,0.85], - RetaCut = [0.7,0.65,0.65] + EMEtRanges = [1500.,2500.], + EMFCuts = [0.9,0.85], + RetaCut = [0.7,0.65] ) # # --- get the builder tool -- GitLab From b5605b5c0a3d8d99eb85496ec011a19dc765071f Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Fri, 2 Nov 2018 14:37:04 +0000 Subject: [PATCH 076/209] Cut on Et rather than E --- .../TRT_TrackSegmentsFinder.h | 2 +- .../src/TRT_TrackSegmentsFinder.cxx | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h index d7ae7e9bd1c..a79f582386e 100755 --- a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h +++ b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h @@ -56,7 +56,7 @@ namespace InDet { int m_nsegments ; // Number segments int m_nsegmentsTotal ; // Number segments int m_minNumberDCs ; // Min. number of DriftCircles - double m_ClusterE ; // Min. E of seed calo cluster + double m_ClusterEt ; // Min. Et of seed calo cluster SG::WriteHandle<Trk::SegmentCollection> m_foundSegments; // Name of segments location SG::ReadHandle<CaloClusterROI_Collection> m_calo; // Calo clusters collection Handle diff --git a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx index 4d576f07869..0c2054cd6ec 100755 --- a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx +++ b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx @@ -32,14 +32,14 @@ InDet::TRT_TrackSegmentsFinder::TRT_TrackSegmentsFinder m_nsegmentsTotal = 0 ; m_useCaloSeeds = false ; m_minNumberDCs = 9 ; - m_ClusterE = 2000.0 ; + m_ClusterEt = 2000.0 ; declareProperty("SegmentsMakerTool",m_segmentsMakerTool); declareProperty("SegmentsLocation" ,m_foundSegments ); declareProperty("useCaloSeeds" ,m_useCaloSeeds ); declareProperty("RoadTool" ,m_roadtool ); declareProperty("InputClusterContainerName",m_calo); declareProperty("MinNumberDriftCircles" ,m_minNumberDCs); - declareProperty("CaloClusterE" ,m_ClusterE ); + declareProperty("CaloClusterEt" ,m_ClusterEt ); } @@ -131,10 +131,10 @@ StatusCode InDet::TRT_TrackSegmentsFinder::execute() CaloClusterROI_Collection::const_iterator c = m_calo->begin(), ce = m_calo->end(); for(; c!=ce; ++c) { - if ( (*c)->energy() < m_ClusterE) continue; - double x = (*c)->globalPosition().x(); - double y = (*c)->globalPosition().y(); - double z = (*c)->globalPosition().z(); + if ( ( (*c)->energy()*sin((*c)->globalPosition().theta()) ) < m_ClusterEt) {continue;} + double x = (*c)->globalPosition().x(); + double y = (*c)->globalPosition().y(); + double z = (*c)->globalPosition().z(); par = PS.createTrackParameters(0.,0.,atan2(y,x), atan2(1.,z/sqrt(x*x+y*y)),0.,0); -- GitLab From ad92c60beb44f38b07fb68f213e944715807d3d5 Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Fri, 2 Nov 2018 16:01:53 +0100 Subject: [PATCH 077/209] migrate egammaOQFlagsBuilder to CondReadHandle for LAr bad channels --- .../python/egammaOQFlagsBuilder.py | 4 --- .../egammaTools/src/egammaOQFlagsBuilder.cxx | 36 +++++-------------- .../egammaTools/src/egammaOQFlagsBuilder.h | 15 ++++---- 3 files changed, 15 insertions(+), 40 deletions(-) diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py index f840d800816..51d4020be5a 100644 --- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py +++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py @@ -4,9 +4,6 @@ import egammaToolsConf from egammaRec.Factories import FcnWrapper, ToolFactory from egammaRec import egammaKeys -from LArBadChannelTool import LArBadChannelToolConf -LArBadChanTool = ToolFactory( LArBadChannelToolConf.LArBadChanTool ) - from CaloTools import CaloAffectedToolDefault as CATD CaloAffectedToolDefault = ToolFactory( CATD.CaloAffectedToolDefault ) @@ -19,5 +16,4 @@ egammaOQFlagsBuilder = ToolFactory( egammaToolsConf.egammaOQFlagsBuilder, TCutVsE = 2., RcellCut = 0.8, CellsName = egammaKeys.caloCellKey(), - LArBadChannelTool = LArBadChanTool, affectedTool = CaloAffectedToolDefault) diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx index 53009627052..7534043d290 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx @@ -12,9 +12,7 @@ #include "StoreGate/StoreGateSvc.h" #include "CaloConditions/CaloAffectedRegionInfoVec.h" -#include "LArCabling/LArCablingService.h" #include "Identifier/HWIdentifier.h" -#include "LArRecConditions/ILArBadChanTool.h" #include "CaloIdentifier/LArEM_ID.h" #include "CaloIdentifier/CaloCell_ID.h" #include "CLHEP/Units/SystemOfUnits.h" @@ -61,21 +59,10 @@ StatusCode egammaOQFlagsBuilder::initialize() ATH_MSG_DEBUG(" Initializing egammaOQFlagsBuilder"); ATH_CHECK(m_cellsKey.initialize()); + ATH_CHECK(m_bcContKey.initialize()); - StatusCode sc; - - // Get BadChannelTool - sc=m_badChannelTool.retrieve(); - if (sc.isFailure()) { - msg(MSG::ERROR) << "Could not retrieve LArBadChannelTool " << m_badChannelTool << endmsg; - return StatusCode::FAILURE; - } else { - //if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "LArBadChannelTool" << m_badChannelTool << " retrieved" << endmsg; - } - - - //Get CaloAffectedTool - sc = m_affectedTool.retrieve(); + //Get CaloAffectedTool + StatusCode sc = m_affectedTool.retrieve(); if (sc.isFailure()){ msg(MSG::ERROR) << "Could not retrieve CaloAffectedTool " << m_affectedTool << endmsg; return StatusCode::FAILURE; @@ -84,16 +71,6 @@ StatusCode egammaOQFlagsBuilder::initialize() } - //Get LArCablingService - sc=m_larCablingSvc.retrieve(); - if (sc.isFailure()) { - msg(MSG::ERROR) << "Could not retrieve LArCablingService " << m_larCablingSvc << endmsg; - return StatusCode::FAILURE; - } else { - //if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "LArCablingService" << m_larCablingSvc << " retrieved" << endmsg; - } - - sc=detStore()->retrieve(m_calocellId, "CaloCell_ID"); if(sc.isFailure()){ msg(MSG::WARNING) << "Cannot retrieve online_id" << endmsg; @@ -228,6 +205,10 @@ StatusCode egammaOQFlagsBuilder::execute(const EventContext& ctx, xAOD::Egamma* if (foundCentralCell) { //Find the list of neighbours cells, to define the 3x3 cluster core std::vector<IdentifierHash> neighbourList = findNeighbours(cellCentrId); + + //Get Bad-channel info for this event + SG::ReadCondHandle<LArBadChannelCont> larBadChanHdl{m_bcContKey,ctx}; + const LArBadChannelCont* larBadChanCont=*larBadChanHdl; //Loop over all the Lar cluster cells xAOD::CaloCluster::const_cell_iterator cellIter = cluster->cell_begin(); @@ -269,8 +250,7 @@ StatusCode egammaOQFlagsBuilder::execute(const EventContext& ctx, xAOD::Egamma* //======================== Set LAr bits ============================================================// // - HWIdentifier LArhwid = m_larCablingSvc->createSignalChannelIDFromHash(cell->caloDDE()->calo_hash()); - LArBadChannel bc = m_badChannelTool->status(LArhwid); + const LArBadChannel bc = larBadChanCont-> offlineStatus(cell->ID()); // if(isACoreCell) { if((cell->provenance() & 0x0A00) == 0x0A00) { diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h index 95108ad156a..ebd675b9bee 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h @@ -29,10 +29,12 @@ Most of the informations are given separately for each layer of the EM calorimet #include "xAODEgamma/EgammaFwd.h" #include "xAODCaloEvent/CaloClusterFwd.h" #include "StoreGate/ReadHandleKey.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "LArRecConditions/LArBadChannelCont.h" +#include "LArCabling/LArOnOffIdMapping.h" class IToolSvc; class CaloCellContainer; -class ILArBadChanTool; class HWIdentifier; class LArEM_ID; class CaloCell_ID; @@ -56,13 +58,10 @@ class egammaOQFlagsBuilder : public egammaBaseTool StatusCode finalize(); private: - /** Handle to bad-channel tools */ - ToolHandle<ILArBadChanTool> m_badChannelTool {this, - "LArBadChannelTool", "LArBadChanTool", "This is the larBadChannelTool"}; - - ToolHandle<LArCablingService> m_larCablingSvc {this, - "LArCablingService", "LArCablingService", "LArCablingService"}; - + /** Handle to bad-channel CDO */ + SG::ReadCondHandleKey<LArBadChannelCont> m_bcContKey{this, + "LArBadChannelKey","LArBadChannel","Key of the LArBadChannelCont CDO"}; + ToolHandle<ICaloAffectedTool> m_affectedTool {this, "affectedTool", "CaloAffectedTool", "CaloAffectedTool"}; -- GitLab From 73b3a87fa6057e2fff52f7470ae3050180de48b9 Mon Sep 17 00:00:00 2001 From: Will Leight <wleight@cern.ch> Date: Fri, 2 Nov 2018 16:39:33 +0100 Subject: [PATCH 078/209] Make NSW flag of MuonDetailedTrackTruthMaker a property Forgot to do this in previous MR !15011. Also adjusted the configuration accordingly. --- .../MuonRecExample/share/MuonRec_jobOptions.py | 1 + .../MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx | 6 +++--- .../share/MuonCombinedRec_postprocessing.py | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py index 9e64c8a35f5..263ea462191 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py @@ -144,6 +144,7 @@ if muonRecFlags.doStandalone(): if muonRecFlags.doNSWNewThirdChain(): topSequence.MuonSegmentTruthAssociationAlg.doNSW=True + topSequence.MuonStandaloneDetailedTrackTruthMaker.doNSW=True try: from RecExConfig.InputFilePeeker import inputFileSummary diff --git a/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx b/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx index 67e8e7cfd5c..6ec4245861a 100755 --- a/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx +++ b/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx @@ -14,9 +14,7 @@ MuonDetailedTrackTruthMaker::MuonDetailedTrackTruthMaker(const std::string &name m_truthTool("Trk::DetailedTrackTruthBuilder") { declareProperty("TruthTool", m_truthTool); - - if(m_useNSW) m_PRD_TruthNames={"sTGC_TruthMap","MM_TruthMap","RPC_TruthMap","TGC_TruthMap","MDT_TruthMap"}; - + declareProperty("doNSW",m_useNSW=false); } // Initialize method @@ -33,6 +31,8 @@ StatusCode MuonDetailedTrackTruthMaker::initialize() ATH_MSG_DEBUG("Retrieved tool " << m_truthTool ); } + if(m_useNSW) m_PRD_TruthNames={"sTGC_TruthMap","MM_TruthMap","RPC_TruthMap","TGC_TruthMap","MDT_TruthMap"}; + m_detailedTrackTruthNames.reserve ( m_trackCollectionNames.size()); for(unsigned int i=0;i<m_trackCollectionNames.size();i++){ m_detailedTrackTruthNames.emplace_back(m_trackCollectionNames.at(i).key()+"DetailedTruth"); diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py index aa31f3d565e..f631a008c03 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py @@ -22,6 +22,8 @@ if rec.doTruth() and muonCombinedRecFlags.doxAOD() and rec.doMuonCombined(): cols = [ "ExtrapolatedMuonTracks", "CombinedMuonTracks", "MSOnlyExtrapolatedMuonTracks" ] topSequence+= MuonDetailedTrackTruthMaker("MuonCombinedDetailedTrackTruthMaker") topSequence.MuonCombinedDetailedTrackTruthMaker.TrackCollectionNames = cols + if muonRecFlags.doNSWNewThirdChain(): + topSequence.MuonCombinedDetailedTrackTruthMaker.doNSW=True from TrkTruthAlgs.TrkTruthAlgsConf import TrackParticleTruthAlg for i in range(0, len(cols)): -- GitLab From b1ad98c04294ce8c477aabf6dd8a81f9c26f84bf Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Fri, 2 Nov 2018 15:44:27 +0000 Subject: [PATCH 079/209] Use Gaudi::Accumulator, add counters for clusters seen and selected --- .../src/egammaSelectedTrackCopy.cxx | 56 ++++++++++--------- .../egammaAlgs/src/egammaSelectedTrackCopy.h | 16 +++--- 2 files changed, 39 insertions(+), 33 deletions(-) diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx index 457e2d31e5f..6917a1df4da 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx @@ -35,7 +35,15 @@ UPDATE : 25/06/2018 egammaSelectedTrackCopy::egammaSelectedTrackCopy(const std::string& name, ISvcLocator* pSvcLocator): - AthAlgorithm(name, pSvcLocator) + AthAlgorithm(name, pSvcLocator), + m_AllClusters{}, + m_SelectedClusters{}, + m_AllTracks{}, + m_SelectedTracks{}, + m_AllSiTracks{}, + m_SelectedSiTracks{}, + m_AllTRTTracks{}, + m_SelectedTRTTracks{} { } @@ -58,12 +66,16 @@ StatusCode egammaSelectedTrackCopy::initialize() { StatusCode egammaSelectedTrackCopy::egammaSelectedTrackCopy::finalize(){ - ATH_MSG_INFO ("AllTracks " << m_AllTracks); - ATH_MSG_INFO ("AllSiTracks " << m_AllSiTracks); - ATH_MSG_INFO ("AllTRTTracks " << m_AllTRTTracks); - ATH_MSG_INFO ("SelectedTracks " << m_SelectedTracks); - ATH_MSG_INFO ("SelectedSiTracks " << m_SelectedSiTracks); - ATH_MSG_INFO ("SelectedTRTTracks " << m_SelectedTRTTracks); + ATH_MSG_INFO ("--- egamma Selected Track Copy Statistics ---"); + ATH_MSG_INFO ("--- All Clusters: " << m_AllClusters); + ATH_MSG_INFO ("--- Selected Clusters: " << m_SelectedClusters); + ATH_MSG_INFO ("--- All Tracks: " << m_AllTracks); + ATH_MSG_INFO ("--- Selected Tracks: " << m_SelectedTracks); + ATH_MSG_INFO ("--- All Si Tracks: " << m_AllSiTracks); + ATH_MSG_INFO ("--- Selected Si Tracks: " << m_SelectedSiTracks); + ATH_MSG_INFO ("--- All TRT Tracks: " << m_AllTRTTracks); + ATH_MSG_INFO ("--- Selected TRT Tracks: " << m_SelectedTRTTracks); + ATH_MSG_INFO ("----------------------------------------- ---"); return StatusCode::SUCCESS; } @@ -92,12 +104,14 @@ StatusCode egammaSelectedTrackCopy::execute() ATH_MSG_DEBUG ("Track Particle container size: " <<trackTES->size() ); //Local counters - unsigned int allTracks(0); - unsigned int allTRTTracks(0); - unsigned int allSiTracks(0); - unsigned int selectedTracks(0); - unsigned int selectedTRTTracks(0); - unsigned int selectedSiTracks(0); + auto allClusters= m_AllClusters.buffer(); + auto selectedClusters = m_SelectedClusters.buffer(); + auto allTracks = m_AllTracks.buffer(); + auto selectedTracks = m_SelectedTracks.buffer() ; + auto allSiTracks = m_AllSiTracks.buffer(); + auto selectedSiTracks = m_SelectedSiTracks.buffer(); + auto allTRTTracks = m_AllTRTTracks.buffer() ; + auto selectedTRTTracks = m_SelectedTRTTracks.buffer(); // // lets first check which clusters to seed on; std::vector<const xAOD::CaloCluster *> passingClusters; @@ -107,6 +121,9 @@ StatusCode egammaSelectedTrackCopy::execute() } } + allClusters+=(*clusterTES).size(); + selectedClusters+=passingClusters.size(); + allTracks+=(*trackTES).size(); //Extrapolation Cache IEMExtrapolationTools::Cache cache{}; for(const xAOD::TrackParticle* track : *trackTES){ @@ -120,7 +137,6 @@ StatusCode egammaSelectedTrackCopy::execute() if( track->summaryValue(dummy,xAOD::numberOfSCTHits) ){ nhits+= dummy; } - ++allTracks; if(nhits<4){ isTRT = true; ++allTRTTracks; @@ -160,18 +176,6 @@ StatusCode egammaSelectedTrackCopy::execute() ATH_MSG_DEBUG ("Selected Track container size: " << viewCopy->size() ); ATH_CHECK( outputTrkPartContainer.record(std::move(viewCopy)) ); - /* - * Typical use for relaxed memory ordering is incrementing counters, - * (such as the reference counters of std::shared_ptr) - * since this only requires atomicity, but not ordering or synchronization. - */ - m_AllTracks.fetch_add(allTracks, std::memory_order_relaxed); - m_AllTRTTracks.fetch_add(allTRTTracks, std::memory_order_relaxed); - m_AllSiTracks.fetch_add(allSiTracks,std::memory_order_relaxed); - m_SelectedTracks.fetch_add(selectedTracks,std::memory_order_relaxed); - m_SelectedTRTTracks.fetch_add(selectedTRTTracks,std::memory_order_relaxed); - m_SelectedSiTracks.fetch_add(selectedSiTracks,std::memory_order_relaxed); - return StatusCode::SUCCESS; } diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h index f8d4a8aa535..a423c205f8a 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h @@ -26,8 +26,8 @@ #include "AthContainers/ConstDataVector.h" #include "egammaInterfaces/IegammaCaloClusterSelector.h" +#include "GaudiKernel/Counters.h" -#include <atomic> class CaloCluster; @@ -104,11 +104,13 @@ private: * inside the loops. * At the end they will add_fetch to these ones */ - mutable std::atomic_uint m_AllTracks{0}; - mutable std::atomic_uint m_AllTRTTracks{0}; - mutable std::atomic_uint m_AllSiTracks{0}; - mutable std::atomic_uint m_SelectedTracks{0}; - mutable std::atomic_uint m_SelectedTRTTracks{0}; - mutable std::atomic_uint m_SelectedSiTracks{0}; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllClusters; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedClusters; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllSiTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedSiTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllTRTTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedTRTTracks; }; #endif -- GitLab From 5577c53ffb4bde563e3394cb4a04587c8ade3545 Mon Sep 17 00:00:00 2001 From: John Chapman <jchapman@cern.ch> Date: Fri, 2 Nov 2018 17:28:01 +0100 Subject: [PATCH 080/209] Fix TRTAlignCondAlg configuration for Overlay jobs (ATLASSIM-3894) After !15090 was merged into ~"master" all Overlay and Data-Overlay input simulation jobs failed when trying to read the `/TRT/Align` object from the ConditionStore. This was due to some configuration issues. Should fix ATLASSIM-3894. --- .../InDetCondFolders/python/InDetAlignFolders.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py b/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py index 32eb7e89a5f..3b14da63b09 100644 --- a/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py +++ b/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py @@ -4,6 +4,7 @@ from IOVDbSvc.CondDB import conddb from AthenaCommon.AthenaCommonFlags import athenaCommonFlags from AthenaCommon.DetFlags import DetFlags +from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags # Top sequence from AthenaCommon.AlgSequence import AlgSequence @@ -37,13 +38,13 @@ conddb.addFolderSplitOnline("INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",classN # TRT Condition Algorithm from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTAlignCondAlg -TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg") +TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg", + UseDynamicFolders = InDetGeometryFlags.useDynamicAlignFolders()) # Control loading of the dynamic folder scheme; # In future we might want to add also to MC DB # related to JIRA ATLASSIM-2746 -from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags if InDetGeometryFlags.useDynamicAlignFolders(): conddb.addFolderSplitOnline("INDET","/Indet/Onl/AlignL1/ID","/Indet/AlignL1/ID",className="CondAttrListCollection") @@ -54,7 +55,6 @@ if InDetGeometryFlags.useDynamicAlignFolders(): conddb.addFolderSplitOnline("INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer") conddb.addFolderSplitOnline("TRT","/TRT/Onl/AlignL1/TRT","/TRT/AlignL1/TRT",className="CondAttrListCollection") conddb.addFolderSplitOnline("TRT","/TRT/Onl/AlignL2","/TRT/AlignL2",className="AlignableTransformContainer") - TRTAlignCondAlg.UseDynamicFolders=True TRTAlignCondAlg.ReadKeyDynamicGlobal="/TRT/AlignL1/TRT" TRTAlignCondAlg.ReadKeyDynamicRegular="/TRT/AlignL2" @@ -65,11 +65,10 @@ else: else: conddb.addFolderSplitOnline("INDET","/Indet/Onl/Align","/Indet/Align") - if DetFlags.simulate.any_on(): - conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align") - else: + if (not DetFlags.simulate.TRT_on()) or DetFlags.overlay.TRT_on(): conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align",className="AlignableTransformContainer") - TRTAlignCondAlg.UseDynamicFolders=False + else: + conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align") from AthenaCommon.AlgSequence import AthSequencer condSeq = AthSequencer("AthCondSeq") -- GitLab From 12903ed9b36ac63d4f1c80139b6c49b157d3113c Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 14:52:05 +0100 Subject: [PATCH 081/209] PerfMonTests: Shorten a couple tests. Shorten a couple tests that were timing out frequently. Remove debugging printout added previously. --- .../PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref | 6 +++--- .../PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref | 6 +++--- .../share/tests/atn_test_perfMonSvc_leakyalg.py | 2 +- .../PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py | 2 +- Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh | 1 - 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref b/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref index 3ecdcd19c19..48cb7c0a0f4 100644 --- a/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref +++ b/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref @@ -7,9 +7,9 @@ Py:Athena INFO including file "PerfMonTests/atn_test_perfMonSvc_leaky ################################################################################ ## testing PerfMonSvc [PerfMonTests/test_perfMonSvc_leakyalg.py] - ==> [perfmon.leakyalg.root]... (10000) - :::running [....................] ==> [OK] - :::running [...............] ==> [OK] + ==> [perfmon.leakyalg.root]... (5000) + :::running [...............................] ==> [OK] + :::running [..............................] ==> [OK] :::running [perfmon.py]... ## [DONE] diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref b/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref index 5a9f9e46b6b..e8fc832cc9c 100644 --- a/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref +++ b/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref @@ -7,9 +7,9 @@ Py:Athena INFO including file "PerfMonTests/atn_test_perfMonSvc_noopa ################################################################################ ## testing PerfMonSvc [PerfMonTests/test_perfMonSvc_noopalg.py] - ==> [perfmon.noopalg.root]... (10000) - :::running [..............] ==> [OK] - :::running [.......................] ==> [OK] + ==> [perfmon.noopalg.root]... (5000) + :::running [...............................] ==> [OK] + :::running [............................] ==> [OK] :::running [perfmon.py]... ## [DONE] diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py index 4642ac738c9..f9fb889caf4 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py +++ b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py @@ -25,7 +25,7 @@ bench = BenchSequence( "PerfMonTest" ) bench += testPerfMon( "PerfMonTests/test_perfMonSvc_leakyalg.py", "perfmon.leakyalg.root", - evtMax = 10000 ) + evtMax = 5000 ) print "" print "#"*80 diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py index f18db024764..5ad0f0fff3b 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py +++ b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py @@ -25,7 +25,7 @@ bench = BenchSequence( "PerfMonTest" ) bench += testPerfMon( "PerfMonTests/test_perfMonSvc_noopalg.py", "perfmon.noopalg.root", - evtMax = 10000 ) + evtMax = 5000 ) print "" print "#"*80 diff --git a/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh b/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh index 1dedb83e37b..6c18d67aa7e 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh +++ b/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh @@ -7,6 +7,5 @@ # Run the test: mkdir -p BaseLine cd BaseLine -echo PYTHONPATH $PYTHONPATH chappy.py PerfMonTests/atn_test_perfMonSvc_baseline_bench.py -- GitLab From 79b28ac782062e13df90ee81e86733116b689d4c Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 15:14:16 +0100 Subject: [PATCH 082/209] RecBackgroundEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- .../RecBackground/RecBackgroundEvent/CMakeLists.txt | 5 ++--- .../RecBackgroundEvent/BeamBackgroundData.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt b/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt index bfa85133773..9fbd98de8a2 100644 --- a/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt +++ b/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( RecBackgroundEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthLinks - Control/SGTools Event/xAOD/xAODCaloEvent Event/xAOD/xAODJet Tracking/TrkEvent/TrkSegment ) @@ -18,5 +17,5 @@ atlas_depends_on_subdirs( PUBLIC atlas_add_library( RecBackgroundEvent src/*.cxx PUBLIC_HEADERS RecBackgroundEvent - LINK_LIBRARIES AthLinks SGTools xAODCaloEvent xAODJet TrkSegment ) + LINK_LIBRARIES AthLinks AthenaKernel xAODCaloEvent xAODJet TrkSegment ) diff --git a/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h b/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h index e4936c55f4b..671fdfdbd61 100644 --- a/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h +++ b/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: BeamBackgroundData.h 659084 2015-04-06 03:39:10Z ssnyder $ #ifndef RECBACKGROUNDEVENT_BEAMBACKGROUNDDATA #define RECBACKGROUNDEVENT_BEAMBACKGROUNDDATA -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthLinks/ElementLinkVector.h" #include "TrkSegment/Segment.h" #include "TrkSegment/SegmentCollection.h" -- GitLab From ec817880ecdef9e26f66753bc84c70c1ceb5f3aa Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 15:16:52 +0100 Subject: [PATCH 083/209] eflowEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Reconstruction/eflowEvent/CMakeLists.txt | 7 +++---- .../eflowEvent/eflowEvent/eflowObjectContainer.h | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Reconstruction/eflowEvent/CMakeLists.txt b/Reconstruction/eflowEvent/CMakeLists.txt index 337a4cc804d..51a83507c98 100644 --- a/Reconstruction/eflowEvent/CMakeLists.txt +++ b/Reconstruction/eflowEvent/CMakeLists.txt @@ -10,9 +10,8 @@ atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloEvent Control/AthContainers Control/AthLinks - Control/CLIDSvc + Control/AthenaKernel Control/Navigation - Control/SGTools Event/EventKernel Event/FourMom Event/NavFourMom @@ -33,13 +32,13 @@ atlas_add_library( eflowEvent src/*.cxx PUBLIC_HEADERS eflowEvent INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex ) + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex ) atlas_generate_cliddb( eflowEvent ) atlas_add_dictionary( eflowEventDict eflowEvent/eflowEventDict.h eflowEvent/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex eflowEvent + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex eflowEvent NAVIGABLES eflowObjectContainer ) diff --git a/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h b/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h index a2328e88d4c..3638c66317c 100755 --- a/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h +++ b/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef EFLOWOBJECTCONTAINER_H #define EFLOWOBJECTCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "NavFourMom/INavigable4MomentumCollection.h" -- GitLab From 440bb50dbf59379c18bccff7926f6f8e3376b5b3 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 15:26:27 +0100 Subject: [PATCH 084/209] eflowRec: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Reconstruction/eflowRec/CMakeLists.txt | 5 ++--- Reconstruction/eflowRec/eflowRec/eflowCaloObject.h | 4 ++-- Reconstruction/eflowRec/eflowRec/eflowRecCluster.h | 4 ++-- Reconstruction/eflowRec/eflowRec/eflowRecTrack.h | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Reconstruction/eflowRec/CMakeLists.txt b/Reconstruction/eflowRec/CMakeLists.txt index 52fc07d0235..67bf8d611ec 100644 --- a/Reconstruction/eflowRec/CMakeLists.txt +++ b/Reconstruction/eflowRec/CMakeLists.txt @@ -13,9 +13,8 @@ atlas_depends_on_subdirs( PUBLIC Control/AthContainers Control/AthLinks Control/AthenaBaseComps - Control/CLIDSvc + Control/AthenaKernel Control/CxxUtils - Control/SGTools DetectorDescription/GeoPrimitives Event/xAOD/xAODCaloEvent Event/xAOD/xAODEgamma @@ -46,7 +45,7 @@ atlas_add_component( eflowRec src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} CaloEvent CaloIdentifier CaloRecLib AthContainers AthLinks AthenaBaseComps CxxUtils SGTools GeoPrimitives xAODCaloEvent xAODEgamma xAODMuon xAODPFlow xAODTracking GaudiKernel TrackVertexAssociationToolLib Particle RecoToolInterfaces TrkParameters CaloDetDescrLib CaloUtilsLib StoreGateLib SGtests FourMomUtils PathResolver TrkCaloExtension TrkParametersIdentificationHelpers InDetTrackSelectionToolLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} CaloEvent CaloIdentifier CaloRecLib AthContainers AthLinks AthenaBaseComps CxxUtils AthenaKernel GeoPrimitives xAODCaloEvent xAODEgamma xAODMuon xAODPFlow xAODTracking GaudiKernel TrackVertexAssociationToolLib Particle RecoToolInterfaces TrkParameters CaloDetDescrLib CaloUtilsLib StoreGateLib SGtests FourMomUtils PathResolver TrkCaloExtension TrkParametersIdentificationHelpers InDetTrackSelectionToolLib ) # Install files from the package: atlas_install_headers( eflowRec ) diff --git a/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h b/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h index f18c642efe9..5b2c42bc873 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h +++ b/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef EFLOWEVENT_EFLOWCALOOBJECT_H @@ -92,7 +92,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowCaloObjectContainer : public DataVector< eflowCaloObject > diff --git a/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h b/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h index 8a15fe1c249..8f770069e7e 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h +++ b/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -181,7 +181,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowRecClusterContainer : public DataVector< eflowRecCluster > diff --git a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h index 78a54d78c15..8f591d9df6a 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h +++ b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -178,7 +178,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowRecTrackContainer : public DataVector< eflowRecTrack > -- GitLab From cbf91bc1b1b4d030fcb5b2aa3a41896ddb379713 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 2 Nov 2018 15:20:25 +0100 Subject: [PATCH 085/209] FastSimulationEventPyAnalysisExamples: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt | 3 +-- .../FastSimulationEvent/GenParticleEnergyDepositMap.h | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt b/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt index a830c125ce0..250309efbfc 100644 --- a/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt +++ b/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( FastSimulationEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives Tracking/TrkEvent/TrkMaterialOnTrack ) diff --git a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h index 9c5fb05ec29..5fe3f04dbb5 100644 --- a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h +++ b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -13,7 +13,7 @@ #include "TrkMaterialOnTrack/MaterialEffectsOnTrack.h" #include "GeoPrimitives/GeoPrimitives.h" // -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // STL #include <map> #include <utility> -- GitLab From be1ea8b191e82bab8439e65f6ee1472d9261d85b Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Fri, 2 Nov 2018 16:10:20 +0000 Subject: [PATCH 086/209] Merge branch '21.0-dq-cosmic-postprocessing' into '21.0' Protect against failing pixel hancool code See merge request atlas/athena!15593 (cherry picked from commit 042ba683cf91d0614525529bfcb7641cdd55eb29) d6835309 Protect against failing pixel hancool code --- .../AthenaConfiguration/python/iconfTool/utils/__init__.py | 0 DataQuality/DataQualityUtils/python/hancoolmod.py | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100755 new mode 100644 diff --git a/DataQuality/DataQualityUtils/python/hancoolmod.py b/DataQuality/DataQualityUtils/python/hancoolmod.py index 3f6425b9194..ec729409dce 100644 --- a/DataQuality/DataQualityUtils/python/hancoolmod.py +++ b/DataQuality/DataQualityUtils/python/hancoolmod.py @@ -507,7 +507,11 @@ def hancool_defects(runNumber, filePath="./", dbConnection="", db_tag='HEAD', is globname = fnames[0][0] filename = os.path.basename(globname) since, until = getLimits(filename) - defects += pix_defect.execute(runNumber, globname, until-1) + try: + defects += pix_defect.execute(runNumber, globname, until-1) + except Exception, e: + logging.warning('Unable to execute pixel hancool code') + logging.warning('--> %s: %s' % (type(e).__name__, e)) from DQDefects import DefectsDB ddb = DefectsDB(dbConnection, read_only=False) -- GitLab From a5bc4bcbc15242fe0397ada60fb0966321afef75 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Sat, 3 Nov 2018 19:15:06 +0100 Subject: [PATCH 087/209] returning only CA from addFolder --- Database/IOVDbSvc/python/IOVDbSvcConfig.py | 4 ++-- LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py index 11ee4347365..6eaefc5a356 100644 --- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py +++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py @@ -115,7 +115,7 @@ def addFolders(configFlags,folderstrings,detDb=None,className=None): else: iovDbSvc.Folders.append(fs) - return result,None + return result def addFoldersSplitOnline(flags, detDb, online_folders, offline_folders, className=None, addMCString="_OFL"): "Add access to given folder, using either online_folder or offline_folder. For MC, add addMCString as a postfix (default is _OFL)" @@ -127,7 +127,7 @@ def addFoldersSplitOnline(flags, detDb, online_folders, offline_folders, classNa db = db+addMCString folders = offline_folders result = addFolders(flags, folders, className=className, detDb=detDb) - return result, None + return result _dblist={ 'INDET':'COOLONL_INDET', diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py index 5f8484e73d0..395edf7d0b2 100644 --- a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py +++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py @@ -16,10 +16,10 @@ def LArGMCfg(configFlags): if doAlignment: if configFlags.Input.isMC: #Monte Carlo case: - result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_OFL")[0]) + result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_OFL")) else: #Regular offline data processing - result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_ONL")[0]) + result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_ONL")) return result -- GitLab From abbe8b219703b0a5d78f489bd522f6a38eaf2c98 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Sat, 3 Nov 2018 22:34:03 +0000 Subject: [PATCH 088/209] Merge branch '21.0-Missing_topocluster_moments_ATLHI-227' into '21.0' 21.0 missing topocluster moments atlhi 227 See merge request atlas/athena!15569 (cherry picked from commit e551383810e4677912c625741a238e1433fa9fd0) c8871ef5 adding configs for the missing topoclusters moments and for the hiPEB reconstruction 891edbe1 Config files for HI reconstruciton in HIRecExample fd675a8f File name changed as sugested in the comment on the MR --- .../python/iconfTool/utils/__init__.py | 0 .../HIRecExample/share/hiPEB_preInclude.py | 22 +++++++++++++++++++ .../share/hiTopoClusMoments_postExec.py | 1 + 3 files changed, 23 insertions(+) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py create mode 100644 Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py create mode 100644 Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100755 new mode 100644 diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py b/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py new file mode 100644 index 00000000000..01eda22956b --- /dev/null +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py @@ -0,0 +1,22 @@ +jobproperties.Beam.bunchSpacing.set_Value_and_Lock(100) +from HIRecExample.HIRecExampleFlags import jobproperties +jobproperties.HIRecExampleFlags.doHIJetRec.set_Value_and_Lock(False) +jobproperties.HIRecExampleFlags.doHIegamma.set_Value_and_Lock(False) +jobproperties.HIRecExampleFlags.doHIJetAnalysis.set_Value_and_Lock(False) +from RecExConfig.RecFlags import rec +rec.doEgamma.set_Value_and_Lock(False) +rec.doTau.set_Value_and_Lock(False) +rec.doJetMissingETTag.set_Value_and_Lock(False) +rec.doZdc.set_Value_and_Lock(True) +rec.doLucid.set_Value_and_Lock(False) +rec.doAlfa.set_Value_and_Lock(False) +rec.doAFP.set_Value_and_Lock(False) +rec.doFTK.set_Value_and_Lock(False) +rec.doBTagging.set_Value_and_Lock(False) +from CaloRec.CaloRecFlags import jobproperties +jobproperties.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True) +from TriggerJobOpts.TriggerFlags import TriggerFlags +TriggerFlags.doTriggerConfigOnly.set_Value_and_Lock(True) +TriggerFlags.doHLT=False +TriggerFlags.doFEX=False +TriggerFlags.doHypo=False diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py b/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py new file mode 100644 index 00000000000..f6e73f3da42 --- /dev/null +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py @@ -0,0 +1 @@ +StreamAOD.ItemList+=["xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.FIRST_ENG_DENS.ENG_FRAC_MAX.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_POS.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.BadChannelList.CELL_SIGNIFICANCE.CELL_SIG_SAMPLING"] -- GitLab From 664bc398ae926db5fa2aca7c5b19f497d616ac2a Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 15:07:14 +0100 Subject: [PATCH 089/209] TileByteStream: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc and SGTools moved to AthenaKernel. --- TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt | 4 +--- .../TileByteStream/src/TileBeamElemContByteStreamCnv.cxx | 6 +++--- .../TileByteStream/src/TileDigitsContByteStreamCnv.cxx | 6 +++--- .../TileByteStream/src/TileDigitsContByteStreamTool.cxx | 4 ++-- .../TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx | 4 ++-- .../TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx | 4 ++-- .../TileByteStream/src/TileLaserObjByteStreamCnv.cxx | 6 +++--- .../TileByteStream/src/TileLaserObjByteStreamTool.cxx | 4 ++-- .../TileByteStream/src/TileMuRcvContByteStreamCnv.cxx | 2 +- .../TileByteStream/src/TileMuRcvContByteStreamTool.cxx | 4 ++-- .../TileByteStream/src/TileRawChannelContByteStreamCnv.cxx | 6 +++--- 11 files changed, 24 insertions(+), 26 deletions(-) diff --git a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt index cc5318d2474..397c0b6381a 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt +++ b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt @@ -21,8 +21,6 @@ atlas_depends_on_subdirs( AtlasTest/TestTools Calorimeter/CaloDetDescr Calorimeter/CaloIdentifier - Control/CLIDSvc - Control/SGTools Control/StoreGate DetectorDescription/IdDictParser Event/ByteStreamCnvSvc @@ -44,7 +42,7 @@ atlas_add_library( TileByteStreamLib ByteStreamData GaudiKernel TileEvent TileIdentifier ByteStreamCnvSvcBaseLib CaloDetDescrLib StoreGateLib ByteStreamCnvSvcLib TileConditionsLib TileL2AlgsLib TileRecUtilsLib - PRIVATE_LINK_LIBRARIES CaloIdentifier SGTools TileCalibBlobObjs + PRIVATE_LINK_LIBRARIES CaloIdentifier TileCalibBlobObjs TileDetDescr ) atlas_add_component( TileByteStream diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx index 188b54f7c2b..86d345a7290 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -8,7 +8,7 @@ #include "GaudiKernel/IRegistry.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h" @@ -17,7 +17,7 @@ #include "ByteStreamData/RawEvent.h" #include "StoreGate/StoreGate.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx index 05c9d6c5fcc..e91f1f151e9 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -13,7 +13,7 @@ // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -24,7 +24,7 @@ #include "StoreGate/ActiveStoreSvc.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx index 964dee7f41a..c6083ad8938 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -16,7 +16,7 @@ #include "TileEvent/TileDigits.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx index 562cf24d2ad..bb8ebfaec1e 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -21,7 +21,7 @@ #include "StoreGate/StoreGate.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileL2ContByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx index bba979193c5..3886b3f5cbb 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** @@ -31,7 +31,7 @@ -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx index 1db0338c2e0..e0402ff1d08 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //author Renato Febbraro @@ -13,7 +13,7 @@ #include "GaudiKernel/IToolSvc.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -22,7 +22,7 @@ #include "ByteStreamCnvSvcBase/ROBDataProviderSvc.h" #include "ByteStreamData/RawEvent.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileLaserObjByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx index a9b05beafc7..0d9a4f6dd3d 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //author Renato Febbraro @@ -18,7 +18,7 @@ #include "TileEvent/TileLaserObject.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx index 200ac920b74..12ef8161792 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx @@ -20,7 +20,7 @@ #include "StoreGate/StoreGate.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileMuRcvContByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx index cf1c653261f..2cfa9da9bfd 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** @@ -29,7 +29,7 @@ #include "TileEvent/TileContainer.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx index 4fc0fdd5c64..13f8aa83e11 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -12,7 +12,7 @@ #include "GaudiKernel/ServiceHandle.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -23,7 +23,7 @@ #include "StoreGate/ActiveStoreSvc.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileRawChannelContByteStreamCnv.h" -- GitLab From 6768ac21b1017ee20847d8dab977c42f55f0f3c5 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 14:57:41 +0100 Subject: [PATCH 090/209] MCTruth: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Simulation/G4Sim/MCTruth/CMakeLists.txt | 5 ++--- Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h | 9 ++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Simulation/G4Sim/MCTruth/CMakeLists.txt b/Simulation/G4Sim/MCTruth/CMakeLists.txt index 1a61cf29bed..b7f9bf9d808 100644 --- a/Simulation/G4Sim/MCTruth/CMakeLists.txt +++ b/Simulation/G4Sim/MCTruth/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( MCTruth ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Generators/GeneratorObjects PRIVATE Simulation/ISF/ISF_Core/ISF_Event @@ -26,5 +25,5 @@ atlas_add_library( MCTruth PUBLIC_HEADERS MCTruth INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} SGTools GeneratorObjects + LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GeneratorObjects PRIVATE_LINK_LIBRARIES ISF_Event SimHelpers ) diff --git a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h index a1a146c97f8..30142b63175 100644 --- a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h +++ b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h @@ -1,22 +1,17 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TruthEvent_H #define TruthEvent_H #include "HepMC/GenEvent.h" - -#ifndef __CINT__ -#include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef HepMC::GenEvent TruthEvent; typedef HepMC::GenVertex TruthVertex; typedef HepMC::GenParticle TruthParticle; -#ifndef __CINT__ CLASS_DEF( TruthEvent , 97924139 , 1 ) -#endif #endif -- GitLab From ea05dd95559664bc86b37fdaf6916d757e604301 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 14:59:08 +0100 Subject: [PATCH 091/209] TrackRecord: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Simulation/G4Sim/TrackRecord/CMakeLists.txt | 5 ++--- .../TrackRecord/TrackRecord/TrackRecordCollection.h | 9 ++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Simulation/G4Sim/TrackRecord/CMakeLists.txt b/Simulation/G4Sim/TrackRecord/CMakeLists.txt index 10efc46695f..58013814dc4 100644 --- a/Simulation/G4Sim/TrackRecord/CMakeLists.txt +++ b/Simulation/G4Sim/TrackRecord/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrackRecord ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Simulation/HitManagement PRIVATE Database/AtlasSealCLHEP ) @@ -22,7 +21,7 @@ atlas_add_dictionary( TrackRecordDict TrackRecord/TrackRecordDict.h TrackRecord/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} SGTools HitManagement ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaKernel HitManagement ) # Install files from the package: atlas_install_headers( TrackRecord ) diff --git a/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h b/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h index 89e5c77216a..e5d176f99f9 100755 --- a/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h +++ b/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TrackRecordCollection_H @@ -7,18 +7,13 @@ #include "TrackRecord/TrackRecord.h" #include "HitManagement/AtlasHitsVector.h" - -#ifndef __CINT__ -#include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AtlasHitsVector<TrackRecord> TrackRecordCollection; typedef AtlasHitsVector<TrackRecord>::iterator TrackRecordIterator; typedef AtlasHitsVector<TrackRecord>::const_iterator TrackRecordConstIterator; -#ifndef __CINT__ CLASS_DEF (TrackRecordCollection, 1235574503, 1) -#endif #endif -- GitLab From 197f7dc34ac1127380f90c2c665e399f0c56c4ac Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 15:01:23 +0100 Subject: [PATCH 092/209] G4AncillarySimEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- .../G4Ancillary/G4AncillarySimEvent/CMakeLists.txt | 7 +++---- .../G4AncillarySimEvent/ScintillatorHitCollection.h | 10 +++------- .../SimpleScintillatorHitCollection.h | 10 +++------- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt index 211cce3a5ce..10a879ac0a7 100644 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( G4AncillarySimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Generators/GeneratorObjects Simulation/HitManagement ) @@ -23,12 +22,12 @@ atlas_add_library( G4AncillarySimEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement + LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaKernel GeneratorObjects HitManagement PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( G4AncillarySimEventDict G4AncillarySimEvent/G4AncillarySimEventDict.h G4AncillarySimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement G4AncillarySimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaKernel GeneratorObjects HitManagement G4AncillarySimEvent ) diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h index 08a702f671c..b607f04bcca 100755 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef SCINTILLATORHITCOLLECTION_H @@ -7,16 +7,12 @@ #include "G4AncillarySimEvent/ScintillatorHit.h" #include "HitManagement/AthenaHitsVector.h" -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<ScintillatorHit> ScintillatorHitCollection; typedef AthenaHitsVector<ScintillatorHit>::iterator ScintillatorHitIterator; typedef AthenaHitsVector<ScintillatorHit>::const_iterator ScintillatorHitConstIterator; -#ifndef __CINT__ - CLASS_DEF(ScintillatorHitCollection, 917117117 , 1 ) -#endif +CLASS_DEF(ScintillatorHitCollection, 917117117 , 1 ) #endif // SCINTILLATORHITCOLLECTION_H diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h index 0e68f4f14c0..6f68cd1f322 100755 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef SIMPLESCINTILLATORHITCOLLECTION_H @@ -7,16 +7,12 @@ #include "G4AncillarySimEvent/SimpleScintillatorHit.h" #include "HitManagement/AthenaHitsVector.h" -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<SimpleScintillatorHit> SimpleScintillatorHitCollection; typedef AthenaHitsVector<SimpleScintillatorHit>::iterator SimpleScintillatorHitIterator; typedef AthenaHitsVector<SimpleScintillatorHit>::const_iterator SimpleScintillatorHitConstIterator; -#ifndef __CINT__ - CLASS_DEF(SimpleScintillatorHitCollection, 917117188 , 1 ) -#endif +CLASS_DEF(SimpleScintillatorHitCollection, 917117188 , 1 ) #endif // SIMPLESCINTILLATORHITCOLLECTION_H -- GitLab From 7e7073e95653ff58120069c9604f5df54fd090f3 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 15:03:04 +0100 Subject: [PATCH 093/209] ISF_FatrasDetDescrModel: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- .../ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt | 5 ++--- .../ISF_FatrasDetDescrModel/IdHashDetElementCollection.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt index abaeb538440..76d5e7e4862 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( ISF_FatrasDetDescrModel ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives DetectorDescription/Identifier Event/EventPrimitives @@ -34,6 +33,6 @@ atlas_add_library( ISF_FatrasDetDescrModel src/*.cxx PUBLIC_HEADERS ISF_FatrasDetDescrModel INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier EventPrimitives InDetIdentifier InDetReadoutGeometry ISF_FatrasDetDescrInterfaces TrkDetDescrUtils TrkDetElementBase TrkGeometry TrkSurfaces TrkEventPrimitives TrkParameters StoreGateLib SGtests + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier EventPrimitives InDetIdentifier InDetReadoutGeometry ISF_FatrasDetDescrInterfaces TrkDetDescrUtils TrkDetElementBase TrkGeometry TrkSurfaces TrkEventPrimitives TrkParameters StoreGateLib SGtests PRIVATE_LINK_LIBRARIES GaudiKernel ) diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h index 3352af542e5..2015e17cbbc 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Dear emacs, this is -*-c++-*- @@ -11,7 +11,7 @@ #include "Identifier/IdentifierHash.h" #include "ISF_FatrasDetDescrModel/PlanarDetElement.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" namespace iFatras { typedef std::multimap<IdentifierHash, iFatras::PlanarDetElement*> IdHashDetElementCollection; -- GitLab From 567886a654d4e59d5fb5ebea6e2537ef339445d1 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Mon, 29 Oct 2018 15:58:50 +0100 Subject: [PATCH 094/209] G4AtlasAlg: Fix crash due to missed thread-local initialization. In some rare cases, TBB can create extra worker threads beyond the number requested. This can happen at any time. If this happens, then the new threads will not have the thread-local G4 initialization done, leading to a crash. Try to detect this in G4AtlasAlg::execute and do the thread-local initialization if needed. Needed to fix occasional crashes i've been seeing in G4AthenaMT test. --- .../G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx b/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx index 392171323cb..df0e681e354 100644 --- a/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx +++ b/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Local includes @@ -34,6 +34,7 @@ #include "EventInfo/EventInfo.h" #include "MCTruthBase/TruthStrategyManager.h" #include "GeoModelInterfaces/IGeoModelSvc.h" +#include "GaudiKernel/IThreadInitTool.h" // call_once mutexes #include <mutex> @@ -247,6 +248,20 @@ StatusCode G4AtlasAlg::execute() static int n_Event=0; ATH_MSG_DEBUG("++++++++++++ G4AtlasAlg execute ++++++++++++"); +#ifdef G4MULTITHREADED + // In some rare cases, TBB may create more physical worker threads than + // were requested via the pool size. This can happen at any time. + // In that case, those extra threads will not have had the thread-local + // initialization done, leading to a crash. Try to detect that and do + // the initialization now if needed. + if (G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume() == nullptr) + { + ToolHandle<IThreadInitTool> ti ("G4ThreadInitTool", nullptr); + ATH_CHECK( ti.retrieve() ); + ti->initThread(); + } +#endif + n_Event += 1; if (n_Event<=10 || (n_Event%100) == 0) { -- GitLab From 5a7f45c4e7663fdaf677205581945b833c09e77e Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 3 Nov 2018 14:39:38 +0100 Subject: [PATCH 095/209] G4AtlasApps: Don't drop GeoModel in MT jobs. In rare cases, TBB can spawn new theads even after initialization is complete. But the GeoModel is needed in order to initialize new threads. So we cannot safely drop the GeoModel in MT jobs. Needed to fix occasional crashes observed in G4AtlasMT. --- .../G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py b/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py index a0920936a08..193242229ab 100644 --- a/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py +++ b/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration # # @@ -63,6 +63,12 @@ simFlags.EventFilter.set_Off() # Magnetic field simFlags.MagneticField.set_On() +# In rare cases, TBB can spawn new theads even after initialization is +# complete. But the GeoModel is needed in order to initialize new threads. +# So we cannot safely drop the GeoModel in MT jobs. +simFlags.ReleaseGeoModel = False + + # Debug outputs of user actions #CfgGetter.getPublicTool('G4UA::AthenaTrackingActionTool').OutputLevel = DEBUG -- GitLab From 53938a88da2db8ff107fc1019b8974e9d3893828 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 05:09:18 +0100 Subject: [PATCH 096/209] Trying to force a rebuild. -- GitLab From 0362946a8d212bd3a3db9b6ac8861f0b889e98d4 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Sun, 4 Nov 2018 16:43:38 +0000 Subject: [PATCH 097/209] Merge branch 'HIJR-4-11-18' into '21.0' Fix for HIP mode (ATLHI-233) See merge request atlas/athena!15644 (cherry picked from commit d9ee22f9279ed419a36866afb7362e7a87bc5322) 9c9f4228 Fix for HIP mode (ATLHI-233) --- Control/AthenaConfiguration/python/iconfTool/utils/__init__.py | 0 Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py | 1 + 2 files changed, 1 insertion(+) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100755 new mode 100644 diff --git a/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py b/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py index 352ee7fddf1..323392936f9 100644 --- a/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py +++ b/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py @@ -1,6 +1,7 @@ from HIJetRec.HIJetRecFlags import HIJetFlags from HIGlobal.HIGlobalFlags import jobproperties from JetRec.JetRecFlags import jetFlags +from HIJetRec.HIJetRecConfig import * jetFlags.useCells.set_Value(True); -- GitLab From 7f0a86506259bed063acc39be2641afae592c89e Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 16:54:35 +0100 Subject: [PATCH 098/209] TileConditions: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- TileCalorimeter/TileConditions/CMakeLists.txt | 6 ++---- .../TileConditions/TileConditions/TileCondDCS_Data.h | 4 ++-- .../TileConditions/test/TileDCSComponents_test.cxx | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/TileCalorimeter/TileConditions/CMakeLists.txt b/TileCalorimeter/TileConditions/CMakeLists.txt index c21cd2bb1a9..8b15967960a 100644 --- a/TileCalorimeter/TileConditions/CMakeLists.txt +++ b/TileCalorimeter/TileConditions/CMakeLists.txt @@ -15,8 +15,6 @@ atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloIdentifier Control/AthenaBaseComps Control/AthenaKernel - Control/CLIDSvc - Control/SGTools Control/StoreGate Database/AthenaPOOL/AthenaPoolUtilities DetectorDescription/Identifier @@ -44,7 +42,7 @@ atlas_add_library( TileConditionsLib INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel SGTools AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier StoreGateLib SGtests CaloDetDescrLib + LINK_LIBRARIES ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier StoreGateLib SGtests CaloDetDescrLib PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} TileDetDescr PathResolver ) atlas_add_component( TileConditions @@ -56,7 +54,7 @@ atlas_add_dictionary( TileConditionsDict TileConditions/TileConditionsDict.h TileConditions/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel SGTools StoreGateLib SGtests AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier CaloDetDescrLib TileDetDescr PathResolver TileConditionsLib ) + LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier CaloDetDescrLib TileDetDescr PathResolver TileConditionsLib ) # Test(s) in the package: atlas_add_test( TileCondToolTMDB_test diff --git a/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h b/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h index 83d1494b8b5..361ee623c54 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** @@ -11,7 +11,7 @@ #ifndef TILECONDDCS_DATA_H #define TILECONDDCS_DATA_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthenaPoolUtilities/CondAttrListCollection.h" #include <map> #include <vector> diff --git a/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx b/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx index f233777b253..129cf71b35c 100644 --- a/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx +++ b/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #undef NDEBUG @@ -17,7 +17,7 @@ #include "TestTools/initGaudi.h" #include "AthenaBaseComps/AthAlgorithm.h" #include "AthenaBaseComps/AthAlgTool.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "GaudiKernel/ISvcLocator.h" #include "GaudiKernel/ServiceHandle.h" -- GitLab From 50b80f8fb232221f1bbb5a61ae50259e4eb14962 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 16:56:19 +0100 Subject: [PATCH 099/209] TileDetDescr: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- TileCalorimeter/TileDetDescr/CMakeLists.txt | 4 +--- .../TileDetDescr/TileDetDescr/TileDetDescrManager.h | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/TileCalorimeter/TileDetDescr/CMakeLists.txt b/TileCalorimeter/TileDetDescr/CMakeLists.txt index 5460aeae96e..6dd11c28a45 100644 --- a/TileCalorimeter/TileDetDescr/CMakeLists.txt +++ b/TileCalorimeter/TileDetDescr/CMakeLists.txt @@ -9,8 +9,6 @@ atlas_subdir( TileDetDescr ) atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloIdentifier Control/AthenaKernel - Control/CLIDSvc - Control/SGTools Database/RDBAccessSvc DetectorDescription/GeoModel/GeoModelKernel DetectorDescription/Identifier @@ -29,6 +27,6 @@ atlas_add_library( TileDetDescr src/Tile*.cxx PUBLIC_HEADERS TileDetDescr INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} CaloIdentifier SGTools GeoModelKernel Identifier CaloDetDescrLib + LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} CaloIdentifier AthenaKernel GeoModelKernel Identifier CaloDetDescrLib PRIVATE_LINK_LIBRARIES AtlasDetDescr GaudiKernel TileIdentifier ) diff --git a/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h b/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h index bd071d44153..b4275a44e9a 100755 --- a/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h +++ b/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDetDescrManager_h @@ -239,7 +239,7 @@ class TileDetDescrManager : public GeoVDetectorManager }; #ifndef GAUDI_NEUTRAL -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" CLASS_DEF(TileDetDescrManager, 2941, 1) #endif -- GitLab From dfbb2cc44a72ca7816aed0648cf6a1cd4c3a1aea Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 16:57:18 +0100 Subject: [PATCH 100/209] TileSimEvent: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- TileCalorimeter/TileSimEvent/CMakeLists.txt | 7 +++---- .../TileSimEvent/TileSimEvent/TileHitVector.h | 13 ++++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/TileCalorimeter/TileSimEvent/CMakeLists.txt b/TileCalorimeter/TileSimEvent/CMakeLists.txt index ca401ddf8ed..dfb7e895281 100644 --- a/TileCalorimeter/TileSimEvent/CMakeLists.txt +++ b/TileCalorimeter/TileSimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TileSimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/Identifier Simulation/HitManagement @@ -24,12 +23,12 @@ atlas_add_library( TileSimEvent src/*.cxx PUBLIC_HEADERS TileSimEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES SGTools Identifier HitManagement TileConditionsLib + LINK_LIBRARIES AthenaKernel Identifier HitManagement TileConditionsLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} CaloIdentifier ) atlas_add_dictionary( TileSimEventDict TileSimEvent/TileSimEventDict.h TileSimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} SGTools Identifier HitManagement CaloIdentifier TileConditionsLib TileSimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel Identifier HitManagement CaloIdentifier TileConditionsLib TileSimEvent ) diff --git a/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h b/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h index 1b99f5d9af0..343edd63745 100755 --- a/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h +++ b/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //************************************************************ @@ -21,10 +21,7 @@ #include "TileSimEvent/TileSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<TileHit> TileOldHitVector; @@ -32,9 +29,7 @@ typedef AtlasHitsVector<TileHit> TileHitVector; typedef AtlasHitsVector<TileHit>::iterator TileHitVecIterator; typedef AtlasHitsVector<TileHit>::const_iterator TileHitVecConstIterator; -#ifndef __CINT__ - CLASS_DEF(TileHitVector, 2960, 1 ) - CLASS_DEF(TileOldHitVector, 2961, 1) -#endif +CLASS_DEF(TileHitVector, 2960, 1 ) +CLASS_DEF(TileOldHitVector, 2961, 1) #endif -- GitLab From 238cf56b0ab196867b6da7f518a3362b3454091e Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 16:58:47 +0100 Subject: [PATCH 101/209] TrkDetDescrUtils: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt | 5 ++--- .../TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt b/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt index ca17ce27fba..854ca64cfe0 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrkDetDescrUtils ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives GaudiKernel Tracking/TrkEvent/TrkEventPrimitives ) @@ -21,5 +20,5 @@ atlas_add_library( TrkDetDescrUtils src/*.cxx PUBLIC_HEADERS TrkDetDescrUtils INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives GaudiKernel TrkEventPrimitives ) + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives GaudiKernel TrkEventPrimitives ) diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h index 0c84882cf51..fdf21e69df4 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -13,7 +13,7 @@ // from TrkDetDescrUtils #include "TrkDetDescrUtils/LayerIndex.h" // CLASS DEF -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** LayerIndexSampleMap -- GitLab From 85839396c138508f1835a005a2226b7a6796b682 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sun, 4 Nov 2018 16:59:55 +0100 Subject: [PATCH 102/209] TrkVolumes: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. Also remove unneeded dependency on SGTools. --- Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt | 5 ++--- Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt b/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt index 27568d2ae66..dffad6c66b3 100644 --- a/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt +++ b/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrkVolumes ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives GaudiKernel Tracking/TrkDetDescr/TrkDetDescrUtils @@ -25,5 +24,5 @@ atlas_add_library( TrkVolumes src/*.cxx PUBLIC_HEADERS TrkVolumes INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives GaudiKernel TrkDetDescrUtils TrkGeometrySurfaces TrkSurfaces TrkEventPrimitives TrkParameters ) + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives GaudiKernel TrkDetDescrUtils TrkGeometrySurfaces TrkSurfaces TrkEventPrimitives TrkParameters ) diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h index 4bcb8bb0888..f95c1de8571 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -13,7 +13,7 @@ #include "TrkDetDescrUtils/GeometryStatics.h" #include "TrkDetDescrUtils/SharedObject.h" #include "GeoPrimitives/GeoPrimitives.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MsgStream; -- GitLab From 6b63d4e4a9520eccc660cd27efc7371fd97011d3 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Mon, 5 Nov 2018 09:55:54 +0000 Subject: [PATCH 103/209] Remove dictionary selection rule for non-existing ILArRterm class --- LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml b/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml index 0bcd24cc533..d197e798dbf 100755 --- a/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml +++ b/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml @@ -26,7 +26,6 @@ <class name="ILArPhysCaliTdiff" /> <class name="ILArRamp" /> <class name="ILArRinj" /> - <class name="ILArRterm" /> <class name="ILArShape" /> <class name="ILArTdrift" /> <class name="ILArTshaper" /> -- GitLab From ccb8608507a88a3fde1c4527dc20885237846492 Mon Sep 17 00:00:00 2001 From: Tim Martin <Tim.Martin@cern.ch> Date: Mon, 5 Nov 2018 11:06:35 +0100 Subject: [PATCH 104/209] Fix a parsing bug where longer paths were supplied earlier to git-package-pseudomerge.py by sorting the input list according to the number of '/' in the path --- .../Scripts/share/git-package-pseudomerge.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Tools/Scripts/share/git-package-pseudomerge.py b/Tools/Scripts/share/git-package-pseudomerge.py index 80edf76ca94..2d064bbca66 100755 --- a/Tools/Scripts/share/git-package-pseudomerge.py +++ b/Tools/Scripts/share/git-package-pseudomerge.py @@ -30,8 +30,16 @@ parser.add_argument('--target', type=str, default='upstream/master', help='target branch (default: upstream/master)') parser.add_argument('--reset', action='store_true', help='Remove branches created by this script. Use to start again or recover from any issues') +parser.add_argument('--debug', action='store_true', + help='Extra printing') args = parser.parse_args() + +def sortBySplitLen(element): + return len(element.split('/')) + +args.packages = sorted(args.packages, key=sortBySplitLen) + print(args) class bcolors: @@ -154,7 +162,7 @@ if args.stage == 1: level = 0 # Distance into directory tree resetPath = '' while (True): - # print("Evaluate " + fileTuple[1]) + if (args.debug): print("Evaluate " + fileTuple[1] + " level=" + str(level)) if level == len(fileSplit): # Reached beyond bottom of directory tree print(bcolors.FAIL + "ERR" + bcolors.ENDC) break @@ -165,19 +173,22 @@ if args.stage == 1: pathSplit = path.rstrip('/').split('/') # Explode path if level == len(pathSplit) and path == responsibleRule: doKeep = True # The previous operation matched the final path segment. Keep this file - elif level < len(pathSplit) and fileSplit[level] == pathSplit[level]: + if (args.debug): print(" doKeep=True (" + path + " = " + responsibleRule + ") as level is equal to size of " + path + ", " + str(len(pathSplit)) ) + elif doKeep == False and level < len(pathSplit) and fileSplit[level] == pathSplit[level]: doProgress = True # We match the current level - check next level of directory responsibleRule = path # Record which package rule is allowing us to progress + if (args.debug): print(" doProgress=True (" + fileSplit[level] + " = " + pathSplit[level] + ") as level is less than the size of " + path + ", " + str(len(pathSplit)) ) if doKeep: # At least one match to keep this - # print("Keeping "+fileSplit[level]) + if (args.debug): print(" Keeping "+path) break elif doProgress: # At least one partial match - check next level resetPath += fileSplit[level] + '/' - # print("Progressing "+resetPath) + if (args.debug): print(" Progressing "+resetPath) level += 1 else: # No matches - reset this path resetPath += fileSplit[level] + if (args.debug): print(" Resetting "+resetPath) if not resetPath in toReset: print("To reset: "+resetPath + " level = " + str(level)) toReset.append(resetPath) -- GitLab From ccb640e8e04319e6c798054c7b894fd4cf66ce4e Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Mon, 5 Nov 2018 11:34:34 +0100 Subject: [PATCH 105/209] quick commit to add pkg --- .../src/ImpactPoint3dEstimator.cxx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx index 965fd19d2d8..594a96f7215 100755 --- a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx @@ -19,7 +19,7 @@ #include "TrkExInterfaces/IExtrapolator.h" #include "TrkSurfaces/PerigeeSurface.h" -#include <math.h> +#include <cmath> namespace Trk { @@ -122,7 +122,7 @@ namespace Trk m_vertex=0; } - ATH_MSG_DEBUG("Neutral particle -- propergate like a straight line"); + ATH_MSG_DEBUG("Neutral particle -- propagate like a straight line"); return _Estimate3dIPNoCurvature(neutralPerigee, theVertex); } @@ -137,7 +137,7 @@ namespace Trk double magnFieldVect[3]; m_magFieldSvc->getField(trackPerigee->associatedSurface().center().data(),magnFieldVect); if(magnFieldVect[2] == 0 ){ - ATH_MSG_DEBUG("Magnetic field in the Z dierction is 0 -- propergate like a straight line"); + ATH_MSG_DEBUG("Magnetic field in the Z direction is 0 -- propagate like a straight line"); return _Estimate3dIPNoCurvature(trackPerigee, theVertex); } @@ -145,7 +145,7 @@ namespace Trk const Trk::Perigee* thePerigee=dynamic_cast<const Trk::Perigee*>(trackPerigee); if (thePerigee==0) { - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<< " ImpactPoint3dEstimator didn't get a Perigee* as ParametersBase*: cast not possible. Need to EXTRAPOLATE..." << endmsg; + ATH_MSG_DEBUG( " ImpactPoint3dEstimator didn't get a Perigee* as ParametersBase*: cast not possible. Need to EXTRAPOLATE..."); /* run-1 code had not been adapted for Neutral parameters: const TrackParameters* ch_params = dynamic_cast<const TrackParameters*>(trackPerigee); @@ -160,7 +160,7 @@ namespace Trk if (thePerigee == NULL) return 0; } - if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE)<< " Now running ImpactPoint3dEstimator::Estimate3dIP" << endmsg; + ATH_MSG_VERBOSE( " Now running ImpactPoint3dEstimator::Estimate3dIP" ); double phi0=thePerigee->parameters()[Trk::phi0]; double cosphi0=-sin(phi0); double sinphi0=cos(phi0); @@ -240,7 +240,7 @@ namespace Trk if (secderivative<0) throw error::ImpactPoint3dEstimatorProblem("Second derivative is negative"); - if (ncycle>m_maxiterations) throw error::ImpactPoint3dEstimatorProblem("Too many loops: could not find minimu distance to vertex"); + if (ncycle>m_maxiterations) throw error::ImpactPoint3dEstimatorProblem("Too many loops: could not find minimum distance to vertex"); ncycle+=1; if (ncycle>m_maxiterations||fabs(deltaphi)<m_precision) { @@ -260,6 +260,7 @@ namespace Trk Amg::Vector3D DeltaR(x0-xc+Rt*cosphiactual,y0-yc+Rt*sinphiactual,z0-zc-Rt*cottheta*phiactual); m_distance=DeltaR.mag(); + ATH_MSG_INFO("m_distance : " <<m_distance); DeltaR=DeltaR.unit(); -- GitLab From 15c9f4509cda4f92b95ba28718a4b58a4f7bd0fc Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Mon, 5 Nov 2018 12:34:09 +0100 Subject: [PATCH 106/209] muon tests as part of package UT --- MuonSpectrometer/MuonConfig/CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/MuonSpectrometer/MuonConfig/CMakeLists.txt b/MuonSpectrometer/MuonConfig/CMakeLists.txt index 378e13d5973..17623cc7b65 100644 --- a/MuonSpectrometer/MuonConfig/CMakeLists.txt +++ b/MuonSpectrometer/MuonConfig/CMakeLists.txt @@ -7,4 +7,17 @@ atlas_subdir( MuonConfig ) # Install files from the package: atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) \ No newline at end of file +atlas_install_joboptions( share/*.py ) + + +atlas_add_test( MuonCablingConfigTest + SCRIPT python -m MuonConfig.MuonCablingConfig + POST_EXEC_SCRIPT nopost.sh ) + +atlas_add_test( MuonReconstructionConfigTest + SCRIPT python -m MuonConfig.MuonReconstructionConfig + POST_EXEC_SCRIPT nopost.sh ) + +atlas_add_test( MuonSegmentFindingConfigTest + SCRIPT python -m MuonConfig.MuonSegmentFindingConfig + POST_EXEC_SCRIPT nopost.sh ) -- GitLab From 9f0bf509cb4c53aff70f0a20b95ae8bb021a64fc Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Mon, 5 Nov 2018 12:34:40 +0100 Subject: [PATCH 107/209] fixed det DB renaming for MC case --- Database/IOVDbSvc/python/IOVDbSvcConfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py index 6eaefc5a356..328a9b39e3f 100644 --- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py +++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py @@ -124,7 +124,7 @@ def addFoldersSplitOnline(flags, detDb, online_folders, offline_folders, classNa folders = online_folders else: # MC, so add addMCString - db = db+addMCString + detDb = detDb+addMCString folders = offline_folders result = addFolders(flags, folders, className=className, detDb=detDb) return result -- GitLab From 4989c63a53468b3b6cf2beee1215ede459a16620 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Mon, 5 Nov 2018 12:37:04 +0100 Subject: [PATCH 108/209] changed input ESD so the tests can run as part of CI w/o additional preparations --- .../LArBadChannelTool/python/LArBadChannelConfig.py | 10 +++++----- .../MuonConfig/python/MuonCablingConfig.py | 4 ++-- .../MuonConfig/python/MuonReconstructionConfig.py | 2 +- .../MuonConfig/python/MuonSegmentFindingConfig.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py index a53ac5a8e06..2084ae83337 100644 --- a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py +++ b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py @@ -18,11 +18,11 @@ def LArBadChannelCfg(configFlags): else: dbname="LAR_OFL" - result.merge(addFolders(configFlags,foldername,detDb=dbname,className="CondAttrListCollection")[0]) + result.merge(addFolders(configFlags,foldername,detDb=dbname,className="CondAttrListCollection")) theLArBadChannelCondAlgo=LArBadChannelCondAlg(ReadKey=foldername) result.addCondAlgo(theLArBadChannelCondAlgo) - return result,None + return result def LArBadFebCfg(configFlags): @@ -39,13 +39,13 @@ def LArBadFebCfg(configFlags): else: dbname="LAR_OFL" - result.merge(addFolders(configFlags,foldername,detDb=dbname,className="AthenaAttributeList")[0]) + result.merge(addFolders(configFlags,foldername,detDb=dbname,className="AthenaAttributeList")) result.addCondAlgo(LArBadFebCondAlg(ReadKey=foldername)) - return result,None + return result def LArBadChannelMaskerCfg(configFlags,problemsToMask,doMasking=True,ToolName="LArBadChannelMasker"): - result=LArBadChannelCfg(configFlags)[0] + result=LArBadChannelCfg(configFlags) bcMasker=LArBadChannelMasker(ToolName,ProblemsToMask=problemsToMask, DoMasking=doMasking) return result,bcMasker diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py index 5b698652a31..731a9db819c 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py @@ -32,7 +32,7 @@ def RPCCablingConfigCfg(flags): acc.merge(addFolders(flags, [ '/RPC/TRIGGER/CM_THR_ETA', '/RPC/TRIGGER/CM_THR_ETA', '/RPC/TRIGGER/CM_THR_PHI', '/RPC/TRIGGER/CM_THR_PHI', '/RPC/CABLING/MAP_SCHEMA', '/RPC/CABLING/MAP_SCHEMA_CORR' ], - 'RPC' )[0]) + 'RPC' )) # that should not be here??? acc.getService('IOVDbSvc').FoldersToMetaData += ['/GLOBAL/BField/Maps'] @@ -67,7 +67,7 @@ def TGCCablingConfigCfg(flags): acc.addService( TGCCablingSvc ) from IOVDbSvc.IOVDbSvcConfig import addFolders - acc.merge(addFolders(flags, ['/TGC/CABLING/MAP_SCHEMA','/TGC/CABLING/MAP_SCHEMA'], 'TGC')[0]) + acc.merge(addFolders(flags, ['/TGC/CABLING/MAP_SCHEMA','/TGC/CABLING/MAP_SCHEMA'], 'TGC')) return acc, TGCCablingSvc if __name__ == '__main__': diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py index 767d6bd8736..f6cba997e36 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py @@ -28,7 +28,7 @@ if __name__=="__main__": from AthenaCommon.Logging import log log.debug('About to set up Segment Finding.') - ConfigFlags.Input.Files = ["myESD.pool.root"] + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"] ConfigFlags.Muon.doCSCs = False ConfigFlags.lock() diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py index dfc44354121..78a1091d1dd 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py @@ -813,7 +813,7 @@ if __name__=="__main__": from AthenaCommon.Logging import log log.debug('About to set up Segment Finding.') - ConfigFlags.Input.Files = ["myESD.pool.root"] + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"] ConfigFlags.Input.isMC = True ConfigFlags.Muon.doCSCs = False ConfigFlags.lock() -- GitLab From f2d597636c1be215ed5078f29708a2a5f343943a Mon Sep 17 00:00:00 2001 From: Walter Lampl <walter.lampl@cern.ch> Date: Mon, 5 Nov 2018 13:05:42 +0000 Subject: [PATCH 109/209] Use LArAutoCorrNoise CondAlg/CondObj in LArPileUpTool --- .../LArDigitization/LArPileUpTool.h | 4 +- .../python/LArDigitizationConfig.py | 6 +- .../LArDigitization/src/LArPileUpTool.cxx | 23 +-- .../LArRawConditions/LArAutoCorrNoise.h | 35 ++++ .../LArRawConditions/src/LArAutoCorrNoise.cxx | 23 +++ .../python/LArAutoCorrNoiseCondAlgDefault.py | 32 +++ .../LArRecUtils/python/LArMCSymCondAlg.py | 2 +- .../src/LArAutoCorrNoiseCondAlg.cxx | 191 ++++++++++++++++++ .../LArRecUtils/src/LArAutoCorrNoiseCondAlg.h | 48 +++++ .../src/components/LArRecUtils_entries.cxx | 2 + 10 files changed, 349 insertions(+), 17 deletions(-) create mode 100644 LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h create mode 100644 LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx create mode 100644 LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py create mode 100644 LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx create mode 100644 LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h diff --git a/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h b/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h index 3be312e48e1..44f1acc5be3 100755 --- a/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h +++ b/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h @@ -42,6 +42,7 @@ #include "GaudiKernel/Property.h" #include "StoreGate/ReadCondHandle.h" #include "LArRawConditions/LArADC2MeV.h" +#include "LArRawConditions/LArAutoCorrNoise.h" class StoreGateSvc; class PileUpMergeSvc; @@ -212,7 +213,8 @@ class LArPileUpTool : virtual public ILArPileUpTool, public PileUpToolBase SG::ReadCondHandleKey<ILArShape> m_shapeKey{this,"ShapeKey","LArShape","SG Key of LArShape object"}; SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"}; - ToolHandle<ILArAutoCorrNoiseTool> m_autoCorrNoiseTool; + //ToolHandle<ILArAutoCorrNoiseTool> m_autoCorrNoiseTool; + SG::ReadCondHandleKey<LArAutoCorrNoise> m_autoCorrNoiseKey{this,"AutoCorrNoiseKey","LArAutoCorrNoise","SG Key of AutoCorrNoise conditions object"}; ToolHandle<ILArBadChannelMasker> m_maskingTool; SG::ReadCondHandleKey<LArBadFebCont> m_badFebKey; ToolHandle<ITriggerTime> m_triggerTimeTool; diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py index 1487af56e71..3143da57ab0 100644 --- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py +++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py @@ -122,8 +122,10 @@ def getLArPileUpTool(name='LArPileUpTool', **kwargs): ## useLArFloat()=True,isOv from LArRecUtils.LArADC2MeVCondAlgDefault import LArADC2MeVCondAlgDefault LArADC2MeVCondAlgDefault() - # Tool for noise autocorrelation generation - kwargs.setdefault('AutoCorrNoiseTool', 'LArAutoCorrNoiseToolDefault') + + # AutoCorrNoiseCondAlgo + from LArRecUtils.LArAutoCorrNoiseCondAlgDefault import LArAutoCorrNoiseCondAlgDefault + LArAutoCorrNoiseCondAlgDefault() # bad channel masking from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelMasker diff --git a/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx b/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx index f21c5c416fd..8bfd1fb145c 100755 --- a/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx +++ b/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx @@ -39,7 +39,6 @@ LArPileUpTool::LArPileUpTool(const std::string& type, const std::string& name, c m_hitmap(nullptr), m_hitmap_DigiHSTruth(nullptr), m_DigitContainer(nullptr), - m_autoCorrNoiseTool("LArAutoCorrNoiseTool"), m_maskingTool(this,"LArBadChannelMaskingTool"), m_badFebKey("LArBadFeb"), m_triggerTimeTool("CosmicTriggerTimeTool"), @@ -160,7 +159,6 @@ LArPileUpTool::LArPileUpTool(const std::string& type, const std::string& name, c declareProperty("UsePhase",m_usePhase,"use 1ns binned pulse shape (default=false)"); declareProperty("RndmSvc",m_rndmSvc,"Random number service for LAr digitization"); declareProperty("UseRndmEvtRun",m_rndmEvtRun,"Use Run and Event number to seed rndm number (default=false)"); - declareProperty("AutoCorrNoiseTool",m_autoCorrNoiseTool,"Tool handle for electronic noise covariance"); declareProperty("MaskingTool",m_maskingTool,"Tool handle for dead channel masking"); declareProperty("BadFebKey",m_badFebKey,"Key of BadFeb object in ConditionsStore"); declareProperty("RndmEvtOverlay",m_RndmEvtOverlay,"Pileup and/or noise added by overlaying random events (default=false)"); @@ -366,16 +364,8 @@ StatusCode LArPileUpTool::initialize() // retrieve tool to compute sqrt of time correlation matrix if ( !m_RndmEvtOverlay && m_NoiseOnOff) { - if (m_autoCorrNoiseTool.retrieve().isFailure()) { - ATH_MSG_ERROR(" Unable to find tool LArAutoCorrNoiseTool"); - return StatusCode::FAILURE; - } - ATH_MSG_INFO(" retrieved LArAutoCorrNoiseTool"); + ATH_CHECK(m_autoCorrNoiseKey.initialize()); } - else { - m_autoCorrNoiseTool.disable(); - } - if (m_maskingTool.retrieve().isFailure()) { ATH_MSG_INFO(" No tool for bad channel masking"); m_useBad=false; @@ -1953,6 +1943,13 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, noise=*noiseHdl; } + const LArAutoCorrNoise* autoCorrNoise=nullptr; + if ( !m_RndmEvtOverlay && m_NoiseOnOff) { + SG::ReadCondHandle<LArAutoCorrNoise> autoCorrNoiseHdl(m_autoCorrNoiseKey); + autoCorrNoise=*autoCorrNoiseHdl; + } + + LArDigit *Digit; LArDigit *Digit_DigiHSTruth; @@ -2156,7 +2153,7 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, else SigmaNoise=0.; } // Sqrt of noise covariance matrix - const std::vector<float>* CorGen=&(m_autoCorrNoiseTool->autoCorrSqrt(cellId,igain,m_NSamples)); + const std::vector<float>& CorGen=autoCorrNoise->autoCorrSqrt(cellId,igain); RandGaussZiggurat::shootArray(m_engine,m_NSamples,m_Rndm,0.,1.); @@ -2165,7 +2162,7 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, m_Noise[i]=0.; for(int j=0;j<=i;j++) { index = i*m_NSamples + j; - m_Noise[i] += m_Rndm[j] * ((*CorGen)[index]); + m_Noise[i] += m_Rndm[j] * CorGen[index]; } m_Noise[i]=m_Noise[i]*SigmaNoise; } diff --git a/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h b/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h new file mode 100644 index 00000000000..1cb95995485 --- /dev/null +++ b/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h @@ -0,0 +1,35 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LARRAWCONDITIONS_LARAUTOCORRNOISE +#define LARRAWCONDITIONS_LARAUTOCORRNOISE + +#include <vector> + +#include "LArRawConditions/LArMCSym.h" + +class LArAutoCorrNoise +{ + +public: + LArAutoCorrNoise() = delete; + + LArAutoCorrNoise( std::vector<std::map<HWIdentifier, std::vector<float>>>&& input, const LArMCSym* larMCsym ); + + ~LArAutoCorrNoise(); + + const std::vector<float>& autoCorrSqrt( const HWIdentifier& id, int gain ) const; + const std::vector<float>& autoCorrSqrt( const Identifier& id, int gain ) const; + +private: + const LArMCSym* m_larMCsym; + std::vector<std::map<HWIdentifier, std::vector<float>>> m_autoCorrNoise; +}; + +#include "AthenaKernel/CLASS_DEF.h" +CLASS_DEF( LArAutoCorrNoise, 224426548, 1 ) +#include "AthenaKernel/CondCont.h" +CONDCONT_DEF( LArAutoCorrNoise, 107335812 ); + +#endif diff --git a/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx b/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx new file mode 100644 index 00000000000..e4e4fa16c6d --- /dev/null +++ b/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx @@ -0,0 +1,23 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "LArRawConditions/LArAutoCorrNoise.h" + +LArAutoCorrNoise::LArAutoCorrNoise( std::vector<std::map<HWIdentifier, std::vector<float>>>&& input, + const LArMCSym* larMCsym ) + : m_larMCsym( larMCsym ) +{ + m_autoCorrNoise = input; + + larMCsym = nullptr; + input.clear(); +} + +LArAutoCorrNoise::~LArAutoCorrNoise() {} + +const std::vector<float>& LArAutoCorrNoise::autoCorrSqrt( const Identifier& id, int gain ) const +{ + const HWIdentifier hwid = m_larMCsym->ZPhiSymOfl( id ); + return m_autoCorrNoise.at( gain ).at( hwid ); +} diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py new file mode 100644 index 00000000000..dc1a639d6e3 --- /dev/null +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py @@ -0,0 +1,32 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon.Include import Include, IncludeError, include +from IOVDbSvc.CondDB import conddb + +if conddb.isMC: + include("LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py") +else: + include("LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py") + +from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg +from AthenaCommon.AlgSequence import AthSequencer +from LArCabling.LArCablingAccess import LArOnOffIdMapping +from LArRecUtils.LArMCSymCondAlg import LArMCSymCondAlgDefault +condSeq = AthSequencer("AthCondSeq") + + +def LArAutoCorrNoiseCondAlgDefault(): + + LArOnOffIdMapping() + LArMCSymCondAlgDefault() + condSeq = AthSequencer("AthCondSeq") + if hasattr (condSeq,"LArAutoCorrNoiseCondAlg"): + return getattr(condSeq,"LArAutoCorrNoiseCondAlg") + + theAutoCorrNoiseCondAlg=LArAutoCorrNoiseCondAlg("LArAutoCorrNoiseCondAlg") + + from LArROD.LArRODFlags import larRODFlags + theAutoCorrNoiseCondAlg.nSampl = larRODFlags.nSamples() + + condSeq+=theAutoCorrNoiseCondAlg + return theAutoCorrNoiseCondAlg diff --git a/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py b/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py index 8a7a750e6df..ba06f935618 100644 --- a/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py +++ b/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py @@ -3,6 +3,6 @@ def LArMCSymCondAlgDefault(): condSeq = AthSequencer("AthCondSeq") if not hasattr(condSeq, "LArMCSymCondAlg"): from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg - condSeq+=LArMCSymCondAlg(ReadKey="LArOnOffIdMap") + condSeq+=LArMCSymCondAlg("LArMCSymCondAlg",ReadKey="LArOnOffIdMap") return diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx new file mode 100644 index 00000000000..a68e2be63ce --- /dev/null +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx @@ -0,0 +1,191 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "LArAutoCorrNoiseCondAlg.h" + +#include "LArElecCalib/LArConditionsException.h" + +#include "LArIdentifier/LArOnlineID.h" +#include "LArIdentifier/LArOnline_SuperCellID.h" + +#include "GaudiKernel/EventIDRange.h" + +LArAutoCorrNoiseCondAlg::LArAutoCorrNoiseCondAlg( const std::string& name, ISvcLocator* pSvcLocator ) + : ::AthAlgorithm( name, pSvcLocator ) + , m_LArOnOffIdMappingObjKey( "LArOnOffIdMap" ) + , m_LArMCSymObjKey( "LArMCSym" ) + , m_LArAutoCorrObjKey( "LArAutoCorr" ) + , m_LArAutoCorrNoiseObjKey( "LArAutoCorrNoise" ) + , m_condSvc( "CondSvc", name ) + , m_isSuperCell( false ) + , m_MCsym( true ) + , m_nSampl( 4 ) +{ + declareProperty( "LArOnOffIdMappingObjKey", m_LArOnOffIdMappingObjKey, "Key to read LArOnOffIdMapping object" ); + declareProperty( "LArMCSymObjKey", m_LArMCSymObjKey, "Key to read LArMCSym object" ); + declareProperty( "LArAutoCorrObjKey", m_LArAutoCorrObjKey, "Key to read LArAutoCorr object" ); + declareProperty( "LArAutoCorrNoiseObjKey", m_LArAutoCorrNoiseObjKey, "Key to write LArAutoCorrNoise object" ); + declareProperty( "isSuperCell", m_isSuperCell ); + declareProperty( "MCsym", m_MCsym ); + declareProperty( "nSampl", m_nSampl ); +} + +LArAutoCorrNoiseCondAlg::~LArAutoCorrNoiseCondAlg() {} + +StatusCode LArAutoCorrNoiseCondAlg::initialize() +{ + ATH_MSG_DEBUG( "initialize " << name() ); + + // CondSvc + ATH_CHECK( m_condSvc.retrieve() ); + + // ReadCondHandle initialization + ATH_CHECK( m_LArOnOffIdMappingObjKey.initialize() ); + ATH_CHECK( m_LArMCSymObjKey.initialize() ); + ATH_CHECK( m_LArAutoCorrObjKey.initialize() ); + + ATH_CHECK( m_LArAutoCorrNoiseObjKey.initialize() ); + + // WriteCondHandle initialization + if ( m_condSvc->regHandle( this, m_LArAutoCorrNoiseObjKey ).isFailure() ) { + ATH_MSG_ERROR( "Unable to register WriteCondHandle " << m_LArAutoCorrNoiseObjKey.fullKey() << " with CondSvc" ); + return StatusCode::FAILURE; + } + + // Number of gains + m_nGains = ( m_isSuperCell ) ? 1 : 3; + + + if (m_isSuperCell) { + ATH_MSG_ERROR("This cond-algo doesn't work yet for SuperCells"); + } + //Super-cells are only half-implemented here. + //The produced LArAutoCorrNoise CDO will always use LArMCSym to query the underlying storage but + //we dont' use symmetry for SuperCells. Suggest to implement dedicated CDO for supercells. + + + return StatusCode::SUCCESS; +} + +StatusCode LArAutoCorrNoiseCondAlg::execute() +{ + + // WriteHandle setup + SG::WriteCondHandle<LArAutoCorrNoise> writeHandle( m_LArAutoCorrNoiseObjKey ); + if ( writeHandle.isValid() ) { + ATH_MSG_DEBUG( "CondHandle " << writeHandle.fullKey() << " is already valid." ); + return StatusCode::SUCCESS; + } + + // Identifier helper + const LArOnlineID_Base* larOnlineID = nullptr; + if ( m_isSuperCell ) { + const LArOnline_SuperCellID* scidhelper; + ATH_CHECK( detStore()->retrieve( scidhelper, "LArOnline_SuperCellID" ) ); + larOnlineID = scidhelper; // cast to base-class + } else { // regular cells + const LArOnlineID* idhelper; + ATH_CHECK( detStore()->retrieve( idhelper, "LArOnlineID" ) ); + larOnlineID = idhelper; // cast to base-class + } + // Mapping helper + const LArOnOffIdMapping* larOnOffIdMapping = nullptr; + SG::ReadCondHandle<LArOnOffIdMapping> larOnOffIdMappingHdl{m_LArOnOffIdMappingObjKey}; + larOnOffIdMapping = *larOnOffIdMappingHdl; + if ( larOnOffIdMapping == nullptr ) { + ATH_MSG_ERROR( "Failed to retrieve LArOnOffIdMapping object" ); + } + // MC symmetrization helper + const LArMCSym* larMCsym = nullptr; + SG::ReadCondHandle<LArMCSym> larMCsymHdl{m_LArMCSymObjKey}; + larMCsym = *larMCsymHdl; + if ( larMCsym == nullptr ) { + ATH_MSG_ERROR( "Failed to retrieve LArMCSym object" ); + } + + // Get pointers to inputs + // Retrieve validity ranges and determine their intersection + EventIDRange rangeAutoCorr; + + SG::ReadCondHandle<ILArAutoCorr> AutoCorrHdl{m_LArAutoCorrObjKey}; + const ILArAutoCorr* larAutoCorr{*AutoCorrHdl}; + if ( !AutoCorrHdl.range( rangeAutoCorr ) ) { + ATH_MSG_ERROR( "Failed to retrieve validity range for " << AutoCorrHdl.key() ); + } + + std::vector<std::map<HWIdentifier, std::vector<float>>> terms( m_nGains ); + + std::vector<HWIdentifier>::const_iterator it, it_e; + if ( !m_isSuperCell && m_MCsym ) { + it = larMCsym->symIds().begin(); + it_e = larMCsym->symIds().end(); + } else { + it = larOnlineID->channel_begin(); + it_e = larOnlineID->channel_end(); + } + + int count{0}; + + for ( ; it != it_e; ++it ) { + count++; + const HWIdentifier id = *it; + + if ( larOnOffIdMapping->isOnlineConnected( id ) ) { + // the Shape is a function of gain + for ( unsigned int igain = 0; igain < m_nGains; igain++ ) { + const ILArAutoCorr::AutoCorrRef_t AC = larAutoCorr->autoCorr( id, igain ); + + std::vector<float> vTerms; + const int size = m_nSampl * m_nSampl; + vTerms.resize( size ); + + // compute sqrt to covariance matrix + for ( int j = 0; j < m_nSampl; j++ ) { + // a) diagonal terms + double ck = 0.; + for ( int k = 0; k <= j - 1; k++ ) { + int index = j * m_nSampl + k; + ck = ck + vTerms[index] * vTerms[index]; + } + // diagonal term of autocorr matrix = 1 + vTerms[j * m_nSampl + j] = sqrt( std::fabs( 1. - ck ) ); + // b) off-diagonal terms + for ( int i = j + 1; i < m_nSampl; i++ ) { + double ck = 0; + for ( int k = 0; k <= j - 1; k++ ) { + int index1 = i * m_nSampl + k; + int index2 = j * m_nSampl + k; + ck = ck + vTerms[index1] * vTerms[index2]; + } + int index = i * m_nSampl + j; + int index2 = j * m_nSampl + j; + unsigned int index3 = ( i - j ) - 1; + double AutoCorr = 0.; + if ( index3 < ( AC.size() ) ) AutoCorr = AC[index3]; + vTerms[index] = ( AutoCorr - ck ) / vTerms[index2]; + } + } + + terms[igain][id] = vTerms; + + } //(loop on gains) + + } else // unconnected + for ( unsigned int igain = 0; igain < m_nGains; igain++ ) { + terms[igain][id] = std::vector<float>( 1, 0. ); + } + } + + ATH_MSG_INFO( "LArAutoCorrNoise: Ncell " << ( ( m_MCsym ) ? "w/ MCsym" : "w/o MCsym: " ) << count ); + ATH_MSG_DEBUG( "LArAutoCorrNoise: end of loop over cells" ); + + // Make output object + std::unique_ptr<LArAutoCorrNoise> larAutoCorrNoise = + std::make_unique<LArAutoCorrNoise>( std::move( terms ), larMCsym ); + + // Write + ATH_CHECK( writeHandle.record( rangeAutoCorr, larAutoCorrNoise.release() ) ); + + return StatusCode::SUCCESS; +} diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h new file mode 100644 index 00000000000..33fca304f7a --- /dev/null +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h @@ -0,0 +1,48 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LARAUTOCORRNOISECONDALG_H +#define LARAUTOCORRNOISECONDALG_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "GaudiKernel/ICondSvc.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/WriteCondHandleKey.h" + +#include "LArCabling/LArOnOffIdMapping.h" +#include "LArRawConditions/LArMCSym.h" + +#include "LArElecCalib/ILArAutoCorr.h" + +#include "LArRawConditions/LArAutoCorrNoise.h" + +class LArAutoCorrNoise; + +class LArAutoCorrNoiseCondAlg : public AthAlgorithm +{ +public: + LArAutoCorrNoiseCondAlg( const std::string& name, ISvcLocator* pSvcLocator ); + virtual ~LArAutoCorrNoiseCondAlg() override; + + virtual StatusCode initialize() override; + virtual StatusCode execute() override; + +private: + SG::ReadCondHandleKey<LArOnOffIdMapping> m_LArOnOffIdMappingObjKey; + SG::ReadCondHandleKey<LArMCSym> m_LArMCSymObjKey; + + SG::ReadCondHandleKey<ILArAutoCorr> m_LArAutoCorrObjKey; + + SG::WriteCondHandleKey<LArAutoCorrNoise> m_LArAutoCorrNoiseObjKey; + + ServiceHandle<ICondSvc> m_condSvc; + + bool m_isSuperCell; + bool m_MCsym; + + unsigned int m_nGains; + int m_nSampl; +}; + +#endif diff --git a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx index 631b3c08cd0..cbc62a02384 100644 --- a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx +++ b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx @@ -29,6 +29,7 @@ #include "../LArHVIdMappingAlg.h" #include "../LArHVCondAlg.h" #include "../LArHVScaleCorrCondAlg.h" +#include "../LArAutoCorrNoiseCondAlg.h" DECLARE_COMPONENT( LArADC2MeVTool ) @@ -90,3 +91,4 @@ DECLARE_COMPONENT( LArHVIdMappingAlg ) DECLARE_COMPONENT( LArOFCCondAlg ) DECLARE_COMPONENT( LArHVCondAlg ) DECLARE_COMPONENT( LArHVScaleCorrCondAlg ) +DECLARE_COMPONENT( LArAutoCorrNoiseCondAlg ) -- GitLab From 2d9a0fa44d88d620cf6c541b22260d3f616e1916 Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Mon, 5 Nov 2018 15:27:59 +0100 Subject: [PATCH 110/209] Trap Nan returned in BinnedLayerMaterialCnv_p1.cxx --- .../src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx | 5 +++-- .../TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h | 2 +- Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx b/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx index f9e41e9a43b..5167c183fea 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx +++ b/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx @@ -37,12 +37,13 @@ void BinnedLayerMaterialCnv_p1::persToTrans( const Trk::BinnedLayerMaterial_p1 * // create the material properties const Trk::MaterialProperties* mprop = createTransFromPStore( &materialCnv, persObj->materialMatrix[iid+matrixInnerDim*iod], mlog ); // check if the entry carries material or not - if (mprop && mprop->thicknessInX0() > 10e-5 && mprop->averageZ() > 1 ) + const bool carriesMaterial{mprop and not std::isnan(mprop->thicknessInX0()) and mprop->thicknessInX0()>10e-5 and mprop->averageZ() > 1}; + if (carriesMaterial) (transObj->m_fullMaterial)[iod][iid] = mprop; else { (transObj->m_fullMaterial)[iod][iid] = 0; delete mprop; // clear this instance and set to 0 - + mprop=nullptr; } } } diff --git a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h index d69e78a5e15..bb645a02b16 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h +++ b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h @@ -12,7 +12,7 @@ #include "TrkGeometry/Material.h" #include "GaudiKernel/MsgStream.h" //STD -#include <iostream> +#include <iosfwd> class MaterialPropertiesCnv_p1; diff --git a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx index f5cd135331a..2acbf28ad4e 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx +++ b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx @@ -7,7 +7,7 @@ /////////////////////////////////////////////////////////////////// #include "TrkGeometry/MaterialProperties.h" -#include <climits> +#include <iostream> Trk::MaterialProperties::MaterialProperties(): m_material(), -- GitLab From cf998a5c137efc5343d6ff83d563c3da7e372424 Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Mon, 5 Nov 2018 16:06:08 +0100 Subject: [PATCH 111/209] stop fpe of ATLASRECTS-4658 --- .../src/ImpactPoint3dEstimator.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx index 594a96f7215..959b8715da7 100755 --- a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx @@ -126,8 +126,8 @@ namespace Trk return _Estimate3dIPNoCurvature(neutralPerigee, theVertex); } - PlaneSurface* ImpactPoint3dEstimator::Estimate3dIP(const TrackParameters* trackPerigee,const Amg::Vector3D* theVertex) const - { + PlaneSurface* + ImpactPoint3dEstimator::Estimate3dIP(const TrackParameters* trackPerigee,const Amg::Vector3D* theVertex) const{ // clean up before any sanity checks so a return 0 corresponds to internal members reset too if (m_vertex!=0) { delete m_vertex; @@ -253,14 +253,14 @@ namespace Trk } while (isok==false); //now you have to construct the plane with PlaneSurface - //first vector at 3d impact point - - Amg::Vector3D MomentumDir(cos(phiactual)*sin(theta),sin(phiactual)*sin(theta),cos(theta)); - + Amg::Vector3D MomentumDir(std::cos(phiactual)*std::sin(theta),std::sin(phiactual)*std::sin(theta),std::cos(theta)); Amg::Vector3D DeltaR(x0-xc+Rt*cosphiactual,y0-yc+Rt*sinphiactual,z0-zc-Rt*cottheta*phiactual); m_distance=DeltaR.mag(); - ATH_MSG_INFO("m_distance : " <<m_distance); + if (m_distance==0.){ + ATH_MSG_WARNING("DeltaR is zero in ImpactPoint3dEstimator::Estimate3dIP, returning nullptr"); + return nullptr; + } DeltaR=DeltaR.unit(); -- GitLab From 875c208f0210adcd2e173aee19b46576482703fa Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Mon, 5 Nov 2018 16:29:39 +0100 Subject: [PATCH 112/209] adaptation after addFolders return only CA --- LArCalorimeter/LArCabling/python/LArCablingConfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LArCalorimeter/LArCabling/python/LArCablingConfig.py b/LArCalorimeter/LArCabling/python/LArCablingConfig.py index b5bd75e1711..79cdaa28e1c 100644 --- a/LArCalorimeter/LArCabling/python/LArCablingConfig.py +++ b/LArCalorimeter/LArCabling/python/LArCablingConfig.py @@ -23,7 +23,7 @@ def _larCablingCfg(configFlags,algo,folder): folderwithtag=folder result.addCondAlgo(algo(ReadKey=folder)) - result.merge(addFolders(configFlags,folderwithtag,className="AthenaAttributeList",detDb=db)[0]) + result.merge(addFolders(configFlags,folderwithtag,className="AthenaAttributeList",detDb=db)) return result,None -- GitLab From 5d1c37670327fe1f04c61adcbdc3c2ae898a764a Mon Sep 17 00:00:00 2001 From: Peter van Gemmeren <gemmeren@anl.gov> Date: Mon, 5 Nov 2018 14:33:41 -0600 Subject: [PATCH 113/209] Fixing some problems with the ROOOT TTree Index navigation and allow the setting of minor technology by container. Also update ref logs to not fail on minor technology difference. --- .../AthenaPoolMultiTestCheckCollections.ref | 360 +--- .../share/AthenaPoolMultiTestCheckOutput.ref | 312 ++-- .../share/AthenaPoolMultiTestEventSplit.ref | 2 +- .../share/CheckImplicit_jo.py | 2 +- .../share/EventSplit_jo.py | 3 +- .../share/IOVDbTestAlgWriteCool.py | 2 + .../share/IOVDbTestAlgWriteCoolStep2.py | 2 + .../share/IOVDbTestAlgWriteCoolStep3.py | 3 +- .../AthenaServices/src/AthenaOutputStream.cxx | 2 +- .../src/AthenaOutputStreamTool.cxx | 4 +- .../src/AthenaOutputStreamTool.h | 2 +- Database/APR/RootStorageSvc/src/RootOODb.h | 2 +- .../src/RootTreeIndexContainer.cpp | 27 +- .../src/RootTreeIndexContainer.h | 9 +- Database/APR/StorageSvc/src/DbType.cpp | 4 + .../AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h | 2 +- .../AthenaPoolCnvSvc/python/AthenaPool.py | 24 +- .../python/WriteAthenaPool.py | 1 - .../AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx | 23 +- .../AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h | 2 +- .../src/AthenaPoolConverter.cxx | 27 +- .../AthenaPoolCnvSvc/test/TestCnvSvcBase.icc | 2 +- .../CMakeLists.txt | 50 +- .../share/AthenaPoolExample_Append.ref | 22 +- .../share/AthenaPoolExample_Concat.ref | 28 +- .../share/AthenaPoolExample_Copy.ref | 156 +- .../share/AthenaPoolExample_Filter.ref | 172 +- .../share/AthenaPoolExample_RCond.ref | 154 +- .../share/AthenaPoolExample_RFilter.ref | 94 +- .../share/AthenaPoolExample_RMeta.ref | 152 +- .../share/AthenaPoolExample_ReWrite.ref | 244 +-- .../share/AthenaPoolExample_ReWriteAgain.ref | 250 +-- .../share/AthenaPoolExample_ReWriteNext.ref | 284 ++-- .../share/AthenaPoolExample_Read.ref | 1461 +++++----------- .../share/AthenaPoolExample_ReadAgain.ref | 1507 +++++------------ .../share/AthenaPoolExample_ReadConcat.ref | 1483 +++++----------- .../share/AthenaPoolExample_WCond.ref | 154 +- .../share/AthenaPoolExample_WMeta.ref | 16 +- .../share/AthenaPoolExample_Write.ref | 48 +- .../test/athenarun_test.sh.in | 2 + 40 files changed, 2340 insertions(+), 4754 deletions(-) diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref index d53594d306a..dc74bd020f9 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref @@ -167,15 +167,7 @@ ReadData INFO Hit x = 1823.7 y = -42.0 z = -1753.6 detector = DummyH ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyHitDetector ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -200,6 +192,7 @@ ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitD ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -209,15 +202,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -233,15 +217,7 @@ ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHit ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -266,6 +242,7 @@ ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHit ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -275,15 +252,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -299,15 +267,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -332,6 +292,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -341,15 +302,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -365,15 +317,7 @@ ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHit ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -398,6 +342,7 @@ ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHi ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -407,15 +352,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -431,15 +367,7 @@ ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyH ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -464,6 +392,7 @@ ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyH ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -473,15 +402,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -497,6 +417,7 @@ ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyH ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -521,15 +442,7 @@ ReadData INFO Hit x = 1626.9 y = -47.7 z = -1555.0 detector = DummyH ReadData INFO Hit x = 1630.1 y = -53.4 z = -1556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -554,6 +467,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -578,15 +492,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -611,15 +517,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -643,6 +541,7 @@ ReadData INFO Hit x = 423.7 y = -42.0 z = -353.6 detector = DummyHit ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHitDetector ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -652,15 +551,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -676,15 +566,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -709,6 +591,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -718,15 +601,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -751,15 +625,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -774,15 +639,7 @@ ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHit ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -807,6 +664,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -816,15 +674,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -849,15 +698,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -881,15 +721,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -904,15 +735,7 @@ ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyH ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -937,6 +760,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -961,15 +785,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -994,6 +810,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -1019,6 +836,7 @@ ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHit ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Others_ref +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1043,15 +861,7 @@ ReadData INFO Hit x = 26.9 y = -47.7 z = 44.9 detector = DummyHitDet ReadData INFO Hit x = 30.1 y = -53.4 z = 43.8 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1076,6 +886,7 @@ ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitD ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1085,15 +896,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1109,6 +911,7 @@ ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHit ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -1134,15 +937,7 @@ ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHit ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Others_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1167,6 +962,7 @@ ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHit ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1176,15 +972,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1200,6 +987,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1224,15 +1012,7 @@ ReadData INFO Hit x = 626.9 y = -47.7 z = -555.0 detector = DummyHit ReadData INFO Hit x = 630.1 y = -53.4 z = -556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1257,6 +1037,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1266,15 +1047,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1290,6 +1062,7 @@ ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHit ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1314,15 +1087,7 @@ ReadData INFO Hit x = 926.9 y = -47.7 z = -855.0 detector = DummyHit ReadData INFO Hit x = 930.1 y = -53.4 z = -856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1347,6 +1112,7 @@ ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHi ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1356,15 +1122,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1380,6 +1137,7 @@ ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyH ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1404,15 +1162,7 @@ ReadData INFO Hit x = 1226.9 y = -47.7 z = -1155.0 detector = DummyH ReadData INFO Hit x = 1230.1 y = -53.4 z = -1156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1437,6 +1187,7 @@ ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyH ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1446,15 +1197,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1470,6 +1212,7 @@ ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyH ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1517,15 +1260,7 @@ ReadData INFO Hit x = 1623.7 y = -42.0 z = -1553.6 detector = DummyH ReadData INFO Hit x = 1626.9 y = -47.7 z = -1555.0 detector = DummyHitDetector ReadData INFO Hit x = 1630.1 y = -53.4 z = -1556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1550,6 +1285,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1574,15 +1310,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1607,6 +1335,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1631,4 +1360,5 @@ ReadData INFO Hit x = 626.9 y = -47.7 z = -555.0 detector = DummyHit ReadData INFO Hit x = 630.1 y = -53.4 z = -556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref index 99b69224e8b..f73091addaa 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref @@ -157,15 +157,7 @@ ReadData INFO Hit x = 1820.4 y = -36.4 z = -1751.8 detector = DummyH ReadData INFO Hit x = 1823.7 y = -42.0 z = -1753.6 detector = DummyHitDetector ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyHitDetector ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -188,46 +180,6 @@ ReadData INFO Hit x = 120.4 y = -36.4 z = -51.8 detector = DummyHitD ReadData INFO Hit x = 123.7 y = -42.0 z = -53.6 detector = DummyHitDetector ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitDetector ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 201.2 y = -2.3 z = 26.6 detector = DummyHitDetector -ReadData INFO Hit x = 204.4 y = -8.0 z = -105.2 detector = DummyHitDetector -ReadData INFO Hit x = 207.6 y = -13.7 z = -129.7 detector = DummyHitDetector -ReadData INFO Hit x = 210.8 y = -19.3 z = -140.0 detector = DummyHitDetector -ReadData INFO Hit x = 214.0 y = -25.0 z = -145.7 detector = DummyHitDetector -ReadData INFO Hit x = 217.2 y = -30.7 z = -149.3 detector = DummyHitDetector -ReadData INFO Hit x = 220.4 y = -36.4 z = -151.8 detector = DummyHitDetector -ReadData INFO Hit x = 223.7 y = -42.0 z = -153.6 detector = DummyHitDetector -ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHitDetector -ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -250,46 +202,6 @@ ReadData INFO Hit x = 420.4 y = -36.4 z = -351.8 detector = DummyHit ReadData INFO Hit x = 423.7 y = -42.0 z = -353.6 detector = DummyHitDetector ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHitDetector ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 501.2 y = -2.3 z = -273.3 detector = DummyHitDetector -ReadData INFO Hit x = 504.4 y = -8.0 z = -405.2 detector = DummyHitDetector -ReadData INFO Hit x = 507.6 y = -13.7 z = -429.7 detector = DummyHitDetector -ReadData INFO Hit x = 510.8 y = -19.3 z = -440.0 detector = DummyHitDetector -ReadData INFO Hit x = 514.0 y = -25.0 z = -445.7 detector = DummyHitDetector -ReadData INFO Hit x = 517.2 y = -30.7 z = -449.3 detector = DummyHitDetector -ReadData INFO Hit x = 520.4 y = -36.4 z = -451.8 detector = DummyHitDetector -ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHitDetector -ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector -ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -312,46 +224,6 @@ ReadData INFO Hit x = 720.4 y = -36.4 z = -651.8 detector = DummyHit ReadData INFO Hit x = 723.7 y = -42.0 z = -653.6 detector = DummyHitDetector ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHitDetector ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 801.2 y = -2.3 z = -573.3 detector = DummyHitDetector -ReadData INFO Hit x = 804.4 y = -8.0 z = -705.2 detector = DummyHitDetector -ReadData INFO Hit x = 807.6 y = -13.7 z = -729.7 detector = DummyHitDetector -ReadData INFO Hit x = 810.8 y = -19.3 z = -740.0 detector = DummyHitDetector -ReadData INFO Hit x = 814.0 y = -25.0 z = -745.7 detector = DummyHitDetector -ReadData INFO Hit x = 817.2 y = -30.7 z = -749.3 detector = DummyHitDetector -ReadData INFO Hit x = 820.4 y = -36.4 z = -751.8 detector = DummyHitDetector -ReadData INFO Hit x = 823.7 y = -42.0 z = -753.6 detector = DummyHitDetector -ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHitDetector -ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -374,46 +246,6 @@ ReadData INFO Hit x = 1020.4 y = -36.4 z = -951.8 detector = DummyHi ReadData INFO Hit x = 1023.7 y = -42.0 z = -953.6 detector = DummyHitDetector ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHitDetector ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.2 y = -2.3 z = -873.3 detector = DummyHitDetector -ReadData INFO Hit x = 1104.4 y = -8.0 z = -1005.2 detector = DummyHitDetector -ReadData INFO Hit x = 1107.6 y = -13.7 z = -1029.7 detector = DummyHitDetector -ReadData INFO Hit x = 1110.8 y = -19.3 z = -1040.0 detector = DummyHitDetector -ReadData INFO Hit x = 1114.0 y = -25.0 z = -1045.7 detector = DummyHitDetector -ReadData INFO Hit x = 1117.2 y = -30.7 z = -1049.3 detector = DummyHitDetector -ReadData INFO Hit x = 1120.4 y = -36.4 z = -1051.8 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = -42.0 z = -1053.6 detector = DummyHitDetector -ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyHitDetector -ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap -ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -436,15 +268,28 @@ ReadData INFO Hit x = 1320.4 y = -36.4 z = -1251.8 detector = DummyH ReadData INFO Hit x = 1323.7 y = -42.0 z = -1253.6 detector = DummyHitDetector ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyHitDetector ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 +ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 9102, key = MyHits ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream3 +ReadData INFO CLID = 222376821, key = Stream2 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: +ReadData INFO EventInfo event: 17 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1701.2 y = -2.3 z = -1473.3 detector = DummyHitDetector +ReadData INFO Hit x = 1704.4 y = -8.0 z = -1605.2 detector = DummyHitDetector +ReadData INFO Hit x = 1707.6 y = -13.7 z = -1629.7 detector = DummyHitDetector +ReadData INFO Hit x = 1710.8 y = -19.3 z = -1640.0 detector = DummyHitDetector +ReadData INFO Hit x = 1714.0 y = -25.0 z = -1645.7 detector = DummyHitDetector +ReadData INFO Hit x = 1717.2 y = -30.7 z = -1649.3 detector = DummyHitDetector +ReadData INFO Hit x = 1720.4 y = -36.4 z = -1651.8 detector = DummyHitDetector +ReadData INFO Hit x = 1723.7 y = -42.0 z = -1653.6 detector = DummyHitDetector +ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyHitDetector +ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -454,19 +299,20 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream2 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 0 +ReadData INFO EventInfo event: 19 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.2 y = -2.3 z = -1173.3 detector = DummyHitDetector -ReadData INFO Hit x = 1404.4 y = -8.0 z = -1305.2 detector = DummyHitDetector -ReadData INFO Hit x = 1407.6 y = -13.7 z = -1329.7 detector = DummyHitDetector -ReadData INFO Hit x = 1410.8 y = -19.3 z = -1340.0 detector = DummyHitDetector -ReadData INFO Hit x = 1414.0 y = -25.0 z = -1345.7 detector = DummyHitDetector -ReadData INFO Hit x = 1417.2 y = -30.7 z = -1349.3 detector = DummyHitDetector -ReadData INFO Hit x = 1420.4 y = -36.4 z = -1351.8 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyHitDetector -ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector -ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector +ReadData INFO Hit x = 1901.2 y = -2.3 z = -1673.3 detector = DummyHitDetector +ReadData INFO Hit x = 1904.4 y = -8.0 z = -1805.2 detector = DummyHitDetector +ReadData INFO Hit x = 1907.6 y = -13.7 z = -1829.7 detector = DummyHitDetector +ReadData INFO Hit x = 1910.8 y = -19.3 z = -1840.0 detector = DummyHitDetector +ReadData INFO Hit x = 1914.0 y = -25.0 z = -1845.7 detector = DummyHitDetector +ReadData INFO Hit x = 1917.2 y = -30.7 z = -1849.3 detector = DummyHitDetector +ReadData INFO Hit x = 1920.4 y = -36.4 z = -1851.8 detector = DummyHitDetector +ReadData INFO Hit x = 1923.7 y = -42.0 z = -1853.6 detector = DummyHitDetector +ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyHitDetector +ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -476,28 +322,41 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 +ReadData INFO EventInfo event: 2 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 201.2 y = -2.3 z = 26.6 detector = DummyHitDetector +ReadData INFO Hit x = 204.4 y = -8.0 z = -105.2 detector = DummyHitDetector +ReadData INFO Hit x = 207.6 y = -13.7 z = -129.7 detector = DummyHitDetector +ReadData INFO Hit x = 210.8 y = -19.3 z = -140.0 detector = DummyHitDetector +ReadData INFO Hit x = 214.0 y = -25.0 z = -145.7 detector = DummyHitDetector +ReadData INFO Hit x = 217.2 y = -30.7 z = -149.3 detector = DummyHitDetector +ReadData INFO Hit x = 220.4 y = -36.4 z = -151.8 detector = DummyHitDetector +ReadData INFO Hit x = 223.7 y = -42.0 z = -153.6 detector = DummyHitDetector +ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHitDetector +ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 9102, key = MyHits ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 +ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 0 +ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.2 y = -2.3 z = -1473.3 detector = DummyHitDetector -ReadData INFO Hit x = 1704.4 y = -8.0 z = -1605.2 detector = DummyHitDetector -ReadData INFO Hit x = 1707.6 y = -13.7 z = -1629.7 detector = DummyHitDetector -ReadData INFO Hit x = 1710.8 y = -19.3 z = -1640.0 detector = DummyHitDetector -ReadData INFO Hit x = 1714.0 y = -25.0 z = -1645.7 detector = DummyHitDetector -ReadData INFO Hit x = 1717.2 y = -30.7 z = -1649.3 detector = DummyHitDetector -ReadData INFO Hit x = 1720.4 y = -36.4 z = -1651.8 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = -42.0 z = -1653.6 detector = DummyHitDetector -ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyHitDetector -ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector +ReadData INFO Hit x = 501.2 y = -2.3 z = -273.3 detector = DummyHitDetector +ReadData INFO Hit x = 504.4 y = -8.0 z = -405.2 detector = DummyHitDetector +ReadData INFO Hit x = 507.6 y = -13.7 z = -429.7 detector = DummyHitDetector +ReadData INFO Hit x = 510.8 y = -19.3 z = -440.0 detector = DummyHitDetector +ReadData INFO Hit x = 514.0 y = -25.0 z = -445.7 detector = DummyHitDetector +ReadData INFO Hit x = 517.2 y = -30.7 z = -449.3 detector = DummyHitDetector +ReadData INFO Hit x = 520.4 y = -36.4 z = -451.8 detector = DummyHitDetector +ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHitDetector +ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector +ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -507,28 +366,64 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 +ReadData INFO EventInfo event: 8 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 801.2 y = -2.3 z = -573.3 detector = DummyHitDetector +ReadData INFO Hit x = 804.4 y = -8.0 z = -705.2 detector = DummyHitDetector +ReadData INFO Hit x = 807.6 y = -13.7 z = -729.7 detector = DummyHitDetector +ReadData INFO Hit x = 810.8 y = -19.3 z = -740.0 detector = DummyHitDetector +ReadData INFO Hit x = 814.0 y = -25.0 z = -745.7 detector = DummyHitDetector +ReadData INFO Hit x = 817.2 y = -30.7 z = -749.3 detector = DummyHitDetector +ReadData INFO Hit x = 820.4 y = -36.4 z = -751.8 detector = DummyHitDetector +ReadData INFO Hit x = 823.7 y = -42.0 z = -753.6 detector = DummyHitDetector +ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHitDetector +ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 9102, key = MyHits ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap ReadData INFO CLID = 1287802, key = MultiTestTrigMap -ReadData INFO CLID = 222376821, key = Stream2 +ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 0 +ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.2 y = -2.3 z = -1673.3 detector = DummyHitDetector -ReadData INFO Hit x = 1904.4 y = -8.0 z = -1805.2 detector = DummyHitDetector -ReadData INFO Hit x = 1907.6 y = -13.7 z = -1829.7 detector = DummyHitDetector -ReadData INFO Hit x = 1910.8 y = -19.3 z = -1840.0 detector = DummyHitDetector -ReadData INFO Hit x = 1914.0 y = -25.0 z = -1845.7 detector = DummyHitDetector -ReadData INFO Hit x = 1917.2 y = -30.7 z = -1849.3 detector = DummyHitDetector -ReadData INFO Hit x = 1920.4 y = -36.4 z = -1851.8 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = -42.0 z = -1853.6 detector = DummyHitDetector -ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyHitDetector -ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector +ReadData INFO Hit x = 1101.2 y = -2.3 z = -873.3 detector = DummyHitDetector +ReadData INFO Hit x = 1104.4 y = -8.0 z = -1005.2 detector = DummyHitDetector +ReadData INFO Hit x = 1107.6 y = -13.7 z = -1029.7 detector = DummyHitDetector +ReadData INFO Hit x = 1110.8 y = -19.3 z = -1040.0 detector = DummyHitDetector +ReadData INFO Hit x = 1114.0 y = -25.0 z = -1045.7 detector = DummyHitDetector +ReadData INFO Hit x = 1117.2 y = -30.7 z = -1049.3 detector = DummyHitDetector +ReadData INFO Hit x = 1120.4 y = -36.4 z = -1051.8 detector = DummyHitDetector +ReadData INFO Hit x = 1123.7 y = -42.0 z = -1053.6 detector = DummyHitDetector +ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyHitDetector +ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 222376821, key = Stream3 +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 14 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1401.2 y = -2.3 z = -1173.3 detector = DummyHitDetector +ReadData INFO Hit x = 1404.4 y = -8.0 z = -1305.2 detector = DummyHitDetector +ReadData INFO Hit x = 1407.6 y = -13.7 z = -1329.7 detector = DummyHitDetector +ReadData INFO Hit x = 1410.8 y = -19.3 z = -1340.0 detector = DummyHitDetector +ReadData INFO Hit x = 1414.0 y = -25.0 z = -1345.7 detector = DummyHitDetector +ReadData INFO Hit x = 1417.2 y = -30.7 z = -1349.3 detector = DummyHitDetector +ReadData INFO Hit x = 1420.4 y = -36.4 z = -1351.8 detector = DummyHitDetector +ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyHitDetector +ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector +ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -552,4 +447,5 @@ ReadData INFO Hit x = 320.4 y = -36.4 z = -251.8 detector = DummyHit ReadData INFO Hit x = 323.7 y = -42.0 z = -253.6 detector = DummyHitDetector ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHitDetector ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref index 6c731e098d6..7b4f8a6b074 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref @@ -32,7 +32,7 @@ DecisionSvc INFO Inserting stream: Stream3 with no Algs Stream3.Stream3... INFO Initializing Stream3.Stream3Tool - package version AthenaServices-00-00-00 Stream3.Stream3... INFO Initializing Stream3.Stream3_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00 Stream3 INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream3_MakeEventStreamInfo']) -Stream3 INFO Data output: AthenaPoolMultiTest_Split2.root +Stream3 INFO Data output: AthenaPoolMultiTest_Split3.root Stream3 INFO I/O reinitialization... DecisionSvc INFO Inserting stream: Others with no Algs Others.OthersTool INFO Initializing Others.OthersTool - package version AthenaServices-00-00-00 diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py index 359987ab30e..2d4be1668e1 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py @@ -52,7 +52,7 @@ try: except: svcMgr.EventSelector.InputCollections = [ "AthenaPoolMultiTest_Split1.root" ]; svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split2.root" ]; -# EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split3.root" ]; + svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split3.root" ]; svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Missed.root" ]; #-------------------------------------------------------------- diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py index bf31cf15371..5e6fadb71ce 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py @@ -125,7 +125,7 @@ Stream2 = AthenaPoolOutputStream( "Stream2", "AthenaPoolMultiTest_Split2.root", Stream2.CheckNumberOfWrites = False Stream1 = AthenaPoolOutputStream( "Stream1", "AthenaPoolMultiTest_Split1.root", True, noTag=True ) Stream1.CheckNumberOfWrites = False -Stream3 = AthenaPoolOutputStream( "Stream3", "AthenaPoolMultiTest_Split2.root", True, noTag=True ) +Stream3 = AthenaPoolOutputStream( "Stream3", "AthenaPoolMultiTest_Split3.root", True, noTag=True ) Stream3.CheckNumberOfWrites = False Others = AthenaPoolOutputStream( "Others", "AthenaPoolMultiTest_Missed.root", True, noTag=True ) Others.CheckNumberOfWrites = False @@ -148,7 +148,6 @@ Stream1.TakeItemsFromInput = True Stream1.ForceRead=TRUE Stream1.AcceptAlgs = ["Splitter1"] # bit 3 -# --- NOTE that this writes to the same file as STream2 *** Stream3.TakeItemsFromInput = True #Stream3.MetadataItemList += exampleMetadataList Stream3.ForceRead=TRUE diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py index 5fbfd58f7d1..fa7b4746d40 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py @@ -127,6 +127,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # AthenaPool details diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py index d3b8ac3fbe1..42b834a9f0c 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py @@ -116,6 +116,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # AthenaPool details diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py index 6d4ed45abae..872b368e51c 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py @@ -122,7 +122,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool - +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # Use AthenaOutputStreamTool to write diff --git a/Control/AthenaServices/src/AthenaOutputStream.cxx b/Control/AthenaServices/src/AthenaOutputStream.cxx index 05c3c09b33f..9423341a5b3 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.cxx +++ b/Control/AthenaServices/src/AthenaOutputStream.cxx @@ -348,7 +348,7 @@ StatusCode AthenaOutputStream::stop() throw GaudiException("Unable to connect metadata services", name(), StatusCode::FAILURE); } m_checkNumberOfWrites = false; - m_outputAttributes = "[OutputCollection=MetaDataHdr][PoolContainerPrefix=MetaData][AttributeListKey=][DataHeaderSatellites=]"; + m_outputAttributes = "[OutputCollection=ROOTTREE:MetaDataHdr][PoolContainerPrefix=ROOTTREE:MetaData][AttributeListKey=]"; m_p2BWritten->clear(); IProperty *pAsIProp(nullptr); if ((m_p2BWritten.retrieve()).isFailure() || diff --git a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx index 11ae6e01eed..24ad48aff0e 100644 --- a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx +++ b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx @@ -109,7 +109,7 @@ StatusCode AthenaOutputStreamTool::connectServices(const std::string& dataStore, // Release old data store if (m_store.isValid()) { if (m_store.release().isFailure()) { - ATH_MSG_ERROR("PETER: Could not release " << m_store.type() << " store"); + ATH_MSG_ERROR("Could not release " << m_store.type() << " store"); } } m_store = ServiceHandle<StoreGateSvc>(dataStore, this->name()); @@ -130,7 +130,7 @@ StatusCode AthenaOutputStreamTool::connectServices(const std::string& dataStore, StatusCode AthenaOutputStreamTool::connectServices() { // Find the data store if (m_store.retrieve().isFailure() || m_store == 0) { - ATH_MSG_ERROR("PETER: Could not locate " << m_store.type() << " store"); + ATH_MSG_ERROR("Could not locate " << m_store.type() << " store"); return(StatusCode::FAILURE); } return(StatusCode::SUCCESS); diff --git a/Control/AthenaServices/src/AthenaOutputStreamTool.h b/Control/AthenaServices/src/AthenaOutputStreamTool.h index 6e7099d481d..be8fc2dc2df 100644 --- a/Control/AthenaServices/src/AthenaOutputStreamTool.h +++ b/Control/AthenaServices/src/AthenaOutputStreamTool.h @@ -50,7 +50,7 @@ public: /// Connect to the output stream /// Must connectOutput BEFORE streaming /// Only specify "outputName" if one wants to override jobOptions - StatusCode connectOutput(const std::string& outputName); + StatusCode connectOutput(const std::string& outputName = ""); /// Commit the output stream after having streamed out objects /// Must commitOutput AFTER streaming diff --git a/Database/APR/RootStorageSvc/src/RootOODb.h b/Database/APR/RootStorageSvc/src/RootOODb.h index c686d1ada6c..41ce3715f26 100755 --- a/Database/APR/RootStorageSvc/src/RootOODb.h +++ b/Database/APR/RootStorageSvc/src/RootOODb.h @@ -79,7 +79,7 @@ namespace pool { /// Standard Constructor RootOOTreeIndex() : RootOODb(ROOTTREEINDEX_StorageType) { } /// Label of the specific class - static const char* catalogLabel() { return "ROOT_TreeIndex"; } + static const char* catalogLabel() { return "ROOT_Tree"; } }; } // end namespace pool diff --git a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp index 9ceaf9f778c..dedcc116ab9 100644 --- a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp +++ b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp @@ -32,17 +32,38 @@ long long int RootTreeIndexContainer::nextRecordId() { s = s << 32; if (m_tree != nullptr) { if (m_index_foreign != nullptr) { - s += m_index_foreign->GetEntries(); + s += m_index_foreign->GetEntries(); } else { m_index_foreign = (TBranch*)m_tree->GetBranch("index_ref"); if (m_index_foreign != nullptr) { - s += m_index_foreign->GetEntries(); + s += m_index_foreign->GetEntries(); + } else { + s += RootTreeContainer::nextRecordId(); } } } return s; } +DbStatus RootTreeIndexContainer::writeObject(TransactionStack::value_type& ent) { + long long int s = 0; + if( m_tree != nullptr && isBranchContainer() ) { + TBranch * pBranch = m_tree->GetBranch(m_branchName.c_str()); + if (pBranch != nullptr) s = pBranch->GetEntries(); + } else { + s = m_tree->GetEntries(); + } + if (m_index_ref != nullptr && s >= m_index_ref->GetEntries()) { + *m_index = this->nextRecordId(); + m_index_ref->SetAddress(m_index); + if (this->isBranchContainer()) m_index_ref->Fill(); + } + if( isBranchContainer() && !m_treeFillMode ) m_tree->SetEntries(s); + DbStatus status = RootTreeContainer::writeObject(ent); + if( isBranchContainer() && !m_treeFillMode ) m_tree->SetEntries(s + 1); + return status; +} + DbStatus RootTreeIndexContainer::transAct(Transaction::Action action) { if (action == Transaction::TRANSACT_COMMIT) { if (m_tree == nullptr) return Error; @@ -50,11 +71,13 @@ DbStatus RootTreeIndexContainer::transAct(Transaction::Action action) { if (m_index_foreign == nullptr && m_tree->GetBranch("index_ref") == nullptr) { m_index_ref = (TBranch*)m_tree->Branch("index_ref", m_index); } +/* if (m_index_ref != nullptr && RootTreeContainer::size() > m_index_ref->GetEntries()) { *m_index = this->nextRecordId(); m_index_ref->SetAddress(m_index); if (!m_treeFillMode) m_index_ref->Fill(); } +*/ } } DbStatus status = RootTreeContainer::transAct(action); diff --git a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h index 84b5e6334d9..1a06600a861 100644 --- a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h +++ b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h @@ -42,9 +42,6 @@ namespace pool { /// Number of entries within the container virtual long long int nextRecordId(); - /// Execute Transaction action - virtual DbStatus transAct(Transaction::Action action); - /// Find object by object identifier and load it into memory /** @param call [IN] Callback to load data * @param oid [OUT] Object OID @@ -56,6 +53,12 @@ namespace pool { Token::OID_t& oid, DbAccessMode mode); + /// Commit single entry to container + virtual DbStatus writeObject(TransactionStack::value_type& entry); + + /// Execute Transaction action + virtual DbStatus transAct(Transaction::Action action); + private: /// Pointer to index branch TBranch* m_index_ref; diff --git a/Database/APR/StorageSvc/src/DbType.cpp b/Database/APR/StorageSvc/src/DbType.cpp index bbeac4c4863..487106b615b 100644 --- a/Database/APR/StorageSvc/src/DbType.cpp +++ b/Database/APR/StorageSvc/src/DbType.cpp @@ -20,6 +20,8 @@ DbType DbType::getType(const std::string& name) { return ROOTKEY_StorageType; else if ( "ROOT_Tree" == name ) return ROOTTREE_StorageType; + else if ( "ROOT_TreeIndex" == name ) + return ROOTTREEINDEX_StorageType; else if ( "ROOT_All" == name ) return ROOT_StorageType; else if ( "POOL_RDBMS" == name ) @@ -61,6 +63,8 @@ const std::string DbType::storageName() const { return "ROOT_Key"; else if ( match(ROOTTREE_StorageType) ) return "ROOT_Tree"; + else if ( match(ROOTTREEINDEX_StorageType) ) + return "ROOT_Tree"; else if ( *this == ROOT_StorageType ) return "ROOT_All"; else if ( match( POOL_RDBMS_HOMOGENEOUS_StorageType ) ) diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h index 56249c82a4f..7a1f80cde02 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h @@ -51,7 +51,7 @@ public: const std::string& key = "") const = 0; /// Access to the technology type for the current output connection - virtual pool::DbType technologyType() const = 0; + virtual pool::DbType technologyType(const std::string& containerName) const = 0; /// @return pointer to PoolSvc instance. virtual IPoolSvc* getPoolSvc() = 0; diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py index 068aad0e61e..69225eb1809 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py @@ -2,7 +2,7 @@ ## @file AthenaPool_jobOptions.py ## @brief Core job options file for AthenaPOOL to setup the basic sercives. -## @author Peter van Gemmeren <gemmeren@bnl.gov> +## @author Peter van Gemmeren <gemmeren@anl.gov> ## $Id: AthenaPool.py,v 1.10 2008-11-18 22:44:00 binet Exp $ ############################################################### # @@ -36,34 +36,12 @@ def _loadBasicAthenaPool(): svcMgr += CfgMgr.AthenaPoolCnvSvc() - """ - from AthenaCommon.AppMgr import theApp - theApp.Dlls += [ - ## FIXME - # needed: why isn't this guy being picked up through genmap ?? - "DBDataModelAthenaPoolPoolCnv", - ] - """ - if not hasattr (svcMgr, 'EventPersistencySvc'): svcMgr += CfgMgr.EvtPersistencySvc( "EventPersistencySvc" ) svcMgr.EventPersistencySvc.CnvServices += [ "AthenaPoolCnvSvc" ] if not hasattr (svcMgr, 'ProxyProviderSvc'): svcMgr += CfgMgr.ProxyProviderSvc() - """ - # - # Make sure AthenaSealSvc is loaded for dict check - svcMgr += CfgMgr.AthenaSealSvc() - - # - # Make sure AthenaPoolServices is loaded for custom streamer - svcMgr += CfgMgr.AthenaRootStreamerSvc() - - # Load streamer allowing conversion of old CLHEP classes - import AtlasSealCLHEP.OldCLHEPStreamers - """ - # Add in MetaDataSvc svcMgr += CfgMgr.MetaDataSvc( "MetaDataSvc" ) diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py index a6416a64c40..9b3b086c186 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py @@ -45,7 +45,6 @@ def _configureWriteAthenaPool(): svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'POOLContainerForm(DataHeaderForm)'; BRANCH_BASKET_SIZE = '1024000'" ] svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'TTree=POOLContainerForm(DataHeaderForm)'; CONTAINER_SPLITLEVEL = '99'" ] - svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "CollectionTree" svcMgr.AthenaPoolCnvSvc.TopLevelContainerName = "" svcMgr.AthenaPoolCnvSvc.SubLevelBranchName = "<type>/<key>" diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx index f9fe7223de9..a6d2834afad 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx @@ -277,10 +277,16 @@ StatusCode AthenaPoolCnvSvc::connectOutput(const std::string& outputConnectionSp StatusCode AthenaPoolCnvSvc::connectOutput(const std::string& outputConnectionSpec) { // This is called before DataObjects are being converted. // Reset streaming parameters to CnvSvc properties. - m_dhContainerPrefix = "POOLContainer"; m_containerPrefix = m_containerPrefixProp.value(); m_containerNameHint = m_containerNameHintProp.value(); m_branchNameHint = m_branchNameHintProp.value(); + // Get Technology from m_containerPrefix + std::size_t colonPos = m_containerPrefix.find(":"); + if (colonPos != std::string::npos) { + m_dhContainerPrefix = m_containerPrefix.substr(0, colonPos + 1) + "POOLContainer"; + } else { + m_dhContainerPrefix = "POOLContainer"; + } // Override streaming parameters from StreamTool if requested. std::string::size_type pos1 = outputConnectionSpec.find("["); @@ -644,7 +650,14 @@ std::string AthenaPoolCnvSvc::getOutputContainer(const std::string& typeName, return(ret); } //______________________________________________________________________________ -pool::DbType AthenaPoolCnvSvc::technologyType() const { +pool::DbType AthenaPoolCnvSvc::technologyType(const std::string& containerName) const { + if (containerName.find("ROOTKEY:") == 0) { + return(pool::DbType(pool::ROOTKEY_StorageType)); + } else if (containerName.find("ROOTTREE:") == 0) { + return(pool::DbType(pool::ROOTTREE_StorageType)); + } else if (containerName.find("ROOTTREEINDEX:") == 0) { + return(pool::DbType(pool::ROOTTREEINDEX_StorageType)); + } return(m_dbType); } //__________________________________________________________________________ @@ -1106,8 +1119,8 @@ AthenaPoolCnvSvc::AthenaPoolCnvSvc(const std::string& name, ISvcLocator* pSvcLoc ::AthCnvSvc(name, pSvcLocator, POOL_StorageType), m_dbType(), m_outputConnectionSpec(), - m_dhContainerPrefix("POOLContainer"), - m_collContainerPrefix("POOLCollectionTree"), + m_dhContainerPrefix(), + m_collContainerPrefix("ROOTTREE:POOLCollectionTree"), m_lastFileName(), m_poolSvc("PoolSvc", name), m_chronoStatSvc("ChronoStatSvc", name), @@ -1122,7 +1135,7 @@ AthenaPoolCnvSvc::AthenaPoolCnvSvc(const std::string& name, ISvcLocator* pSvcLoc m_domainMaxFileSize(10000000000LL), m_doChronoStat(true) { declareProperty("UseDetailChronoStat", m_useDetailChronoStat = false); - declareProperty("PoolContainerPrefix", m_containerPrefixProp = "CollectionTree"); + declareProperty("PoolContainerPrefix", m_containerPrefixProp = "ROOTTREE:CollectionTree"); declareProperty("TopLevelContainerName", m_containerNameHintProp = ""); declareProperty("SubLevelBranchName", m_branchNameHintProp = "<type>/<key>"); declareProperty("PoolAttributes", m_poolAttr); diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h index 11bdea8b082..cb0cdea9620 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h @@ -88,7 +88,7 @@ public: std::string getOutputContainer(const std::string& typeName, const std::string& key = "") const; /// Access to the technology type for the current output connection - pool::DbType technologyType() const; + pool::DbType technologyType(const std::string& containerName) const; /// @return pointer to PoolSvc instance. IPoolSvc* getPoolSvc(); diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx index 9e3d65c22ef..885d503ece7 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx @@ -175,25 +175,24 @@ void AthenaPoolConverter::setPlacementWithType(const std::string& tname, const s // Create placement for this converter if needed m_placement = new Placement(); } - // Use technology from AthenaPoolCnvSvc - if (m_athenaPoolCnvSvc->technologyType().type() == 0) { - // error if type is 0 - ATH_MSG_WARNING("technology UNDEFINED for type " << tname); - } - m_placement->setTechnology(m_athenaPoolCnvSvc->technologyType().type()); // Set DB and Container names - const std::string fileName = m_athenaPoolCnvSvc->getOutputConnectionSpec(); - m_placement->setFileName(fileName); + m_placement->setFileName(m_athenaPoolCnvSvc->getOutputConnectionSpec()); + std::string containerName; if (key.empty()) { // No key will result in a separate tree by type for the data object - m_placement->setContainerName(m_athenaPoolCnvSvc->getOutputContainer(tname)); + containerName = m_athenaPoolCnvSvc->getOutputContainer(tname); } else if (m_placementHints.find(tname + key) != m_placementHints.end()) { // PlacementHint already generated? - m_placement->setContainerName(m_placementHints[tname + key]); + containerName = m_placementHints[tname + key]; } else { // Generate PlacementHint - const std::string containerName = m_athenaPoolCnvSvc->getOutputContainer(tname, key); - const std::pair<std::string, std::string> entry(key, containerName); - m_placementHints.insert(entry); - m_placement->setContainerName(containerName); + containerName = m_athenaPoolCnvSvc->getOutputContainer(tname, key); + m_placementHints.insert(std::pair<std::string, std::string>(key, containerName)); + } + m_placement->setTechnology(m_athenaPoolCnvSvc->technologyType(containerName).type()); + // Remove Technology from containerName + std::size_t colonPos = containerName.find(":"); + if (colonPos != std::string::npos) { + containerName.erase(0, colonPos + 1); } + m_placement->setContainerName(containerName); } //__________________________________________________________________________ const DataObject* AthenaPoolConverter::getDataObject() const { diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc b/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc index 054ea5cc3f3..802ec5fcc9f 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc @@ -32,7 +32,7 @@ public: virtual std::string getOutputContainer(const std::string& /*typeName*/, const std::string& /*key*/ = "") const override { std::abort(); } - virtual pool::DbType technologyType() const override + virtual pool::DbType technologyType(const std::string& /*containerName*/) const override { std::abort(); } virtual IPoolSvc* getPoolSvc() override { std::abort(); } diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt index 9403d72601c..dd17332f886 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt @@ -75,62 +75,64 @@ endfunction( _add_test ) # Write 'Hits', with multistreamand TAGs _add_test( AthenaPoolExample_Write "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_WriteJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) # Append to existing file -_add_test( AthenaPoolExample_Append - "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) +#_add_test( AthenaPoolExample_Append +# "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" +# DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest +# EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read 'Hits' and write 'Tracks' _add_test( AthenaPoolExample_ReWrite "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Append_ctest ) +# DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Append_ctest + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read all output _add_test( AthenaPoolExample_Read "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWrite_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWrite_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Copy 'Hits' file without extending provenance _add_test( AthenaPoolExample_Copy "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_CopyJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Read_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read copied 'Hits' and write 'Tracks' _add_test( AthenaPoolExample_ReWriteAgain "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteAgainJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Copy_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Unable to register collection" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) _add_test( AthenaPoolExample_ReWriteNext "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteNextJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteAgain_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteAgain_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read via TAGs and use query to filter events _add_test( AthenaPoolExample_Filter "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_FilterJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteNext_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteNext_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) _add_test( AthenaPoolExample_RFilter "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RFilterJobOptions.py" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Filter_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Filter_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read all (including bad files, skipped for now expected failure) _add_test( AthenaPoolExample_ReadAgain "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Concatenate jobs write 'Hits' and 'Tracks' to different streams _add_test( AthenaPoolExample_Concat "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ConcatJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest AthenaPoolExampleAlgorithms_AthenaPoolExample_ReadAgain_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) _add_test( AthenaPoolExample_ReadConcat "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Concat_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Concat_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Testing 'Conditions' I/O _add_test( AthenaPoolExample_WCond @@ -140,15 +142,15 @@ _add_test( AthenaPoolExample_WCond _add_test( AthenaPoolExample_RCond "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RCondJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_WCond_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Testing 'Metadata' I/O _add_test( AthenaPoolExample_WMeta "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_WMetaJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RCond_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) _add_test( AthenaPoolExample_RMeta "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RMetaJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_WMeta_ctest - EXTRA_PATTERNS "Bytes:|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref index 7eadff74abe..4106ae392fc 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref @@ -122,25 +122,25 @@ SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_All] ##Params @@ -437,7 +437,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (d , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) MetaDataHdrForm... DEBUG Opening diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref index 33f8792539f..a51856d400a 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref @@ -165,7 +165,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventInfo_p4 @@ -177,7 +177,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:ExampleHitContainer_p1 @@ -189,7 +189,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeaderForm_p5 @@ -201,7 +201,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeader_p5 @@ -270,7 +270,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -282,7 +282,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -292,7 +292,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -302,7 +302,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -1255,7 +1255,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventStreamInfo_p3 @@ -1265,14 +1265,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 @@ -1287,7 +1287,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -1297,14 +1297,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref index 132c0ec3050..70c40f14acf 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref @@ -83,27 +83,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -161,9 +161,9 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile1. ClassIDSvc INFO getRegistryEntries: read 339 CLIDRegistry entries for module ALL EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -235,7 +235,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:EventInfo_p4 @@ -245,7 +245,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:ExampleHitContainer_p1 @@ -255,7 +255,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:DataHeaderForm_p5 @@ -265,7 +265,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:DataHeader_p5 @@ -275,9 +275,9 @@ AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: Sim AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -294,9 +294,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 2 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -313,9 +313,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 3 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -332,9 +332,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 4 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -351,9 +351,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 5 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -370,9 +370,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 6 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -389,9 +389,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 7 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -408,9 +408,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 8 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -427,9 +427,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 9 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -446,9 +446,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 10 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -465,9 +465,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 11 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -484,9 +484,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 12 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -503,9 +503,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 13 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -522,9 +522,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 14 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -541,9 +541,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 15 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -560,9 +560,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 16 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -579,9 +579,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 17 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -598,9 +598,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 18 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -617,9 +617,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 19 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -651,7 +651,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:EventStreamInfo_p3 @@ -661,14 +661,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref index 7c56942fd9a..e42c78f9eb3 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref @@ -88,27 +88,27 @@ SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -205,33 +205,33 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for FID:???? MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 1 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 2 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 3 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 4 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -316,7 +316,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventInfo_p4 @@ -326,7 +326,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -336,7 +336,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeaderForm_p5 @@ -346,7 +346,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeader_p5 @@ -357,10 +357,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") @@ -369,9 +369,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -404,19 +404,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -449,19 +449,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -494,19 +494,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -539,19 +539,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -584,19 +584,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -629,19 +629,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -674,19 +674,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -719,19 +719,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -764,10 +764,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") @@ -791,7 +791,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventStreamInfo_p3 @@ -801,14 +801,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? Stream1 INFO Records written: 11 RegStream1.TagTool INFO Collection Events output: 10 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref index fc6911d49bd..577351219ce 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref @@ -85,19 +85,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -161,11 +161,11 @@ SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -211,19 +211,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -259,9 +259,9 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -333,9 +333,9 @@ ReadData INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = Dumm AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -366,9 +366,9 @@ ReadData INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = Dum AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -399,9 +399,9 @@ ReadData INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -432,9 +432,9 @@ ReadData INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -465,9 +465,9 @@ ReadData INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -498,9 +498,9 @@ ReadData INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -531,9 +531,9 @@ ReadData INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -564,9 +564,9 @@ ReadData INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -597,9 +597,9 @@ ReadData INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -630,9 +630,9 @@ ReadData INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -663,9 +663,9 @@ ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -696,9 +696,9 @@ ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -729,9 +729,9 @@ ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -762,9 +762,9 @@ ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -795,9 +795,9 @@ ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -828,9 +828,9 @@ ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -861,9 +861,9 @@ ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -894,9 +894,9 @@ ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -927,9 +927,9 @@ ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref index 5c3a3102a89..1d755d951d2 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref @@ -71,10 +71,10 @@ EventSelector DEBUG Try item: "SimplePoolCollection5.root" from the collec ApplicationMgr INFO Application Manager Started successfully EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO SimplePoolFile5.root @@ -99,19 +99,19 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -161,10 +161,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -179,10 +179,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -197,10 +197,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -215,10 +215,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -233,10 +233,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -251,10 +251,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -269,10 +269,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -287,10 +287,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -305,10 +305,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref index 96c3bfd9bfa..fa7467e242f 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref @@ -83,21 +83,21 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 9 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -174,21 +174,21 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 9 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -234,9 +234,9 @@ MetaDataSvc.Ath... DEBUG handle() BeginInputFile MetaDataSvc.Ath... DEBUG handle() BeginInputFile for SimplePoolFile5.root EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -288,9 +288,9 @@ ReadData INFO Hit x = 30.1245 y = -53.4551 z = 43.831 detector = Dum AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -319,9 +319,9 @@ ReadData INFO Hit x = 130.125 y = -53.4551 z = -56.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #1, run #0 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -350,9 +350,9 @@ ReadData INFO Hit x = 230.125 y = -53.4551 z = -156.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #2, run #0 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -381,9 +381,9 @@ ReadData INFO Hit x = 330.125 y = -53.4551 z = -256.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #3, run #0 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -412,9 +412,9 @@ ReadData INFO Hit x = 430.125 y = -53.4551 z = -356.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #4, run #0 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -443,9 +443,9 @@ ReadData INFO Hit x = 530.125 y = -53.4551 z = -456.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #5, run #0 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -474,9 +474,9 @@ ReadData INFO Hit x = 630.125 y = -53.4551 z = -556.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #6, run #0 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -505,9 +505,9 @@ ReadData INFO Hit x = 730.125 y = -53.4551 z = -656.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #7, run #0 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -536,9 +536,9 @@ ReadData INFO Hit x = 830.125 y = -53.4551 z = -756.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #8, run #0 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -567,9 +567,9 @@ ReadData INFO Hit x = 930.125 y = -53.4551 z = -856.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #9, run #0 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -598,9 +598,9 @@ ReadData INFO Hit x = 1030.12 y = -53.4551 z = -956.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #10, run #0 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -629,9 +629,9 @@ ReadData INFO Hit x = 1130.12 y = -53.4551 z = -1056.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #11, run #0 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -660,9 +660,9 @@ ReadData INFO Hit x = 1230.12 y = -53.4551 z = -1156.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #12, run #0 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -691,9 +691,9 @@ ReadData INFO Hit x = 1330.12 y = -53.4551 z = -1256.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #13, run #0 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -722,9 +722,9 @@ ReadData INFO Hit x = 1430.12 y = -53.4551 z = -1356.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #14, run #0 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -753,9 +753,9 @@ ReadData INFO Hit x = 1530.12 y = -53.4551 z = -1456.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #15, run #0 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -784,9 +784,9 @@ ReadData INFO Hit x = 1630.12 y = -53.4551 z = -1556.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #16, run #0 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -815,9 +815,9 @@ ReadData INFO Hit x = 1730.12 y = -53.4551 z = -1656.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #17, run #0 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -846,9 +846,9 @@ ReadData INFO Hit x = 1830.12 y = -53.4551 z = -1756.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #18, run #0 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref index 202ff7c4506..ce6d0875847 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref @@ -85,27 +85,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -215,9 +215,9 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -344,7 +344,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -356,7 +356,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -366,7 +366,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -376,7 +376,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -386,7 +386,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:Token @@ -396,7 +396,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:unsigned int @@ -406,14 +406,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm) @@ -421,8 +421,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -431,9 +431,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -502,17 +502,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -581,17 +581,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -660,17 +660,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -739,17 +739,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -818,17 +818,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -897,17 +897,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -976,17 +976,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1055,17 +1055,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1134,17 +1134,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1213,17 +1213,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1292,17 +1292,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1371,17 +1371,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1450,17 +1450,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1529,17 +1529,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1608,17 +1608,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1687,17 +1687,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1766,17 +1766,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1845,17 +1845,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1924,8 +1924,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -1950,7 +1950,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -1960,14 +1960,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 RegStream1.TagTool INFO Collection Events output: 20 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref index 06f5e43618f..5345ddaa2b0 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref @@ -80,19 +80,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -223,19 +223,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -271,9 +271,9 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -394,7 +394,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -406,7 +406,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -416,7 +416,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -426,7 +426,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -438,7 +438,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:Token @@ -450,7 +450,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:unsigned int @@ -460,14 +460,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm) @@ -475,8 +475,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -485,9 +485,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -557,17 +557,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -636,17 +636,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -715,17 +715,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -794,17 +794,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -873,17 +873,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -952,17 +952,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1031,17 +1031,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1110,17 +1110,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1189,17 +1189,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1268,17 +1268,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1347,17 +1347,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1426,17 +1426,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1505,17 +1505,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1584,17 +1584,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1663,17 +1663,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1742,17 +1742,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1821,17 +1821,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1900,17 +1900,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1979,8 +1979,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -2005,7 +2005,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -2015,14 +2015,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 RegStream1.TagTool INFO Collection Events output: 20 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref index db49a898936..71be32a6ee0 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref @@ -85,27 +85,27 @@ SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -215,9 +215,9 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -312,7 +312,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:EventInfo_p4 @@ -322,7 +322,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -332,7 +332,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeaderForm_p5 @@ -342,7 +342,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeader_p5 @@ -352,7 +352,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:Token @@ -362,7 +362,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:unsigned int @@ -372,14 +372,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile4.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile4.root and cont: POOLContainerForm(DataHeaderForm) @@ -387,10 +387,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -399,9 +399,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -438,19 +438,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -487,19 +487,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -536,19 +536,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -585,19 +585,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -634,19 +634,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -683,19 +683,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -732,19 +732,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -781,19 +781,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -830,19 +830,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -879,19 +879,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -928,19 +928,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -977,19 +977,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1026,19 +1026,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1075,19 +1075,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1124,19 +1124,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1173,19 +1173,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1222,19 +1222,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1271,19 +1271,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1320,10 +1320,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -1348,7 +1348,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:EventStreamInfo_p3 @@ -1358,14 +1358,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 RegStream1.TagTool INFO Collection Events output: 20 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref index a61aa3b607e..602d00acf9e 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref @@ -1,11 +1,11 @@ -Mon Oct 22 10:35:10 CDT 2018 +Thu Nov 1 12:04:15 CDT 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5543 configurables from 196 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 @@ -13,7 +13,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:20 2018 + running on hepd-0004 on Thu Nov 1 12:04:22 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,8 +36,8 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /home/gemmeren/workarea/build/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -75,11 +75,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -128,27 +128,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -210,11 +210,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -280,9 +280,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -336,14 +336,14 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -369,14 +369,14 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -402,14 +402,14 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -435,14 +435,14 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -468,14 +468,14 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -501,14 +501,14 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -534,14 +534,14 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -567,14 +567,14 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -600,14 +600,14 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -633,7 +633,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -663,11 +663,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -732,29 +732,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -769,7 +767,7 @@ RootDatabase.se... DEBUG File name SimplePoolFile2.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG Request tree cache RootDatabase.se... DEBUG File name SimplePoolFile2.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 @@ -794,9 +792,9 @@ MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.ro MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -816,17 +814,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -842,14 +829,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -860,24 +847,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -888,24 +869,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -916,24 +891,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -944,24 +913,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -972,24 +935,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1000,24 +957,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1028,24 +979,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1056,24 +1001,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1084,24 +1023,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1112,24 +1045,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1140,24 +1067,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1168,24 +1089,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1196,24 +1111,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1224,24 +1133,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1252,24 +1155,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1280,24 +1177,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1308,24 +1199,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1336,24 +1221,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1364,691 +1243,124 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Param:FID=[????] +SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] +SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool +MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root +MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2056,8 +1368,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) MetaData(EventS... DEBUG Opening @@ -2084,16 +1395,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2110,16 +1421,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2136,16 +1447,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2162,16 +1473,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2188,16 +1499,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2214,16 +1525,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2240,16 +1551,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2266,16 +1577,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2292,16 +1603,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2318,16 +1629,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2344,16 +1655,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2370,16 +1681,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2396,16 +1707,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2422,16 +1733,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2448,16 +1759,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2474,16 +1785,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2500,16 +1811,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2526,16 +1837,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2552,16 +1863,16 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2578,7 +1889,7 @@ ReadData WARNING Could not follow ExampleTrackContainer/MyTracks Elemen ReadData INFO Could not find ExampleHitContainer/MyHits PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -2594,9 +1905,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.161(+- 1.26)/ 0/ 10 [ms] #=124 -cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.526(+- 2.6)/ 0/ 20 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.82 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=101 +cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.326(+- 1.78)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.57 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref index 90560152bd4..0e9e40c48b4 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref @@ -1,11 +1,11 @@ -Mon Oct 22 10:36:32 CDT 2018 +Thu Nov 1 12:05:20 CDT 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5543 configurables from 196 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 @@ -13,7 +13,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:36:42 2018 + running on hepd-0004 on Thu Nov 1 12:05:26 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,8 +36,8 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /home/gemmeren/workarea/build/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -75,11 +75,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -123,19 +123,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -208,11 +208,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -274,19 +274,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -309,7 +309,7 @@ RootDatabase.se... DEBUG File name SimplePoolReplica1.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG Request tree cache RootDatabase.se... DEBUG File name SimplePoolReplica1.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 @@ -344,9 +344,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -395,14 +395,14 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -428,14 +428,14 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -461,14 +461,14 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -494,14 +494,14 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -527,14 +527,14 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -560,14 +560,14 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -593,14 +593,14 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -626,14 +626,14 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -659,14 +659,14 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -692,7 +692,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19638 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -722,11 +722,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -791,29 +791,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -854,9 +852,9 @@ MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.ro MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -876,17 +874,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -902,14 +889,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -920,24 +907,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -948,24 +929,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -976,24 +951,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -1004,24 +973,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -1032,24 +995,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1060,24 +1017,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1088,24 +1039,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1116,24 +1061,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1144,24 +1083,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1172,24 +1105,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1200,24 +1127,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1228,24 +1149,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1256,24 +1171,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1284,24 +1193,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1312,24 +1215,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1340,24 +1237,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1368,24 +1259,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1396,24 +1281,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1424,691 +1303,124 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile4.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile4.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile4.root +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Param:FID=[????] +SimplePoolFile4... DEBUG --->Reading Param:PFN=[SimplePoolFile4.root] +SimplePoolFile4... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile4... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile4.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile4.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile4.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile4.root +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool +MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile4.root +MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile4.root +MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile4.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile4.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile4.root -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Param:FID=[????] -SimplePoolFile4... DEBUG --->Reading Param:PFN=[SimplePoolFile4.root] -SimplePoolFile4... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile4... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile4.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile4.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile4.root -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2116,8 +1428,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) MetaData(EventS... DEBUG Opening @@ -2142,18 +1453,18 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2168,18 +1479,18 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2194,18 +1505,18 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2220,18 +1531,18 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2246,18 +1557,18 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2272,18 +1583,18 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2298,18 +1609,18 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2324,18 +1635,18 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2350,18 +1661,18 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2376,18 +1687,18 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2402,18 +1713,18 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2428,18 +1739,18 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2454,18 +1765,18 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2480,18 +1791,18 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2506,18 +1817,18 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2532,18 +1843,18 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2558,18 +1869,18 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2584,18 +1895,18 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2610,18 +1921,18 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2636,9 +1947,9 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -2654,9 +1965,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.175(+- 1.31)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.79 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=101 +cObj_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.109(+- 1.04)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.59 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref index 7dfe8a69e41..734ab88fb0a 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref @@ -1,11 +1,11 @@ -Mon Oct 22 10:37:02 CDT 2018 +Thu Nov 1 12:05:40 CDT 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5543 configurables from 196 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 @@ -13,7 +13,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:12 2018 + running on hepd-0004 on Thu Nov 1 12:05:47 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,8 +36,8 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /home/gemmeren/workarea/build/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -75,11 +75,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -123,19 +123,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -208,11 +208,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -274,19 +274,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -344,9 +344,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -395,14 +395,14 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -428,14 +428,14 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -461,14 +461,14 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -494,14 +494,14 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -527,14 +527,14 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -560,14 +560,14 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -593,14 +593,14 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -626,14 +626,14 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -659,14 +659,14 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -692,7 +692,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -722,11 +722,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -791,29 +791,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -854,9 +852,9 @@ MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.ro MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -876,17 +874,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -902,14 +889,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -920,24 +907,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -948,24 +929,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -976,24 +951,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -1004,24 +973,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -1032,24 +995,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1060,24 +1017,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1088,24 +1039,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1116,24 +1061,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1144,24 +1083,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1172,24 +1105,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1200,24 +1127,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1228,24 +1149,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1256,24 +1171,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1284,24 +1193,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1312,24 +1215,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1340,24 +1237,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1368,24 +1259,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1396,24 +1281,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1424,679 +1303,112 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16731 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 5 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (7 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Param:FID=[????] +SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] +SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool +MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root +MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 5 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG AttributeList size 0 +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2104,8 +1416,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening @@ -2130,18 +1441,18 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2156,18 +1467,18 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2182,18 +1493,18 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2208,18 +1519,18 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2234,18 +1545,18 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2260,18 +1571,18 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2286,18 +1597,18 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2312,18 +1623,18 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2338,18 +1649,18 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2364,18 +1675,18 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2390,18 +1701,18 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2416,18 +1727,18 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2442,18 +1753,18 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2468,18 +1779,18 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2494,18 +1805,18 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2520,18 +1831,18 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2546,18 +1857,18 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2572,18 +1883,18 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2598,18 +1909,18 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2624,9 +1935,9 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2642,9 +1953,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.263(+- 1.6)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.76 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=101 +cObj_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.109(+- 1.04)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.62 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref index 6eb7a61a0ce..cc11aef2fcc 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref @@ -84,19 +84,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -180,19 +180,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -228,9 +228,9 @@ MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -294,9 +294,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -337,9 +337,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -380,9 +380,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -423,9 +423,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -466,9 +466,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -509,9 +509,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -552,9 +552,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -595,9 +595,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -638,9 +638,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -681,9 +681,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -724,9 +724,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -767,9 +767,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -810,9 +810,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -853,9 +853,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -896,9 +896,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -939,9 +939,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -982,9 +982,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1025,9 +1025,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1068,9 +1068,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1152,7 +1152,7 @@ ConditionsConta... DEBUG Opening ConditionsConta... DEBUG attributes# = 1 ConditionsConta... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' ConditionsConta... DEBUG Opened container ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:ExampleHitContainer_p1 @@ -1164,7 +1164,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeaderForm_p5 @@ -1176,7 +1176,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeader_p5 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref index 05ec60dd413..ccceebbba9a 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref @@ -144,7 +144,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventInfo_p4 @@ -156,7 +156,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:ExampleHitContainer_p1 @@ -168,7 +168,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeaderForm_p5 @@ -180,7 +180,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeader_p5 @@ -681,7 +681,7 @@ MetaData(Exampl... DEBUG Opening MetaData(Exampl... DEBUG attributes# = 1 MetaData(Exampl... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' MetaData(Exampl... DEBUG Opened container MetaData(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? StorageSvc INFO Building shape according to reflection information using shape ID for: StorageSvc INFO EventStreamInfo_p3 [????] @@ -690,7 +690,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventStreamInfo_p3 @@ -700,14 +700,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref index ef277f306fd..bee605bce0d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref @@ -172,7 +172,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventInfo_p4 @@ -184,7 +184,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:ExampleHitContainer_p1 @@ -196,7 +196,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeaderForm_p5 @@ -208,7 +208,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeader_p5 @@ -220,7 +220,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:Token @@ -232,7 +232,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:unsigned int @@ -242,14 +242,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile1.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile1.root and cont: POOLContainerForm(DataHeaderForm) @@ -288,7 +288,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:EventInfo_p4 @@ -298,7 +298,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:DataHeaderForm_p5 @@ -308,7 +308,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:DataHeader_p5 @@ -318,7 +318,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:Token @@ -328,7 +328,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:unsigned int @@ -338,14 +338,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile2.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile2.root and cont: POOLContainerForm(DataHeaderForm) @@ -890,7 +890,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventStreamInfo_p3 @@ -900,14 +900,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 @@ -922,7 +922,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:EventStreamInfo_p3 @@ -932,14 +932,14 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 Stream3 INFO AthenaOutputStream Stream3 ::stop() @@ -970,7 +970,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream3' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream3) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:EventStreamInfo_p3 @@ -980,7 +980,7 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:DataHeaderForm_p5 @@ -990,7 +990,7 @@ MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:DataHeader_p5 diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in index c7d8e13966a..0af0b836838 100755 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in @@ -16,6 +16,8 @@ s/TTree [0-9]\\\\{3\\\\}[0-9]*/TTree ????/g s/^.*Py:Athena /Athena /g s/fffffffff/f/g s/000000000/0/g +s/-[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]0/-0/g +s/20[23]/20?/g s/INFO CLID = 222376821, key = Stream[12]/INFO CLID = 222376821, key = StreamX/g s/0x[0-9a-f]\\\\{7,12\\\\}/0x????/g EOF -- GitLab From eda457df84c84fd59564c8d3fad6846f37331085 Mon Sep 17 00:00:00 2001 From: Jack Cranshaw <cranshaw@anl.gov> Date: Mon, 5 Nov 2018 20:33:52 +0000 Subject: [PATCH 114/209] Revert "Merge branch 'mt_toolconts2' into 'master'" This reverts merge request !15357 --- .../AsgTools/AsgTools/AsgMetadataTool.h | 9 - .../AsgTools/Root/AsgMetadataTool.cxx | 25 +- .../AthenaKernel/GenericMetadataTool.h | 95 - .../AthenaKernel/GenericMetadataTool.icc | 511 --- .../AthenaKernel/AthenaKernel/IMetaDataTool.h | 7 +- .../AthenaKernel/IMetadataTransition.h | 2 +- Control/AthenaKernel/AthenaKernel/MetaCont.h | 5 + .../AthenaKernel/MetaContDataBucket.icc | 9 +- .../test/MetaContDataBucket_test.cxx | 4 +- .../share/AthenaOutputStream_test.ref | 58 +- .../AthenaServices/src/AthenaOutputStream.cxx | 147 +- .../AthenaServices/src/AthenaOutputStream.h | 1 - Control/AthenaServices/src/MetaDataSvc.cxx | 47 +- Control/AthenaServices/src/MetaDataSvc.h | 5 +- .../src/OutputStreamSequencerSvc.cxx | 8 +- Control/StoreGate/StoreGate/MetaHandleKey.icc | 6 +- .../share/AthenaPoolExample_Append.ref | 33 +- .../share/AthenaPoolExample_Concat.ref | 41 +- .../share/AthenaPoolExample_Copy.ref | 28 +- .../share/AthenaPoolExample_Filter.ref | 51 +- .../share/AthenaPoolExample_RCond.ref | 33 +- .../share/AthenaPoolExample_RFilter.ref | 34 +- .../share/AthenaPoolExample_RMeta.ref | 48 +- .../share/AthenaPoolExample_ReWrite.ref | 44 +- .../share/AthenaPoolExample_ReWriteAgain.ref | 46 +- .../share/AthenaPoolExample_ReWriteNext.ref | 44 +- .../share/AthenaPoolExample_Read.ref | 195 +- .../share/AthenaPoolExample_ReadAgain.ref | 193 +- .../share/AthenaPoolExample_ReadBN.ref | 3089 ----------------- .../share/AthenaPoolExample_ReadConcat.ref | 195 +- .../share/AthenaPoolExample_ReadNoBN.ref | 2590 -------------- .../share/AthenaPoolExample_WCond.ref | 35 +- .../share/AthenaPoolExample_WMeta.ref | 36 +- .../share/AthenaPoolExample_Write.ref | 42 +- .../src/ReadMeta.h | 9 - .../AthenaPoolTools/src/MetadataTest.cxx | 6 +- .../AthenaPoolTools/src/MetadataTest.h | 2 +- .../src/CopyEventStreamInfo.cxx | 6 +- .../src/CopyEventStreamInfo.h | 6 +- .../src/IOVDbMetaDataTool.h | 10 - .../src/RegistrationStream.cxx | 24 +- .../src/RegistrationStream.h | 4 +- .../src/ByteStreamMetadataTool.cxx | 14 - .../src/ByteStreamMetadataTool.h | 4 - Event/EventBookkeeperTools/CMakeLists.txt | 1 - .../EventBookkeeperTools/BookkeeperTool.h | 58 +- .../Root/BookkeeperTool.cxx | 261 +- .../python/CutFlowHelpers.py | 17 +- .../xAODCutFlow/CutBookkeeperAuxContainer.h | 6 - .../src/EventFormatMetaDataTool.h | 9 - .../src/FileMetaDataCreatorTool.h | 9 - .../xAODMetaDataCnv/FileMetaDataTool.h | 9 - .../TriggerMenuMetaDataTool_jobOptions.py | 9 +- .../xAODTriggerCnv/TriggerMenuMetaDataTool.h | 9 - .../xAODTruthCnv/TruthMetaDataTool.h | 9 - .../LumiBlockComps/LumiBlockMetaDataTool.h | 9 - .../share/RecExCommon_topOptions.py | 20 +- .../share/skeleton.RAWtoALL_tf.py | 7 +- .../share/skeleton.RAWtoESD_tf.py | 7 +- 59 files changed, 966 insertions(+), 7275 deletions(-) delete mode 100644 Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h delete mode 100644 Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc delete mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref delete mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h b/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h index 8ef2deb2421..548cdfa5d2d 100644 --- a/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h +++ b/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h @@ -102,8 +102,6 @@ namespace asg { protected: /// @name Callback functions helping in metadata reading/writing /// @{ - - void setUseIncidents(const bool flag); /// Function receiving incidents from IncidentSvc/TEvent virtual void handle( const Incident& inc ); @@ -133,15 +131,8 @@ namespace asg { /// input file bool m_beginInputFileCalled; - bool m_useIncidents; - }; // class AsgMetadataTool - inline void AsgMetadataTool::setUseIncidents(const bool flag) - { - m_useIncidents = flag; - } - } // namespace asg // Include the template implementation(s): diff --git a/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx b/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx index 6638d9ff47a..4f2f109fae6 100644 --- a/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx +++ b/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx @@ -41,8 +41,7 @@ namespace asg { m_inputMetaStore( "StoreGateSvc/InputMetaDataStore", name ), m_outputMetaStore( "StoreGateSvc/MetaDataStore", name ), #endif // Environment selection - m_beginInputFileCalled( false ), - m_useIncidents (true) + m_beginInputFileCalled( false ) { #ifdef ASGTOOL_STANDALONE @@ -115,17 +114,17 @@ namespace asg { StatusCode AsgMetadataTool::sysInitialize() { #ifdef ASGTOOL_ATHENA - if (m_useIncidents) { - // Connect to the IncidentSvc: - ServiceHandle< IIncidentSvc > incSvc( "IncidentSvc", name() ); - ATH_CHECK( incSvc.retrieve() ); - - // Set up the right callbacks: don't rethrow exceptions, any failure and we should end - incSvc->addListener( this, IncidentType::BeginEvent, 0, false ); - incSvc->addListener( this, IncidentType::BeginInputFile, 0, false ); - incSvc->addListener( this, IncidentType::EndInputFile, 0, false ); - incSvc->addListener( this, IncidentType::MetaDataStop, 70, false ); - } + + // Connect to the IncidentSvc: + ServiceHandle< IIncidentSvc > incSvc( "IncidentSvc", name() ); + ATH_CHECK( incSvc.retrieve() ); + + // Set up the right callbacks: don't rethrow exceptions, any failure and we should end + incSvc->addListener( this, IncidentType::BeginEvent, 0, false ); + incSvc->addListener( this, IncidentType::BeginInputFile, 0, false ); + incSvc->addListener( this, IncidentType::EndInputFile, 0, false ); + incSvc->addListener( this, IncidentType::MetaDataStop, 70, false ); + // Let the base class do its thing: ATH_CHECK( AlgTool::sysInitialize() ); diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h deleted file mode 100644 index d4776afc38c..00000000000 --- a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef GENERICMETADATATOOL_H -#define GENERICMETADATATOOL_H - -/** @file GenericMetadataTool.h - * @brief This file contains the class definition for the GenericMetadataTool class. - * @author Jack Cranshaw <cranshaw@anl.gov> - * $Id: $ - **/ - -#include "AthenaBaseComps/AthAlgTool.h" -#include "AthenaKernel/IMetaDataTool.h" -#include "GaudiKernel/IIncidentListener.h" -#include "GaudiKernel/ServiceHandle.h" - -#include <string> - -/** @class GenericMetadataTool - * @brief This class provides the basic functionality for processing metadata in the athena framework. The derived class must simply implement merge functionality in the updateContainer method. - **/ - -template <typename T, typename U> -class GenericMetadataTool : public AthAlgTool, public virtual ::IMetaDataTool -{ -public: // Constructor and Destructor - /// Standard Service Constructor - GenericMetadataTool(const std::string& type, - const std::string& name, - const IInterface* parent); - /// Destructor - virtual ~GenericMetadataTool(); - -public: - virtual StatusCode metaDataStop(const SG::SourceID&); - virtual StatusCode beginInputFile(const SG::SourceID& sid = "Serial"); - virtual StatusCode endInputFile(const SG::SourceID& sid = "Serial"); - virtual StatusCode initialize(); - virtual StatusCode finalize(); - -protected: - ServiceHandle<StoreGateSvc> inputMetaStore() const; - ServiceHandle<StoreGateSvc> outputMetaStore() const; - - /// Helper class to update a container with information from another one - virtual StatusCode updateContainer( T* contToUpdate, - const T* otherCont ) = 0; - - StatusCode initOutputContainer(const std::string& sgkey); - - StatusCode buildAthenaInterface(const std::string& inputName, - const std::string& outputName, - const SG::SourceID& sid); - - /// Fill Cutflow information - StatusCode addProcessMetadata(); - - /// Pointer to cut flow svc - ServiceHandle<StoreGateSvc> m_inputMetaStore; - ServiceHandle<StoreGateSvc> m_outputMetaStore; - - /// The name of the output Container - std::string m_outputCollName; - /// The name of the input Container - std::string m_inputCollName; - /// The name of the process Container - std::string m_procMetaName; - - bool m_processMetadataTaken; - bool m_markIncomplete; - - /// List of source ids which have reached end file - std::set<SG::SourceID> m_fullreads; - std::set<SG::SourceID> m_read; - std::set<SG::SourceID> m_written; - -}; - -template <typename T, typename U> -inline ServiceHandle<StoreGateSvc> GenericMetadataTool<T,U>::inputMetaStore() const -{ - return m_inputMetaStore; -} - -template <typename T, typename U> -inline ServiceHandle<StoreGateSvc> GenericMetadataTool<T,U>::outputMetaStore() const -{ - return m_outputMetaStore; -} - -#include "GenericMetadataTool.icc" -#endif - diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc deleted file mode 100644 index b8776344f30..00000000000 --- a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc +++ /dev/null @@ -1,511 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Implementation file for class GenericMetadataTool -// Authors: Joao Firmino da Costa <joao.costa@cern.ch> and David Cote <david.cote@cern.ch> -/////////////////////////////////////////////////////////////////// - -// STL include -#include <algorithm> - -#include "GaudiKernel/Incident.h" -#include "GaudiKernel/FileIncident.h" -#include "GaudiKernel/IIncidentSvc.h" -#include "AthenaKernel/MetaCont.h" -#include "AthenaKernel/ClassID_traits.h" -#include "AthenaKernel/errorcheck.h" -#include "StoreGate/WriteMetaHandle.h" -#include "AthenaBaseComps/AthCheckMacros.h" -#include "AthContainersInterfaces/IConstAuxStoreMeta.h" - -template <typename T, typename U> -GenericMetadataTool<T,U>::GenericMetadataTool(const std::string& type, - const std::string& name, - const IInterface* parent) - : AthAlgTool(type,name,parent), - m_inputMetaStore( "StoreGateSvc/InputMetaDataStore", name ), - m_outputMetaStore( "StoreGateSvc/MetaDataStore", name ), - m_processMetadataTaken(false), - m_markIncomplete(true) -{ - declareProperty("OutputCollName", m_outputCollName="GenericMetadataOutput", - "The default name of the container for output files"); - declareProperty("InputCollName", m_inputCollName = "GenericMetadataInput", - "The default name of the container for input files"); - declareProperty("ProcessMetadataCollName", m_procMetaName = "ProcessMetadata", - "The default name of the container for process meta"); - declareProperty("MarkIncomplete", m_markIncomplete = true, - "Defaults to filling both complete and incomplete bookkeepers"); - declareInterface< ::IMetaDataTool >( this ); -} - - - -template <typename T, typename U> -GenericMetadataTool<T,U>::~GenericMetadataTool() -{ -} - - - -template <typename T, typename U> -StatusCode -GenericMetadataTool<T,U>::initialize() -{ - ATH_MSG_DEBUG( "Initializing " << name() << " - package version " << PACKAGE_VERSION ); - - ATH_MSG_DEBUG("InputCollName = " << m_inputCollName); - ATH_MSG_DEBUG("OutputCollName = " << m_outputCollName); - ATH_MSG_DEBUG("ProcessMetadataCollName = " << m_procMetaName); - - return StatusCode::SUCCESS; -} - - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::beginInputFile(const SG::SourceID& sid) -{ - ATH_MSG_DEBUG("beginInputFile " << this->name() << "\n" << outputMetaStore()->dump()); - //OPENING NEW INPUT FILE - //Things to do: - // 1) note that a file is currently opened - // 2) Load CutBookkeepers from input file - // 2a) if incomplete from input, directly propagate to output - // 2b) if complete from input, wait for EndInputFile to decide what to do in output - - const std::string storename("MetaDataStore+"); - if (m_inputCollName != "") { // are there inputs - // IF NO METACONT IN OUTPUT STORE YET - // Initialize MetaCont for incomplete and tmp containers in output store - // - std::string tmp_name = storename+m_outputCollName+"tmp"; - ATH_CHECK(buildAthenaInterface(m_inputCollName,tmp_name,sid)); - - // Do the following if we want incomplete processings marked - if (m_markIncomplete) { - std::string inc_name = storename+"Incomplete"+m_outputCollName; - std::string input_inc_name = "Incomplete"+m_inputCollName; - ATH_CHECK(buildAthenaInterface(input_inc_name,inc_name,sid)); - } - } // inputCollName if - - // reset cutflow taken marker - m_processMetadataTaken = false; - - m_read.insert(sid); - - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::endInputFile(const SG::SourceID& sid) -{ - // Add the sid to the list of complete sids - if (m_inputCollName != "") { // are there inputs - m_fullreads.insert(sid); - } - - return StatusCode::SUCCESS; -} - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::metaDataStop(const SG::SourceID&) -{ - const std::string storename("MetaDataStore+"); - if (m_inputCollName != "") { // are there inputs - //TERMINATING THE JOB (EndRun) - //Things to do: - // 1) Create new incomplete CutBookkeepers if relevant - // 2) Print cut flow summary - // 3) Write root file if requested - // Now retrieve pointers for the MetaConts - std::string tmp_name = storename+m_outputCollName+"tmpCont"; - const MetaCont<T>* tmp; - ATH_CHECK(outputMetaStore()->retrieve(tmp,tmp_name)); - T* outcom = new T(); - // ARSE - U* outcom_aux = new U(); - outcom->setStore(outcom_aux); - - if (m_markIncomplete) { - std::string inc_name = storename+"Incomplete"+m_outputCollName+"Cont"; - // Build incomplete container to fill - T* outinc = new T(); - // ARSE - U* outinc_aux = new U(); - outinc->setStore(outinc_aux); - // Check if there were any incomplete inputs - const MetaCont<T>* inc; - if(outputMetaStore()->retrieve(inc,inc_name).isSuccess()) { - - // Incomplete inputs can just be merged - auto sids_inc = inc->sources(); - T* contptr(nullptr); - for (auto it = sids_inc.begin(); it != sids_inc.end(); ++it) { - if (!inc->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - //ATH_CHECK(updateContainer(outinc,contptr)); - } - contptr = nullptr; - } - } else { - ATH_MSG_INFO("Did not find MetaCont for " << inc_name << ", assuming input had no incomplete bookkeepers"); - } - - // Loop over containers and mark based on end files seen - auto sids_tmp = tmp->sources(); - T* contptr(nullptr); - for (auto it = sids_tmp.begin(); it != sids_tmp.end(); ++it) { - if (!tmp->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - bool complete = std::find(m_fullreads.begin(), - m_fullreads.end(), - *it) != m_fullreads.end(); - bool not_written = std::find(m_written.begin(), - m_written.end(), - *it) == m_written.end(); - if (complete && not_written) { - //ATH_CHECK(updateContainer(outcom,contptr)); - } else { - //ATH_CHECK(updateContainer(outinc,contptr)); - } - } - } - - std::string incout_name = "Incomplete"+m_outputCollName; - // Do any cleanup - if (outputMetaStore()->contains(ClassID_traits<T>::ID(),incout_name) ) { - ATH_MSG_INFO("Cleaning up class for " << incout_name); - const T* tmpBook(nullptr); - if ( outputMetaStore()->retrieve(tmpBook,incout_name).isSuccess() ) { - const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); - } - else ATH_MSG_INFO("StoreGate failed retrieve"); - } - ATH_CHECK(outputMetaStore()->record(outinc,incout_name)); - ATH_CHECK(outputMetaStore()->record(outinc_aux,incout_name+"Aux.")); - } // markIncomplete - else { - auto sids_tmp = tmp->sources(); - T* contptr(nullptr); - // just merge complete inputs into complete/output container - for (auto it = sids_tmp.begin(); it != sids_tmp.end(); ++it) { - if (!tmp->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - // default to not worrying about marking - //ATH_CHECK(updateContainer(outcom,contptr)); - } - } - } - - // Record container objects directly in store for output - if (outputMetaStore()->contains(ClassID_traits<T>::ID(),m_outputCollName)) { - ATH_MSG_INFO("Cleaning up class for " << m_outputCollName); - const T* tmpBook(nullptr); - if ( outputMetaStore()->retrieve(tmpBook,m_outputCollName).isSuccess() ) { - const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); - } - else ATH_MSG_ERROR("StoreGate failed retrieve"); - } - ATH_CHECK(outputMetaStore()->record(outcom,m_outputCollName)); - ATH_CHECK(outputMetaStore()->record(outcom_aux,m_outputCollName+"Aux.")); - } // inputCollName if - - if (!m_processMetadataTaken) { - if (addProcessMetadata().isFailure()) { - ATH_MSG_ERROR("Could not add CutFlow information"); - } - } - else { - ATH_MSG_DEBUG("Process metadata written into container before metaDataStop"); - } - - // Reset after metadata stop - m_processMetadataTaken = false; - - if (m_inputCollName != "") { // are there inputs - // Copy read files into written files - //std::copy(m_read.begin(),m_read.end(),back_inserter(m_written)); - for (auto it = m_read.begin(); it != m_read.end(); ++it) { - m_written.insert(*it); - } - // Remove completes from read - for (auto it = m_fullreads.begin(); it != m_fullreads.end(); ++it) { - m_read.erase(*it); - //std::remove(m_read.begin(); m_read.end(), *it); - } - m_fullreads.clear(); - } // inputCollName if - - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode -GenericMetadataTool<T,U>::finalize() -{ - ATH_MSG_DEBUG( "Finalizing " << name() << " - package version " << PACKAGE_VERSION ); - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::initOutputContainer( const std::string& sgkey) -{ - std::string key = sgkey; - // Create the primary container - // Put it in a MetaCont - // ARSE - //MetaCont<T>* mcont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperContainer",key)); - MetaCont<T>* mcont = new MetaCont<T>(DataObjID(ClassID_traits<T>::ID(),key)); - // Do the same for the auxiliary container - std::string auxkey(key+"Aux."); - // ARSE - //MetaCont<T>* acont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperAuxContainer",auxkey)); - MetaCont<T>* acont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperAuxContainer",auxkey)); - ATH_CHECK(outputMetaStore()->record(std::move(mcont),key)); - ATH_CHECK(outputMetaStore()->record(std::move(acont),auxkey)); - ATH_CHECK(outputMetaStore()->symLink - ( - ClassID_traits<MetaCont<T> >::ID(), - auxkey, - ClassID_traits<T>::ID() - )); - - return StatusCode::SUCCESS; -} - -//--------------------------------------------------------// -// MetaConts are only needed when reading in Athena -// This builds them and populates them with bookeepers from the input store -//--------------------------------------------------------// -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::buildAthenaInterface(const std::string& inputName, - const std::string& outputName, - const SG::SourceID& sid) -{ - // Make sure the MetaCont is ready in the output store for outputName - // If not, then create it - std::string name = outputName+"Cont"; - if( !(outputMetaStore()->contains(ClassID_traits<MetaCont<T> >::ID(),name)) ) { - ATH_CHECK(this->initOutputContainer(name)); - } - else { - ATH_MSG_WARNING("incomplete collection already exists"); - } - - // Retrieve pointer for the MetaCont - MetaCont<T>* mc; - ATH_CHECK(outputMetaStore()->retrieve(mc,name)); - - // Make sure sid does not already exist in the MetaCont - if ( std::find(mc->sources().begin(),mc->sources().end(),sid) - != mc->sources().end() ) { - ATH_MSG_ERROR("Metadata already exists for sid " << sid); - return StatusCode::FAILURE; // Fail if sid already exists - } - - // Get the input bookkeeper of the input metadata store - const T* cbc; - if (inputMetaStore()->contains(ClassID_traits<T>::ID(),inputName) ) { - StatusCode ssc = inputMetaStore()->retrieve( cbc, inputName ); - if (ssc.isSuccess()) { - // Insert input bookkeeper into MetaCont for this sid - T* tostore = new T(*cbc); - if ( !mc->insert(sid,tostore) ) { - ATH_MSG_ERROR("Unable to insert " << inputName << " for " << sid << " with key " << name); - return StatusCode::FAILURE; // Fail if insert to mc fails - } - } - else { - ATH_MSG_ERROR("Could not retrieve class with name " << inputName << " in input store"); - return StatusCode::FAILURE; // Fail if store contains, but not retrieves - } - } - else { - ATH_MSG_WARNING("No " << inputName << " data in this file "); - } - - return StatusCode::SUCCESS; -} - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::addProcessMetadata() -{ - // Add the information from the current processing to the complete output - // --> same paradigm as original CutFlowSvc - // Get the complete bookkeeper collection of the output meta-data store - T* completeBook(NULL); - if( !(outputMetaStore()->retrieve( completeBook, m_outputCollName) ).isSuccess() ) { - ATH_MSG_ERROR( "Could not get output container from output MetaDataStore" ); - return StatusCode::FAILURE; - } - - // Get the bookkeeper from the current processing - T* fileCompleteBook(NULL); - if( outputMetaStore()->contains(ClassID_traits<T>::ID(),m_procMetaName) ) { - if( !(outputMetaStore()->retrieve( fileCompleteBook, m_procMetaName) ).isSuccess() ) { - ATH_MSG_WARNING( "Could not get process metadata from output MetaDataStore" ); - } - else { - // update the complete output with the complete input - //ATH_CHECK(this->updateContainer(completeBook,fileCompleteBook)); - } - } - else { - ATH_MSG_INFO("No process container " << m_procMetaName); - } - - return StatusCode::SUCCESS; -} - - -/* -namespace { - -xAOD::CutBookkeeper* -resolveLink (const xAOD::CutBookkeeper* old, - xAOD::CutBookkeeperContainer& contToUpdate, - const xAOD::CutBookkeeperContainer& otherCont, - const std::vector<size_t>& otherIndices) -{ - { - xAOD::CutBookkeeperContainer::iterator matchIter = - std::find( contToUpdate.begin(), - contToUpdate.end(), - old ); - if (matchIter != contToUpdate.end()) - return *matchIter; - } - - { - xAOD::CutBookkeeperContainer::const_iterator matchIter = - std::find( otherCont.begin(), - otherCont.end(), - old ); - if (matchIter != contToUpdate.end()) { - size_t pos = matchIter - otherCont.begin(); - return contToUpdate[otherIndices[pos]]; - } - } - - // If we didn't find it, we need to add it - xAOD::CutBookkeeper* newEBK = new xAOD::CutBookkeeper(); - if ( newEBK->usingPrivateStore() ) { newEBK->releasePrivateStore(); } - newEBK->makePrivateStore(old); - contToUpdate.push_back( newEBK ); - return newEBK; -} - - -} // anonymous namespace - -StatusCode -GenericMetadataTool::updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, - const xAOD::CutBookkeeperContainer* otherCont ) -{ - ATH_MSG_DEBUG("calling updateContainer(...)" ); - ATH_MSG_VERBOSE("Have container to update with size=" << contToUpdate->size() - << ", and other container with size=" << otherCont->size() ); - - size_t origSize = contToUpdate->size(); - - // Vector of indices in contToUpdate of elements in otherCont. - std::vector< std::size_t > otherIndices (otherCont->size()); - // Loop through otherCont. - // If element already in contToUpdate, update event counts, otherwise create new element - for ( std::size_t i=0; i<otherCont->size(); ++i ) { - const xAOD::CutBookkeeper* otherEBK = otherCont->at(i); - ATH_MSG_VERBOSE("Looping through otherCont at index " << i); - ATH_MSG_VERBOSE("Have otherEBK with: name=" << otherEBK->name() - << ", cycle=" << otherEBK->cycle() - << ", nAcceptedEvents=" << otherEBK->nAcceptedEvents() - << ", inputStream=" << otherEBK->inputStream() ); - - - // Loop through the container to be updated (contToUpdate) and see if we find a match - bool foundEBKToUpdate(false); - for ( std::size_t j=0; j<contToUpdate->size(); ++j ) { - xAOD::CutBookkeeper* ebkToUpdate = contToUpdate->at(j); - // Check if they are identical, if so, update; else add otherEBK - if ( otherEBK->isEqualTo(ebkToUpdate) ) { - ebkToUpdate->setPayload( ebkToUpdate->payload() + otherEBK->payload() ); - otherIndices[i] = j; - foundEBKToUpdate = true; - break; - } - } // End: Inner loop over contToUpdate - if (!foundEBKToUpdate) { - xAOD::CutBookkeeper* newEBK = new xAOD::CutBookkeeper(); - if ( newEBK->usingPrivateStore() ) { newEBK->releasePrivateStore(); } - newEBK->makePrivateStore(otherEBK); - contToUpdate->push_back( newEBK ); - std::size_t ebIdx = newEBK->index(); - otherIndices[i] = ebIdx; - } - } // End: Outer loop over contToUpdate - - // Now, we still need to fix the cross-referencing of the newly added CutBookkkeepers - for ( std::size_t i=origSize; i<contToUpdate->size(); ++i ) { - xAOD::CutBookkeeper* ebkToModify = contToUpdate->at(i); - - // Parent check - if ( ebkToModify->hasParent() ) { - const xAOD::CutBookkeeper* oldParent = ebkToModify->parent(); - const xAOD::CutBookkeeper* newParent = resolveLink (oldParent, - *contToUpdate, - *otherCont, - otherIndices); - ebkToModify->setParent (newParent); - } // Done fixing parent - - // Children check - std::vector< xAOD::CutBookkeeper* > newChildren; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nChildren(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->child(oldIdx); - newChildren.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing children - ebkToModify->setChildren (newChildren); - - // Used others check - std::vector< xAOD::CutBookkeeper* > newOthers; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nUsedOthers(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->usedOther(oldIdx); - newOthers.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing used others - ebkToModify->setUsedOthers (newOthers); - - // Siblings check - std::vector< xAOD::CutBookkeeper* > newSiblings; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nSiblings(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->sibling(oldIdx); - newSiblings.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing siblings - ebkToModify->setSiblings (newSiblings); - } // Done fixing all cross references - return StatusCode::SUCCESS; -} -*/ - diff --git a/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h b/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h index d119cbeb652..4937397ab58 100755 --- a/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h +++ b/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h @@ -12,7 +12,6 @@ **/ #include "GaudiKernel/IAlgTool.h" -#include "AthenaKernel/SourceID.h" /** @class IMetaDataTool * @brief This class provides the interface for MetaDataTools. @@ -22,14 +21,14 @@ class IMetaDataTool : virtual public IAlgTool { public: // Non-static members /// Function called when a new input file is opened - virtual StatusCode beginInputFile(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode beginInputFile() = 0; /// Function called when the currently open input file got completely /// processed - virtual StatusCode endInputFile(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode endInputFile() = 0; /// Function called when the tool should write out its metadata - virtual StatusCode metaDataStop(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode metaDataStop() = 0; /// Gaudi boilerplate static const InterfaceID& interfaceID(); diff --git a/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h b/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h index dced030eea7..5fc4e429dca 100644 --- a/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h +++ b/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h @@ -29,7 +29,7 @@ public: // Non-static members virtual StatusCode retireMetadataSource(const Incident&) = 0; /// Function called when the tool should write out its metadata - virtual StatusCode prepareOutput(const Incident&) = 0; + virtual StatusCode prepareOutput() = 0; virtual StatusCode proxyIncident(const Incident&) = 0; diff --git a/Control/AthenaKernel/AthenaKernel/MetaCont.h b/Control/AthenaKernel/AthenaKernel/MetaCont.h index 3fb5879f23a..ff76e28a5ff 100644 --- a/Control/AthenaKernel/AthenaKernel/MetaCont.h +++ b/Control/AthenaKernel/AthenaKernel/MetaCont.h @@ -192,6 +192,11 @@ bool MetaCont<T>::find(const SourceID& it, T*& t) const { t=itr->second; return true; } + else { + for (const auto& elt : m_metaSet) { + std::cerr << "Container has SID=" << elt.first << std::endl; + } + } return false; } diff --git a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc index 1559e9482aa..3d8ad804e81 100644 --- a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc +++ b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc @@ -73,12 +73,9 @@ template <class T> const SourceID MetaContDataBucket<T>::getSID() const { const EventContext& ctx = Gaudi::Hive::currentContext(); - if (ctx.valid()) { - const IProxyDict* store = - ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); - return store->sourceID(); - } - return "None"; + const IProxyDict* store = + ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); + return store->sourceID(); } diff --git a/Control/AthenaKernel/test/MetaContDataBucket_test.cxx b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx index 677be7bb061..3bac4b53485 100644 --- a/Control/AthenaKernel/test/MetaContDataBucket_test.cxx +++ b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx @@ -119,9 +119,9 @@ void test1() proxyDict.source = "source"; p = bucket.cast (ClassID_traits<TestPayload>::ID()); - //assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); + assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); p = bucket.cast (typeid (TestPayload)); - //assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); + assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); } diff --git a/Control/AthenaServices/share/AthenaOutputStream_test.ref b/Control/AthenaServices/share/AthenaOutputStream_test.ref index c0fdf6423bf..efb1a7145cb 100644 --- a/Control/AthenaServices/share/AthenaOutputStream_test.ref +++ b/Control/AthenaServices/share/AthenaOutputStream_test.ref @@ -2,7 +2,7 @@ Initializing Gaudi ApplicationMgr using job opts ../share/AthenaOutputStream_test.txt -JobOptionsSvc INFO # =======> /users/cranshaw/toolconts9/athena/Control/AthenaServices/share/../share/AthenaOutputStream_test.txt +JobOptionsSvc INFO # =======> /home/gemmeren/workarea/athena/Control/AthenaServices/share/../share/AthenaOutputStream_test.txt JobOptionsSvc INFO # (5,1): MessageSvc.OutputLevel = 2 JobOptionsSvc INFO # (6,1): StoreGateSvc.OutputLevel = 2 JobOptionsSvc INFO # (8,1): AthenaOutputStream.OutputLevel = 1 @@ -13,8 +13,8 @@ MessageSvc DEBUG Service base class initialized successfully ApplicationMgr DEBUG Getting my own properties ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Fri Sep 7 08:54:34 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r1) + running on hepd-0003 on Wed Jan 31 14:51:16 2018 ==================================================================================================================================== ApplicationMgr INFO Application Manager Configured successfully ServiceManager DEBUG Initializing service AppMgrRunable @@ -35,17 +35,16 @@ ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr Ready ClassIDSvc DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [ModuleLoaded] listener 'ClassIDSvc' with priority 100 -ClassIDSvc INFO getRegistryEntries: read 1312 CLIDRegistry entries for module ALL -ClassIDSvc DEBUG processCLIDDB: read 1554 entries from CLIDDB file: /users/cranshaw/toolconts9/build/x86_64-centos7-gcc62-opt/share/clid.db -ClassIDSvc DEBUG processCLIDDB: read 1553 entries from CLIDDB file: /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/clid.db +ClassIDSvc INFO getRegistryEntries: read 920 CLIDRegistry entries for module ALL +ClassIDSvc DEBUG processCLIDDB: read 1490 entries from CLIDDB file: /home/gemmeren/workarea/build/x86_64-centos7-gcc62-opt/share/clid.db +ClassIDSvc DEBUG processCLIDDB: read 1490 entries from CLIDDB file: /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-01-30T2209/Athena/22.0.0/InstallArea/x86_64-centos7-gcc62-opt/share/clid.db StoreGateSvc DEBUG Service base class initialized successfully StoreGateSvc DEBUG trying to create store SGImplSvc/StoreGateSvc_Impl StoreGateSvc_Impl DEBUG Service base class initialized successfully -ProxyProviderSvc DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [EndEvent] listener 'StoreGateSvc' with priority 100 IncidentSvc DEBUG Adding [BeginEvent] listener 'StoreGateSvc' with priority 100 ToolSvc DEBUG Service base class initialized successfully -ClassIDSvc INFO getRegistryEntries: read 2273 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2018 CLIDRegistry entries for module ALL AthenaOutputStream DEBUG Property update for OutputLevel : new value = 1 AthenaOutputStreamVERBOSE ServiceLocatorHelper::service: found service EventDataSvc TimelineSvc DEBUG Service base class initialized successfully @@ -62,9 +61,7 @@ AthenaOutputStream DEBUG In initialize AthenaOutputStream DEBUG Found StoreGateSvc store. ItemListSvc DEBUG ItemListSvc initialize OutputStreamSeq... INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00 -OutputStreamSeq... DEBUG Service base class initialized successfully MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully InputMetaDataStore DEBUG Service base class initialized successfully InputMetaDataStore DEBUG trying to create store SGImplSvc/InputMetaDataStore_Impl InputMetaDataSt... DEBUG Service base class initialized successfully @@ -76,10 +73,8 @@ MetaDataStore_Impl DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [EndEvent] listener 'MetaDataStore' with priority 100 IncidentSvc DEBUG Adding [BeginEvent] listener 'MetaDataStore' with priority 100 AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -DataModelCompatSvc DEBUG Service base class initialized successfully DataModelCompatSvc DEBUG FILE:LINE (StatusCode DataModelCompatSvc::initialize()): running IncidentSvc DEBUG Adding [BeginEvent] listener 'DataModelCompatSvc' with priority 0 -PoolSvc DEBUG Service base class initialized successfully IoComponentMgr DEBUG --> initialize() IoComponentMgr DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [BeginOutputFile] listener 'IoComponentMgr' with priority 100 @@ -91,26 +86,28 @@ IoComponentMgr DEBUG --> io_hasitem() PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc DEBUG Service base class initialized successfully +DBReplicaSvc DEBUG HOSTNAME hepd-0003 has no domain - try hostname --fqdn +DBReplicaSvc DEBUG HOSTNAME from fqdn: hepd-0003.lcrc.anl.gov DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Read replica configuration from /home/gemmeren/workarea/build/x86_64-centos7-gcc62-opt/share/dbreplica.config DBReplicaSvc DEBUG Candidate server ATLF (priority -2300) -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Total of 1 servers found for host hepd-0003.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams -Gaudi::MultiFil... DEBUG Service base class initialized successfully PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] ChronoStatSvc DEBUG Service base class initialized successfully +ChronoStatSvc INFO Number of skipped events for MemStat-1 FileMgr DEBUG Service base class initialized successfully FileMgr DEBUG Successfully registered handler for tech "ROOT" FileMgr DEBUG Successfully registered handler for tech "POSIX" -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) IncidentSvc DEBUG Adding [FirstInputFile] listener 'MetaDataSvc' with priority 90 +IncidentSvc DEBUG Adding [BeginTagFile] listener 'MetaDataSvc' with priority 90 IncidentSvc DEBUG Adding [BeginInputFile] listener 'MetaDataSvc' with priority 90 IncidentSvc DEBUG Adding [EndInputFile] listener 'MetaDataSvc' with priority 10 +IncidentSvc DEBUG Adding [EndTagFile] listener 'MetaDataSvc' with priority 10 IncidentSvc DEBUG Adding [LastInputFile] listener 'MetaDataSvc' with priority 10 IncidentSvc DEBUG Adding [ShmProxy] listener 'MetaDataSvc' with priority 90 IoComponentMgr DEBUG --> io_register(MetaDataSvc) @@ -128,7 +125,6 @@ IoComponentMgr DEBUG --> io_hasitem() AthenaOutputStream INFO I/O reinitialization... IncidentSvc DEBUG Adding [MetaDataStop] listener 'AthenaOutputStream' with priority 50 IncidentSvc DEBUG Adding [UpdateOutputFile] listener 'AthenaOutputStream' with priority 50 -AthenaOutputStr... DEBUG Property update for OutputLevel : new value = 1 AthenaOutputStream DEBUG End initialize AthenaOutputStreamVERBOSE ServiceLocatorHelper::service: found service AlgExecStateSvc AlgExecStateSvc DEBUG preInit: will add Alg AthenaOutputStream later @@ -137,25 +133,25 @@ AthenaOutputStream DEBUG output handles: 0 AthenaOutputStream DEBUG Registering all Tools in ToolHandleArray HelperTools AthenaOutputStream DEBUG Adding private ToolHandle tool AthenaOutputStream.AthenaOutputStreamTool (AthenaOutputStreamTool) AthenaOutputStream DEBUG Data Deps for AthenaOutputStream -StoreGateSvc_Impl DEBUG Recorded object @0x43ad800 with key uno of type Foo(CLID 8101) - in DataObject @0x43ac170 +ClassIDSvc INFO getRegistryEntries: read 926 CLIDRegistry entries for module ALL +StoreGateSvc_Impl DEBUG Recorded object @0x4541940 with key uno of type Foo(CLID 8101) + in DataObject @0x45a4730 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adac0 with key due of type Foo(CLID 8101) - in DataObject @0x43adae0 +StoreGateSvc_Impl DEBUG Recorded object @0x45a4a60 with key due of type Foo(CLID 8101) + in DataObject @0x45daa20 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adaa0 with key uno of type Bar(CLID 8107) - in DataObject @0x43aded0 +StoreGateSvc_Impl DEBUG Recorded object @0x45db370 with key uno of type Bar(CLID 8107) + in DataObject @0x3b5f440 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adbb0 with key due of type Bar(CLID 8107) - in DataObject @0x43ae200 +StoreGateSvc_Impl DEBUG Recorded object @0x39db510 with key due of type Bar(CLID 8107) + in DataObject @0x45daac0 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43ad9d0 with key quattro of type Bar(CLID 8107) - in DataObject @0x43ae500 +StoreGateSvc_Impl DEBUG Recorded object @0x45a4f70 with key quattro of type Bar(CLID 8107) + in DataObject @0x45a5000 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x23f52d0 with key cinque of type Bar(CLID 8107) - in DataObject @0x43ae8f0 +StoreGateSvc_Impl DEBUG Recorded object @0x45a5090 with key cinque of type Bar(CLID 8107) + in DataObject @0x45a53c0 object modifiable when retrieved -ClassIDSvc INFO getRegistryEntries: read 1081 CLIDRegistry entries for module ALL AthenaOutputStr...WARNING add: can not find clid 13 in clid db AthenaOutputStream DEBUG addItemObjects(13,"*") called AthenaOutputStream DEBUG Key:* diff --git a/Control/AthenaServices/src/AthenaOutputStream.cxx b/Control/AthenaServices/src/AthenaOutputStream.cxx index 05c3c09b33f..4a24985696d 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.cxx +++ b/Control/AthenaServices/src/AthenaOutputStream.cxx @@ -32,7 +32,6 @@ #include "AthContainersInterfaces/IAuxStore.h" #include "AthContainersInterfaces/IAuxStoreIO.h" #include "OutputStreamSequencerSvc.h" -#include "MetaDataSvc.h" #include <boost/tokenizer.hpp> #include <cassert> @@ -144,14 +143,14 @@ AthenaOutputStream::AthenaOutputStream(const string& name, ISvcLocator* pSvcLoca m_dataStore("StoreGateSvc", name), m_metadataStore("MetaDataStore", name), m_currentStore(&m_dataStore), - m_itemSvc("ItemListSvc", name), + m_itemSvc("ItemListSvc", name), m_outputAttributes(), - m_pCLIDSvc("ClassIDSvc", name), - m_outSeqSvc("OutputStreamSequencerSvc", name), + m_pCLIDSvc("ClassIDSvc", name), + m_outSeqSvc("OutputStreamSequencerSvc", name), m_p2BWritten(string("SG::Folder/") + name + string("_TopFolder"), this), m_decoder(string("SG::Folder/") + name + string("_excluded"), this), m_transient(string("SG::Folder/") + name + string("_transient"), this), - m_events(0), + m_events(0), m_streamer(string("AthenaOutputStreamTool/") + name + string("Tool"), this), m_helperTools(this) { assert(pSvcLocator); @@ -316,75 +315,60 @@ StatusCode AthenaOutputStream::initialize() { return(status); } -StatusCode AthenaOutputStream::stop() -{ - ATH_MSG_INFO("AthenaOutputStream " << this->name() << " ::stop()"); - for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); - iter != m_helperTools.end(); iter++) { - if (!(*iter)->preFinalize().isSuccess()) { - ATH_MSG_ERROR("Cannot finalize helper tool"); - } - } - FileIncident fileInc(name(),"MetaDataStop","","Serial"); - ServiceHandle<MetaDataSvc> mdsvc("MetaDataSvc", name()); - if (mdsvc.retrieve().isFailure()) { - ATH_MSG_ERROR("Could not retrieve MetaDataSvc for stop actions"); - } - else { - ATH_CHECK(mdsvc->prepareOutput(fileInc)); - } - // Always force a final commit in stop - mainly applies to AthenaPool - if (m_writeOnFinalize) { - if (write().isFailure()) { // true mean write AND commit - ATH_MSG_ERROR("Cannot write on finalize"); - } - ATH_MSG_INFO("Records written: " << m_events); - } - - if (!m_metadataItemList.value().empty()) { - m_currentStore = &m_metadataStore; - StatusCode status = m_streamer->connectServices(m_metadataStore.type(), m_persName, false); - if (status.isFailure()) { - throw GaudiException("Unable to connect metadata services", name(), StatusCode::FAILURE); - } - m_checkNumberOfWrites = false; - m_outputAttributes = "[OutputCollection=MetaDataHdr][PoolContainerPrefix=MetaData][AttributeListKey=][DataHeaderSatellites=]"; - m_p2BWritten->clear(); - IProperty *pAsIProp(nullptr); - if ((m_p2BWritten.retrieve()).isFailure() || - nullptr == (pAsIProp = dynamic_cast<IProperty*>(&*m_p2BWritten)) || - (pAsIProp->setProperty("ItemList", m_metadataItemList.toString())).isFailure()) { - throw GaudiException("Folder property [metadataItemList] not found", name(), StatusCode::FAILURE); - } - if (write().isFailure()) { // true mean write AND commit - ATH_MSG_ERROR("Cannot write metadata"); - } - m_outputAttributes.clear(); - m_currentStore = &m_dataStore; - status = m_streamer->connectServices(m_dataStore.type(), m_persName, m_extendProvenanceRecord); - if (status.isFailure()) { - throw GaudiException("Unable to re-connect services", name(), StatusCode::FAILURE); - } - m_p2BWritten->clear(); - if ((pAsIProp->setProperty(m_itemList)).isFailure()) { - throw GaudiException("Folder property [itemList] not found", name(), StatusCode::FAILURE); - } - ATH_MSG_INFO("Records written: " << m_events); - for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); - iter != m_helperTools.end(); iter++) { - if (!(*iter)->postInitialize().isSuccess()) { - ATH_MSG_ERROR("Cannot initialize helper tool"); - } - } - } - return StatusCode::SUCCESS; -} - void AthenaOutputStream::handle(const Incident& inc) { ATH_MSG_DEBUG("handle() incident type: " << inc.type()); if (inc.type() == "MetaDataStop") { // Moved preFinalize of helper tools to stop - want to optimize the // output file in finalize RDS 12/2009 + for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); + iter != m_helperTools.end(); iter++) { + if (!(*iter)->preFinalize().isSuccess()) { + ATH_MSG_ERROR("Cannot finalize helper tool"); + } + } + // Always force a final commit in stop - mainly applies to AthenaPool + if (m_writeOnFinalize) { + if (write().isFailure()) { // true mean write AND commit + ATH_MSG_ERROR("Cannot write on finalize"); + } + ATH_MSG_INFO("Records written: " << m_events); + } + if (!m_metadataItemList.value().empty()) { + m_currentStore = &m_metadataStore; + StatusCode status = m_streamer->connectServices(m_metadataStore.type(), m_persName, false); + if (status.isFailure()) { + throw GaudiException("Unable to connect metadata services", name(), StatusCode::FAILURE); + } + m_checkNumberOfWrites = false; + m_outputAttributes = "[OutputCollection=MetaDataHdr][PoolContainerPrefix=MetaData][AttributeListKey=][DataHeaderSatellites=]"; + m_p2BWritten->clear(); + IProperty *pAsIProp(nullptr); + if ((m_p2BWritten.retrieve()).isFailure() || + nullptr == (pAsIProp = dynamic_cast<IProperty*>(&*m_p2BWritten)) || + (pAsIProp->setProperty("ItemList", m_metadataItemList.toString())).isFailure()) { + throw GaudiException("Folder property [metadataItemList] not found", name(), StatusCode::FAILURE); + } + if (write().isFailure()) { // true mean write AND commit + ATH_MSG_ERROR("Cannot write metadata"); + } + m_outputAttributes.clear(); + m_currentStore = &m_dataStore; + status = m_streamer->connectServices(m_dataStore.type(), m_persName, m_extendProvenanceRecord); + if (status.isFailure()) { + throw GaudiException("Unable to re-connect services", name(), StatusCode::FAILURE); + } + m_p2BWritten->clear(); + if ((pAsIProp->setProperty(m_itemList)).isFailure()) { + throw GaudiException("Folder property [itemList] not found", name(), StatusCode::FAILURE); + } + ATH_MSG_INFO("Records written: " << m_events); + for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); + iter != m_helperTools.end(); iter++) { + if (!(*iter)->postInitialize().isSuccess()) { + ATH_MSG_ERROR("Cannot initialize helper tool"); + } + } + } } else if (inc.type() == "UpdateOutputFile") { const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); if(fileInc!=nullptr) { @@ -524,7 +508,6 @@ StatusCode AthenaOutputStream::write() { } } if (failed) { - ATH_MSG_ERROR("Could not connectOutput"); return(StatusCode::FAILURE); } return(StatusCode::SUCCESS); @@ -544,30 +527,11 @@ void AthenaOutputStream::collectAllObjects() { } } m_p2BWritten->updateItemList(true); - std::vector<CLID> folderclids; // Collect all objects that need to be persistified: - //FIXME refactor: move this in folder. Treat as composite +//FIXME refactor: move this in folder. Treat as composite for (SG::IFolder::const_iterator i = m_p2BWritten->begin(), iEnd = m_p2BWritten->end(); i != iEnd; i++) { + //ATH_MSG_INFO("BLARG " << i->id() << " " << i->key()); addItemObjects(*i); - folderclids.push_back(i->id()); - } - - // FIXME This is a bruteforece hack to remove items erroneously - // added somewhere in the morass of the addItemObjects logic - IDataSelector prunedList; - for (auto it = m_objects.begin(); it != m_objects.end(); ++it) { - if (std::find(folderclids.begin(),folderclids.end(),(*it)->clID())!=folderclids.end()) { - prunedList.push_back(*it); // build new list that is correct - } - else { - ATH_MSG_DEBUG("Object " << (*it)->clID() <<","<< (*it)->name() << " found that was not in itemlist"); - } - } - m_objects.clear(); // clear previous list - //for (auto it = m_objects.begin(); it != m_objects.end(); ++it) { - for (auto it = prunedList.begin(); it != prunedList.end(); ++it) { - //ATH_MSG_INFO("GLARB " << (*it)->clID() << " " << (*it)->name()); - m_objects.push_back(*it); // copy new into previous } } @@ -723,6 +687,7 @@ void AthenaOutputStream::addItemObjects(const SG::FolderItem& item) attributes.insert(attr); std::stringstream temp; temp << tns.str() << attr; + //ATH_MSG_INFO("BLARG " << this->name() << " " << temp.str()); if (m_itemSvc->addStreamItem(this->name(),temp.str()).isFailure()) { ATH_MSG_WARNING("Unable to record item " << temp.str() << " in Svc"); } diff --git a/Control/AthenaServices/src/AthenaOutputStream.h b/Control/AthenaServices/src/AthenaOutputStream.h index 584d8a52889..f85aaa6968f 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.h +++ b/Control/AthenaServices/src/AthenaOutputStream.h @@ -143,7 +143,6 @@ public: virtual StatusCode initialize(); virtual StatusCode finalize(); virtual StatusCode execute(); - virtual StatusCode stop() override; //@} /// Stream the data virtual StatusCode write(); diff --git a/Control/AthenaServices/src/MetaDataSvc.cxx b/Control/AthenaServices/src/MetaDataSvc.cxx index a35352c729e..ce43e4a91ee 100644 --- a/Control/AthenaServices/src/MetaDataSvc.cxx +++ b/Control/AthenaServices/src/MetaDataSvc.cxx @@ -39,8 +39,7 @@ MetaDataSvc::MetaDataSvc(const std::string& name, ISvcLocator* pSvcLocator) : :: m_allowMetaDataStop(false), m_persToClid(), m_toolForClid(), - m_streamForKey(), - m_metaDataTools(this) { + m_streamForKey() { // declare properties declareProperty("MetaDataContainer", m_metaDataCont = ""); declareProperty("MetaDataTools", m_metaDataTools); @@ -118,11 +117,10 @@ StatusCode MetaDataSvc::initialize() { ATH_MSG_FATAL("Cannot get IncidentSvc."); return(StatusCode::FAILURE); } - if (m_metaDataTools.retrieve().isFailure()) { + if (!m_metaDataTools.retrieve().isSuccess()) { ATH_MSG_FATAL("Cannot get " << m_metaDataTools); return(StatusCode::FAILURE); } - ATH_MSG_INFO("Found " << m_metaDataTools); m_incSvc->addListener(this, "FirstInputFile", 90); m_incSvc->addListener(this, "BeginInputFile", 90); @@ -206,6 +204,13 @@ StatusCode MetaDataSvc::stop() { } } + // Set to be listener for end of event + Incident metaDataStopIncident(name(), "MetaDataStop"); + m_incSvc->fireIncident(metaDataStopIncident); + + // finalizing tools via metaDataStop + ATH_CHECK(this->prepareOutput()); + return(StatusCode::SUCCESS); } //_______________________________________________________________________ @@ -270,7 +275,6 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) ATH_MSG_ERROR("Unable to get FileName from EndInputFile incident"); return StatusCode::FAILURE; } - const std::string guid = fileInc->fileGuid(); const std::string fileName = fileInc->fileName(); m_allowMetaDataStop = false; if (fileName.find("BSF:") != 0) { @@ -288,7 +292,7 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) StatusCode rc(StatusCode::SUCCESS); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { ATH_MSG_DEBUG(" calling beginInputFile for " << (*it)->name()); - if ( (*it)->beginInputFile(guid).isFailure() ) { + if ( (*it)->beginInputFile().isFailure() ) { ATH_MSG_ERROR("Unable to call beginInputFile for " << it->name()); rc = StatusCode::FAILURE; } @@ -296,16 +300,10 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) return rc; } -StatusCode MetaDataSvc::retireMetadataSource(const Incident& inc) +StatusCode MetaDataSvc::retireMetadataSource(const Incident&) { - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc == nullptr) { - ATH_MSG_ERROR("Unable to get FileName from EndInputFile incident"); - return StatusCode::FAILURE; - } - const std::string guid = fileInc->fileGuid(); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { - if ( (*it)->endInputFile(guid).isFailure() ) { + if ( (*it)->endInputFile().isFailure() ) { ATH_MSG_ERROR("Unable to call endInputFile for " << it->name()); return StatusCode::FAILURE; } @@ -314,18 +312,12 @@ StatusCode MetaDataSvc::retireMetadataSource(const Incident& inc) return StatusCode::SUCCESS; } -StatusCode MetaDataSvc::prepareOutput(const Incident& inc) +StatusCode MetaDataSvc::prepareOutput() { - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc == nullptr) { - ATH_MSG_ERROR("Unable to get FileName from MetaDataStop incident"); - return StatusCode::FAILURE; - } - const std::string guid = fileInc->fileGuid(); StatusCode rc(StatusCode::SUCCESS); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { ATH_MSG_DEBUG(" calling metaDataStop for " << (*it)->name()); - if ( (*it)->metaDataStop(guid).isFailure() ) { + if ( (*it)->metaDataStop().isFailure() ) { ATH_MSG_ERROR("Unable to call metaDataStop for " << it->name()); rc = StatusCode::FAILURE; } @@ -385,7 +377,7 @@ void MetaDataSvc::handle(const Incident& inc) { ATH_MSG_ERROR("Could not retire metadata source " << fileName); } } else if (inc.type() == "LastInputFile") { - if (m_metaDataTools.release().isFailure()) { + if (!m_metaDataTools.release().isSuccess()) { ATH_MSG_WARNING("Cannot release " << m_metaDataTools); } } else if (inc.type() == "ShmProxy") { @@ -395,17 +387,16 @@ void MetaDataSvc::handle(const Incident& inc) { } } //__________________________________________________________________________ -StatusCode MetaDataSvc::transitionMetaDataFile(const FileIncident& inc, bool ignoreInputFile) { +StatusCode MetaDataSvc::transitionMetaDataFile(bool ignoreInputFile) { // Allow MetaDataStop only on Input file transitions if (!m_allowMetaDataStop && !ignoreInputFile) { return(StatusCode::FAILURE); } - //FileIncident metaDataStopIncident(name(), "MetaDataStop", inc.fileName(), inc.fileGuid()); - //m_incSvc->fireIncident(metaDataStopIncident); + Incident metaDataStopIncident(name(), "MetaDataStop"); + m_incSvc->fireIncident(metaDataStopIncident); // Set to be listener for end of event - //ATH_CHECK(this->prepareOutput(metaDataStopIncident)); - ATH_CHECK(this->prepareOutput(inc)); + ATH_CHECK(this->prepareOutput()); AthCnvSvc* cnvSvc = dynamic_cast<AthCnvSvc*>(m_addrCrtr.operator->()); if (cnvSvc) { diff --git a/Control/AthenaServices/src/MetaDataSvc.h b/Control/AthenaServices/src/MetaDataSvc.h index 67a401a2457..b91b43e337e 100644 --- a/Control/AthenaServices/src/MetaDataSvc.h +++ b/Control/AthenaServices/src/MetaDataSvc.h @@ -15,7 +15,6 @@ #include "GaudiKernel/Property.h" // no forward decl: typedef #include "GaudiKernel/IIncidentListener.h" #include "GaudiKernel/IIoComponent.h" -#include "GaudiKernel/FileIncident.h" #include "GaudiKernel/IFileMgr.h" // for FILEMGR_CALLBACK_ARGS #include "AthenaKernel/IAddressProvider.h" #include "AthenaBaseComps/AthService.h" @@ -76,7 +75,7 @@ public: // Non-static members /// Function called when the current state of metadata must be made /// ready for output - StatusCode prepareOutput(const Incident&); + StatusCode prepareOutput(); StatusCode proxyIncident(const Incident&); StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface); @@ -98,7 +97,7 @@ public: // Non-static members void handle(const Incident& incident); /// Transition output metadata file - fire MeteDataStop incident to transition OutputStream - StatusCode transitionMetaDataFile(const FileIncident&, bool ignoreInputFile = false); + StatusCode transitionMetaDataFile(bool ignoreInputFile = false); /// Callback method to reinitialize the internal state of the component for I/O purposes (e.g. upon @c fork(2)) StatusCode io_reinit(); diff --git a/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx b/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx index f9fbfd5f114..b00bdee427b 100644 --- a/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx +++ b/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx @@ -75,13 +75,9 @@ StatusCode OutputStreamSequencerSvc::queryInterface(const InterfaceID& riid, voi void OutputStreamSequencerSvc::handle(const Incident& inc) { ATH_MSG_INFO("handle " << name() << " incident type " << inc.type()); if (m_fileSequenceNumber > 0 || !m_fileSequenceLabel.empty()) { // Do nothing for first call - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc != nullptr) { - if (!m_metaDataSvc->transitionMetaDataFile(*fileInc, m_ignoreInputFile.value()).isSuccess()) { - ATH_MSG_FATAL("Cannot transition MetaDataSvc."); - } + if (!m_metaDataSvc->transitionMetaDataFile(m_ignoreInputFile.value()).isSuccess()) { + ATH_MSG_FATAL("Cannot transition MetaDataSvc."); } - else ATH_MSG_FATAL("Cannot transition MetaDataSvc."); } m_fileSequenceNumber++; m_fileSequenceLabel.clear(); diff --git a/Control/StoreGate/StoreGate/MetaHandleKey.icc b/Control/StoreGate/StoreGate/MetaHandleKey.icc index 1bfa1f60899..21d85907e74 100644 --- a/Control/StoreGate/StoreGate/MetaHandleKey.icc +++ b/Control/StoreGate/StoreGate/MetaHandleKey.icc @@ -40,18 +40,14 @@ namespace SG { // If container does not exist, then create it in the store // otherwise cache pointer to container if (m_store->contains< MetaCont<T> > (SG::VarHandleKey::key())) { - MsgStream msg(Athena::getMessageSvc(), "MetaHandleKey"); if (m_store->retrieve(m_cont, SG::VarHandleKey::key()).isFailure()) { + MsgStream msg(Athena::getMessageSvc(), "MetaHandleKey"); msg << MSG::ERROR << "MetaHandleKey::init(): unable to retrieve MetaCont of " << Gaudi::DataHandle::fullKey() << " from MetaDataStore" << endmsg; return StatusCode::FAILURE; } - else { - msg << MSG::INFO << "MetaCont found with key= " - << SG::VarHandleKey::key() << endmsg; - } } else { m_cont = new MetaCont<T>(SG::VarHandleKey::key()); if (m_store->record(m_cont, SG::VarHandleKey::key()).isFailure()) { diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref index 7eadff74abe..fd8dcc57047 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:03:06 CDT 2018 +Wed Jul 18 18:17:35 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:03:14 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:17:42 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,16 +35,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -53,7 +52,7 @@ WriteData DEBUG Data Deps for WriteData WriteTag INFO in initialize() Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -83,6 +82,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 460 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -153,7 +153,7 @@ SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] ##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile2.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 514 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 53 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -196,6 +196,7 @@ POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile2.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile2.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 1 events processed so far <<<=== WriteData DEBUG in execute() @@ -203,7 +204,6 @@ WriteData INFO EventInfo event: 21 run: 2 WriteData INFO registered all data WriteTag INFO EventInfo event: 21 run: 2 WriteTag INFO registered all data -ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -426,7 +426,7 @@ Stream1 DEBUG Added object 2101,"McEventInfo" Stream1 DEBUG Collected objects: Stream1 DEBUG Object/count: EventInfo_McEventInfo, 20 AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -450,6 +450,7 @@ MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase UPDATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] @@ -469,11 +470,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** +commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.238(+- 1.52)/ 0/ 10 [ms] #= 42 -commitOutput INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.476(+- 2.13)/ 0/ 10 [ms] #= 21 fRep_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.238(+- 1.52)/ 0/ 10 [ms] #= 42 cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0699(+-0.833)/ 0/ 10 [ms] #=143 -ChronoStatSvc INFO Time User : Tot= 0.69 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.77 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref index 33f8792539f..610977114f4 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:05:21 CDT 2018 +Wed Jul 18 20:05:04 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ConcatJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:05:29 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 20:05:12 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,11 +21,11 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL -ClassIDSvc INFO getRegistryEntries: read 385 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 384 CLIDRegistry entries for module ALL WriteData DEBUG Property update for OutputLevel : new value = 2 WriteData INFO in initialize() MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 @@ -36,16 +36,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -53,7 +52,7 @@ WriteData DEBUG Data Deps for WriteData + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+PetersHits' ) Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1472 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1272 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -116,6 +115,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 108 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -148,7 +148,6 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile1.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 108 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -208,6 +207,7 @@ SimplePoolFile1... DEBUG ---->Class:DataHeader_p5 SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile1.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile1.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL ReWriteData DEBUG in execute() ReWriteData INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector ReWriteData INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector @@ -255,7 +255,6 @@ SimplePoolFile3... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile3.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL Stream2 DEBUG addItemObjects(2101,"*") called Stream2 DEBUG Key:* Stream2 DEBUG Added object 2101,"McEventInfo" @@ -1242,7 +1241,7 @@ Stream2 DEBUG Collected objects: Stream2 DEBUG Object/count: EventInfo_McEventInfo, 20 Stream2 DEBUG Object/count: ExampleTrackContainer_MyTracks, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1276,7 +1275,8 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 -Stream2 INFO AthenaOutputStream Stream2 ::stop() +Stream1 DEBUG Leaving handle +Stream2 DEBUG handle() incident type: MetaDataStop Stream2 DEBUG addItemObjects(167728019,"Stream2") called Stream2 DEBUG Key:Stream2 Stream2 DEBUG Added object 167728019,"Stream2" @@ -1307,6 +1307,7 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 +Stream2 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? @@ -1331,10 +1332,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 42 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.323(+- 2.52)/ 0/ 20 [ms] #=124 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max= 0.12(+- 1.09)/ 0/ 10 [ms] #=166 -fRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.403(+- 2.34)/ 0/ 20 [ms] #=124 -ChronoStatSvc INFO Time User : Tot= 0.7 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.181(+- 1.33)/ 0/ 10 [ms] #=166 +fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.242(+- 1.54)/ 0/ 10 [ms] #=124 +cRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.403(+- 2.66)/ 0/ 20 [ms] #=124 +ChronoStatSvc INFO Time User : Tot= 0.78 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref index 132c0ec3050..8c82082b208 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:23 CDT 2018 +Fri Oct 19 21:07:10 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_CopyJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:33 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:07:26 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -40,16 +40,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -638,7 +637,7 @@ EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -671,6 +670,7 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -687,11 +687,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 -cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max= 0.12(+- 1.09)/ 0/ 10 [ms] #= 83 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 -cObj_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.806(+- 3.72)/ 0/ 20 [ms] #= 62 -ChronoStatSvc INFO Time User : Tot= 0.75 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 65 +fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.484(+- 2.15)/ 0/ 10 [ms] #= 62 +cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.361(+- 1.87)/ 0/ 10 [ms] #= 83 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 3.04)/ 0/ 20 [ms] #= 62 +ChronoStatSvc INFO Time User : Tot= 1.01 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref index 7c56942fd9a..b36732510ff 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:04:42 CDT 2018 +Wed Jul 18 18:56:51 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_FilterJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:04:50 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:56:58 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,9 +35,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -45,15 +45,11 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully EventSelector.Q... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 2218 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1969 CLIDRegistry entries for module ALL EventSelector.Q... INFO in initialize() EventSelector INFO reinitialization... EventSelector INFO EventSelection with query EventNumber > 5 @@ -125,7 +121,6 @@ MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 74 CLIDRegistry entries for module ALL EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) MetaDataHdrForm... DEBUG Opening @@ -133,12 +128,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -148,7 +137,7 @@ ReadData DEBUG Data Deps for ReadData + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 76 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -176,7 +165,7 @@ Stream1 DEBUG Data Deps for Stream1 WriteTag INFO in initialize() RegStream1 DEBUG Property update for OutputLevel : new value = 2 RegStream1.RegS... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 337 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 336 CLIDRegistry entries for module ALL RegStream1 DEBUG In initialize RegStream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: RegStream1 with no Algs @@ -185,6 +174,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"RunEventTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") RegStream1 DEBUG End initialize @@ -200,9 +191,7 @@ ApplicationMgr INFO Application Manager Started successfully MetaDataSvc DEBUG handle() BeginInputFile for FID:???? MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for FID:???? -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. @@ -777,8 +766,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -811,7 +799,10 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? Stream1 INFO Records written: 11 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 10 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -834,8 +825,8 @@ cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0 fRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 32 cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 43 cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.286(+- 1.67)/ 0/ 10 [ms] #= 35 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.606(+- 2.39)/ 0/ 10 [ms] #= 33 -ChronoStatSvc INFO Time User : Tot= 0.85 [s] #= 1 +cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.909(+- 2.87)/ 0/ 10 [ms] #= 33 +ChronoStatSvc INFO Time User : Tot= 0.83 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref index fc6911d49bd..279d5f6badb 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:30 CDT 2018 +Fri Oct 19 21:10:30 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RCondJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:40 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:10:46 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -40,9 +40,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -51,10 +51,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog1.xml PoolSvc INFO POOL WriteCatalog is file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -129,12 +125,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully CondProxyProvider DEBUG Property update for OutputLevel : new value = 2 @@ -254,9 +244,7 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -963,6 +951,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize @@ -976,9 +965,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.204(+- 1.41)/ 0/ 10 [ms] #= 49 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 49 cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.652(+- 2.47)/ 0/ 10 [ms] #= 46 -ChronoStatSvc INFO Time User : Tot= 0.67 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.98 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref index 5c3a3102a89..604d8576a2c 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:04:54 CDT 2018 +Wed Jul 18 18:57:01 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RFilterJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:05:05 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:57:09 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,9 +35,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog1.xml PoolSvc INFO POOL WriteCatalog is file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -71,6 +67,7 @@ EventSelector DEBUG Try item: "SimplePoolCollection5.root" from the collec ApplicationMgr INFO Application Manager Started successfully EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 +ClassIDSvc INFO getRegistryEntries: read 1636 CLIDRegistry entries for module ALL EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A]. EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -137,13 +134,14 @@ AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager +ClassIDSvc INFO getRegistryEntries: read 78 CLIDRegistry entries for module ALL SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 1978 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== ReadData DEBUG in execute() @@ -158,6 +156,7 @@ CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits +ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 @@ -324,6 +323,7 @@ AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -333,9 +333,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 100 [ms] Ave/Min/Max= 3.23(+- 15.9)/ 0/ 90 [ms] #= 31 -cObj_ALL INFO Time User : Tot= 110 [ms] Ave/Min/Max= 3.67(+- 16.2)/ 0/ 90 [ms] #= 30 -ChronoStatSvc INFO Time User : Tot= 0.75 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 80 [ms] Ave/Min/Max= 2.58(+- 14.1)/ 0/ 80 [ms] #= 31 +cObj_ALL INFO Time User : Tot= 100 [ms] Ave/Min/Max= 3.33(+- 16.2)/ 0/ 90 [ms] #= 30 +ChronoStatSvc INFO Time User : Tot= 0.74 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref index 96c3bfd9bfa..6edaf6b1c7b 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:55 CDT 2018 +Fri Oct 19 21:01:34 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RMetaJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:38:08 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:01:54 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -37,9 +37,9 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog2.xml) [ok PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -47,12 +47,7 @@ PoolSvc DEBUG POOL ReadCatalog is xmlcatalog_file:Catalog2.xml PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc.Ath... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.Ath... INFO in initialize() -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool','AthPoolEx::ReadMeta']) +ToolSvc.AthPool... INFO in initialize() EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -129,12 +124,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -219,19 +208,14 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.AthPoolEx::ReadMeta -MetaDataSvc.Ath... DEBUG saw BeginInputFile incident. +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.AthPoolEx::ReadMeta SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(ExampleHitContainer_p1/PedestalWriteData) MetaData(Exampl... DEBUG Opening MetaData(Exampl... DEBUG attributes# = 1 MetaData(Exampl... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' MetaData(Exampl... DEBUG Opened container MetaData(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -MetaDataSvc.Ath... INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile5.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc.Ath... DEBUG handle() BeginInputFile -MetaDataSvc.Ath... DEBUG handle() BeginInputFile for SimplePoolFile5.root +ToolSvc.AthPool... INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -881,19 +865,21 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.AthPoolEx::ReadMeta ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() IncidentProcAlg2 INFO Finalize AthDictLoaderSvc INFO in finalize... ToolSvc INFO Removing all tools created by ToolSvc -MetaDataSvc.Ath... INFO in finalize() +ToolSvc.AthPool... INFO in finalize() *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 47 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.667(+- 2.49)/ 0/ 10 [ms] #= 45 -ChronoStatSvc INFO Time User : Tot= 0.73 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.213(+- 1.44)/ 0/ 10 [ms] #= 47 +cObj_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max= 1.11(+- 4.33)/ 0/ 20 [ms] #= 45 +ChronoStatSvc INFO Time User : Tot= 0.98 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref index 202ff7c4506..38797111b19 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:34:56 CDT 2018 +Fri Oct 19 20:56:49 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:06 2018 + running on lxplus060.cern.ch on Fri Oct 19 20:57:03 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -130,12 +126,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -190,6 +180,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -210,9 +202,7 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile1. MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -1936,8 +1926,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1970,7 +1959,10 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -1992,11 +1984,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 66 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 2.52)/ 0/ 20 [ms] #= 62 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.56)/ 0/ 20 [ms] #=163 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.152(+- 1.22)/ 0/ 10 [ms] #= 66 +fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.1)/ 0/ 10 [ms] #=163 cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 2.44)/ 0/ 10 [ms] #= 63 -ChronoStatSvc INFO Time User : Tot= 0.83 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.96 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref index 06f5e43618f..fc3ee51601d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:37 CDT 2018 +Fri Oct 19 21:07:30 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:49 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:07:46 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -124,12 +120,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -184,6 +174,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -266,9 +258,7 @@ MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -1991,8 +1981,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -2025,8 +2014,11 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 RegStream1.TagTool INFO Unable to register collection: PFN 'RootCollection||PFN:SimplePoolCollection3.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -2046,13 +2038,13 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 +cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.317(+- 1.75)/ 0/ 10 [ms] #= 63 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.1)/ 0/ 10 [ms] #=163 -fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 2.46)/ 0/ 10 [ms] #= 62 -ChronoStatSvc INFO Time User : Tot= 0.86 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.56)/ 0/ 20 [ms] #=163 +fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 3.04)/ 0/ 20 [ms] #= 62 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.02)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 1.12 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref index db49a898936..2e5e28b1cd6 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:53 CDT 2018 +Fri Oct 19 21:15:56 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteNextJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:36:03 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:16:21 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -130,12 +126,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -190,6 +180,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -210,9 +202,7 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile3. MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -1334,8 +1324,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1368,7 +1357,10 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -1388,13 +1380,13 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 65 +commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0613(+-0.781)/ 0/ 10 [ms] #=163 fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.476(+- 2.13)/ 0/ 10 [ms] #= 63 -ChronoStatSvc INFO Time User : Tot= 0.84 [s] #= 1 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.51)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 1.16 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref index a61aa3b607e..f89f0d6e8b0 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:10 CDT 2018 +Fri Oct 19 20:57:10 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:20 2018 + running on lxplus060.cern.ch on Fri Oct 19 20:57:29 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -35,19 +35,15 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -173,12 +169,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -243,9 +233,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. @@ -264,10 +252,7 @@ PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_ MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -336,7 +321,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -369,7 +354,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -402,7 +387,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -435,7 +420,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -468,7 +453,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -501,7 +486,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -534,7 +519,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -567,7 +552,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -600,7 +585,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -633,7 +618,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20092 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -696,10 +681,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -788,10 +770,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. @@ -842,7 +821,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -870,7 +849,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -898,7 +877,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -926,7 +905,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -954,7 +933,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -982,7 +961,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1010,7 +989,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1038,7 +1017,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1066,7 +1045,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1094,7 +1073,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1122,7 +1101,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1150,7 +1129,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1178,7 +1157,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1206,7 +1185,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1234,7 +1213,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1262,7 +1241,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1290,7 +1269,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1318,7 +1297,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1346,7 +1325,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1374,7 +1353,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18811 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1403,7 +1382,7 @@ ReadData INFO EventInfo event: 20 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1431,7 +1410,7 @@ ReadData INFO EventInfo event: 21 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1459,7 +1438,7 @@ ReadData INFO EventInfo event: 22 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1487,7 +1466,7 @@ ReadData INFO EventInfo event: 23 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1515,7 +1494,7 @@ ReadData INFO EventInfo event: 24 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1543,7 +1522,7 @@ ReadData INFO EventInfo event: 25 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1571,7 +1550,7 @@ ReadData INFO EventInfo event: 26 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1599,7 +1578,7 @@ ReadData INFO EventInfo event: 27 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1627,7 +1606,7 @@ ReadData INFO EventInfo event: 28 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1655,7 +1634,7 @@ ReadData INFO EventInfo event: 29 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1683,7 +1662,7 @@ ReadData INFO EventInfo event: 30 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1711,7 +1690,7 @@ ReadData INFO EventInfo event: 31 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1739,7 +1718,7 @@ ReadData INFO EventInfo event: 32 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1767,7 +1746,7 @@ ReadData INFO EventInfo event: 33 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1795,7 +1774,7 @@ ReadData INFO EventInfo event: 34 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1823,7 +1802,7 @@ ReadData INFO EventInfo event: 35 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1851,7 +1830,7 @@ ReadData INFO EventInfo event: 36 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1879,7 +1858,7 @@ ReadData INFO EventInfo event: 37 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1907,7 +1886,7 @@ ReadData INFO EventInfo event: 38 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1935,7 +1914,7 @@ ReadData INFO EventInfo event: 39 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19198 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2029,10 +2008,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -2082,7 +2058,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2108,7 +2084,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2134,7 +2110,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2160,7 +2136,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2186,7 +2162,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2212,7 +2188,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2238,7 +2214,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2264,7 +2240,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2290,7 +2266,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2316,7 +2292,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2342,7 +2318,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2368,7 +2344,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2394,7 +2370,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2420,7 +2396,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2446,7 +2422,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2472,7 +2448,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2498,7 +2474,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2524,7 +2500,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2550,7 +2526,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2576,7 +2552,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18965 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2585,6 +2561,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2594,9 +2571,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.161(+- 1.26)/ 0/ 10 [ms] #=124 -cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.526(+- 2.6)/ 0/ 20 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.82 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0806(+-0.894)/ 0/ 10 [ms] #=124 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.351(+- 2.63)/ 0/ 20 [ms] #=114 +ChronoStatSvc INFO Time User : Tot= 1.05 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref index 90560152bd4..1092a16285b 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:36:32 CDT 2018 +Fri Oct 19 21:17:09 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:36:42 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:18:12 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -35,19 +35,15 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -395,7 +380,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -428,7 +413,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -461,7 +446,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -494,7 +479,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -527,7 +512,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -560,7 +545,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -593,7 +578,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -626,7 +611,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -659,7 +644,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -692,7 +677,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19648 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -848,10 +830,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. @@ -902,7 +881,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -930,7 +909,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -958,7 +937,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -986,7 +965,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1014,7 +993,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1042,7 +1021,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1070,7 +1049,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1098,7 +1077,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1126,7 +1105,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1154,7 +1133,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1182,7 +1161,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1210,7 +1189,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1238,7 +1217,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1266,7 +1245,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1294,7 +1273,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1322,7 +1301,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1350,7 +1329,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1378,7 +1357,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1406,7 +1385,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1434,7 +1413,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18805 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1463,7 +1442,7 @@ ReadData INFO EventInfo event: 20 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1491,7 +1470,7 @@ ReadData INFO EventInfo event: 21 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1519,7 +1498,7 @@ ReadData INFO EventInfo event: 22 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1547,7 +1526,7 @@ ReadData INFO EventInfo event: 23 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1575,7 +1554,7 @@ ReadData INFO EventInfo event: 24 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1603,7 +1582,7 @@ ReadData INFO EventInfo event: 25 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1631,7 +1610,7 @@ ReadData INFO EventInfo event: 26 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1659,7 +1638,7 @@ ReadData INFO EventInfo event: 27 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1687,7 +1666,7 @@ ReadData INFO EventInfo event: 28 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1715,7 +1694,7 @@ ReadData INFO EventInfo event: 29 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1743,7 +1722,7 @@ ReadData INFO EventInfo event: 30 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1771,7 +1750,7 @@ ReadData INFO EventInfo event: 31 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1799,7 +1778,7 @@ ReadData INFO EventInfo event: 32 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1827,7 +1806,7 @@ ReadData INFO EventInfo event: 33 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1855,7 +1834,7 @@ ReadData INFO EventInfo event: 34 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1883,7 +1862,7 @@ ReadData INFO EventInfo event: 35 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1911,7 +1890,7 @@ ReadData INFO EventInfo event: 36 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1939,7 +1918,7 @@ ReadData INFO EventInfo event: 37 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1967,7 +1946,7 @@ ReadData INFO EventInfo event: 38 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1995,7 +1974,7 @@ ReadData INFO EventInfo event: 39 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19192 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2089,10 +2068,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -2142,7 +2118,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2168,7 +2144,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2194,7 +2170,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2220,7 +2196,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2246,7 +2222,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2272,7 +2248,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2298,7 +2274,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2324,7 +2300,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2350,7 +2326,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2376,7 +2352,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2402,7 +2378,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2428,7 +2404,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2454,7 +2430,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2480,7 +2456,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2506,7 +2482,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2532,7 +2508,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2558,7 +2534,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2584,7 +2560,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2610,7 +2586,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2636,7 +2612,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19065 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2645,6 +2621,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2655,8 +2632,8 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.175(+- 1.31)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.79 [s] #= 1 +cObj_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.439(+- 2.78)/ 0/ 20 [ms] #=114 +ChronoStatSvc INFO Time User : Tot= 1.05 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref deleted file mode 100644 index 01f968c2290..00000000000 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref +++ /dev/null @@ -1,3089 +0,0 @@ -Fri Sep 28 09:36:06 CDT 2018 -Preloading tcmalloc_minimal.so -Athena INFO including file "AthenaCommon/Preparation.py" -Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" -Athena INFO executing ROOT6Setup -Athena INFO including file "AthenaCommon/Execution.py" -Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadBNJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5500 configurables from 17 genConfDb files -Py:ConfigurableDb INFO No duplicates have been found: that's good ! -Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr SUCCESS -==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Fri Sep 28 09:36:15 2018 -==================================================================================================================================== -ApplicationMgr INFO Successfully loaded modules : AthenaServices -ApplicationMgr INFO Application Manager Configured successfully -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -StatusCodeSvc INFO initialize -AthDictLoaderSvc INFO in initialize... -AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2946 CLIDRegistry entries for module ALL -CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) -AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 889 CLIDRegistry entries for module ALL -ReadData DEBUG Property update for OutputLevel : new value = 2 -ReadData INFO in initialize() -MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully -AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -PoolSvc DEBUG Property update for OutputLevel : new value = 2 -PoolSvc DEBUG Service base class initialized successfully -PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled -PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-24T2109/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] -PoolSvc INFO Successfully setup replica sorting algorithm -PoolSvc DEBUG OutputLevel is -PoolSvc INFO Setting up APR FileCatalog and Streams -PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) -EventSelector DEBUG Property update for OutputLevel : new value = 2 -EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 -EventSelector DEBUG Service base class initialized successfully -IoComponentMgr INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ -EventSelector INFO reinitialization... -EventSelector INFO EventSelection with query -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -MetaDataSvc DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 1964 CLIDRegistry entries for module ALL -EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 -AthenaPoolAddre... DEBUG Service base class initialized successfully -AthenaPoolAddre... INFO BackNavigationScope for: ExampleHitContainer#MyHits :: Stream1 -ReadData DEBUG input handles: 2 -ReadData DEBUG output handles: 0 -ReadData DEBUG Data Deps for ReadData - + INPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) - + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) -HistogramPersis...WARNING Histograms saving not required. -AthenaEventLoopMgr INFO Setup EventSelector service EventSelector -ApplicationMgr INFO Application Manager Initialized successfully -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -ApplicationMgr INFO Application Manager Started successfully -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile1.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector INFO skipping event 1 -EventSelector INFO skipping event 2 -EventSelector INFO skipping event 3 -EventSelector INFO skipping event 4 -EventSelector INFO skipping event 5 -EventSelector INFO skipping event 6 -EventSelector INFO skipping event 7 -EventSelector INFO skipping event 8 -EventSelector INFO skipping event 9 -EventSelector INFO skipping event 10 -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 1 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 2 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 3 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 4 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 5 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 6 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 7 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 8 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 9 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile2.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 6 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Param:FID=[????] -SimplePoolFile2... DEBUG --->Reading Param:PFN=[SimplePoolFile2.root] -SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile2.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 0 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 6 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 9 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 0 run: 1 -ReadData INFO Get Smart data ptr 1 -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG Found Address: 0x???? -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO ElementLink1 = 1.2345 -ReadData INFO ElementLink2 = 30.1245 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 4.4445 -ReadData INFO Element = 0x???? : 10.8645 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 17.2845 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 17.2845 -ReadData INFO Element = 0x???? : 10.8645 -ReadData INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector -ReadData INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector -ReadData INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector -ReadData INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector -ReadData INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector -ReadData INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector -ReadData INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector -ReadData INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector -ReadData INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector -ReadData INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 101.234 -ReadData INFO ElementLink2 = 130.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 104.444 -ReadData INFO Element = 0x???? : 110.864 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 117.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 117.284 -ReadData INFO Element = 0x???? : 110.864 -ReadData INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector -ReadData INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector -ReadData INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector -ReadData INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector -ReadData INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector -ReadData INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector -ReadData INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector -ReadData INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector -ReadData INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector -ReadData INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 201.234 -ReadData INFO ElementLink2 = 230.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 204.445 -ReadData INFO Element = 0x???? : 210.864 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 217.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 217.285 -ReadData INFO Element = 0x???? : 210.864 -ReadData INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector -ReadData INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector -ReadData INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector -ReadData INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector -ReadData INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector -ReadData INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector -ReadData INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector -ReadData INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector -ReadData INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector -ReadData INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 301.235 -ReadData INFO ElementLink2 = 330.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 304.445 -ReadData INFO Element = 0x???? : 310.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 317.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 317.285 -ReadData INFO Element = 0x???? : 310.865 -ReadData INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector -ReadData INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector -ReadData INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector -ReadData INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector -ReadData INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector -ReadData INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector -ReadData INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector -ReadData INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector -ReadData INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector -ReadData INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 401.235 -ReadData INFO ElementLink2 = 430.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 404.445 -ReadData INFO Element = 0x???? : 410.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 417.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 417.285 -ReadData INFO Element = 0x???? : 410.865 -ReadData INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector -ReadData INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector -ReadData INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector -ReadData INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector -ReadData INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector -ReadData INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector -ReadData INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector -ReadData INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector -ReadData INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector -ReadData INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 501.235 -ReadData INFO ElementLink2 = 530.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 504.445 -ReadData INFO Element = 0x???? : 510.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 517.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 517.284 -ReadData INFO Element = 0x???? : 510.865 -ReadData INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector -ReadData INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector -ReadData INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector -ReadData INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector -ReadData INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector -ReadData INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector -ReadData INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector -ReadData INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector -ReadData INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector -ReadData INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 6 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 601.235 -ReadData INFO ElementLink2 = 630.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 604.445 -ReadData INFO Element = 0x???? : 610.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 617.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 617.284 -ReadData INFO Element = 0x???? : 610.865 -ReadData INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector -ReadData INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector -ReadData INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector -ReadData INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector -ReadData INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector -ReadData INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector -ReadData INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector -ReadData INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector -ReadData INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector -ReadData INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 701.235 -ReadData INFO ElementLink2 = 730.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 704.445 -ReadData INFO Element = 0x???? : 710.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 717.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 717.284 -ReadData INFO Element = 0x???? : 710.865 -ReadData INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector -ReadData INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector -ReadData INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector -ReadData INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector -ReadData INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector -ReadData INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector -ReadData INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector -ReadData INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector -ReadData INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector -ReadData INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 801.235 -ReadData INFO ElementLink2 = 830.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 804.445 -ReadData INFO Element = 0x???? : 810.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 817.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 817.284 -ReadData INFO Element = 0x???? : 810.865 -ReadData INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector -ReadData INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector -ReadData INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector -ReadData INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector -ReadData INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector -ReadData INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector -ReadData INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector -ReadData INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector -ReadData INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector -ReadData INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 9 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 901.235 -ReadData INFO ElementLink2 = 930.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 904.445 -ReadData INFO Element = 0x???? : 910.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 917.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 917.284 -ReadData INFO Element = 0x???? : 910.865 -ReadData INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector -ReadData INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector -ReadData INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector -ReadData INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector -ReadData INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector -ReadData INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector -ReadData INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector -ReadData INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector -ReadData INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector -ReadData INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1001.23 -ReadData INFO ElementLink2 = 1030.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1004.44 -ReadData INFO Element = 0x???? : 1010.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1017.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1017.28 -ReadData INFO Element = 0x???? : 1010.86 -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1101.23 -ReadData INFO ElementLink2 = 1130.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1104.44 -ReadData INFO Element = 0x???? : 1110.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1117.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1117.28 -ReadData INFO Element = 0x???? : 1110.86 -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1201.23 -ReadData INFO ElementLink2 = 1230.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1204.44 -ReadData INFO Element = 0x???? : 1210.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1217.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1217.28 -ReadData INFO Element = 0x???? : 1210.86 -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1301.23 -ReadData INFO ElementLink2 = 1330.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1304.44 -ReadData INFO Element = 0x???? : 1310.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1317.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1317.28 -ReadData INFO Element = 0x???? : 1310.86 -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1401.23 -ReadData INFO ElementLink2 = 1430.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1404.44 -ReadData INFO Element = 0x???? : 1410.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1417.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1417.28 -ReadData INFO Element = 0x???? : 1410.86 -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1501.23 -ReadData INFO ElementLink2 = 1530.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1504.44 -ReadData INFO Element = 0x???? : 1510.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1517.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1517.28 -ReadData INFO Element = 0x???? : 1510.86 -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1601.23 -ReadData INFO ElementLink2 = 1630.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1604.44 -ReadData INFO Element = 0x???? : 1610.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1617.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1617.28 -ReadData INFO Element = 0x???? : 1610.86 -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1701.23 -ReadData INFO ElementLink2 = 1730.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1704.44 -ReadData INFO Element = 0x???? : 1710.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1717.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1717.28 -ReadData INFO Element = 0x???? : 1710.86 -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1801.23 -ReadData INFO ElementLink2 = 1830.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1804.44 -ReadData INFO Element = 0x???? : 1810.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1817.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1817.28 -ReadData INFO Element = 0x???? : 1810.86 -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1901.23 -ReadData INFO ElementLink2 = 1930.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1904.44 -ReadData INFO Element = 0x???? : 1910.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1917.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1917.28 -ReadData INFO Element = 0x???? : 1910.86 -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -MetaDataSvc DEBUG handle() LastInputFile for end -AthenaEventLoopMgr INFO No more events in event selection -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -ApplicationMgr INFO Application Manager Stopped successfully -IncidentProcAlg1 INFO Finalize -ReadData INFO in finalize() -IncidentProcAlg2 INFO Finalize -AthDictLoaderSvc INFO in finalize... -ToolSvc INFO Removing all tools created by ToolSvc -*****Chrono***** INFO **************************************************************************************************** -*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) -*****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max= 0.11(+- 1.04)/ 0/ 10 [ms] #=272 -cObj_ALL INFO Time User : Tot= 70 [ms] Ave/Min/Max=0.317(+- 2.21)/ 0/ 20 [ms] #=221 -ChronoStatSvc INFO Time User : Tot= 0.9 [s] #= 1 -*****Chrono***** INFO **************************************************************************************************** -ChronoStatSvc.f... INFO Service finalized successfully -ApplicationMgr INFO Application Manager Finalized successfully -ApplicationMgr INFO Application Manager Terminated successfully -Athena INFO leaving with code 0: "successful run" diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref index 7dfe8a69e41..9d981c2841f 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:02 CDT 2018 +Fri Oct 19 21:29:44 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:12 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:30:02 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -35,19 +35,15 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -395,7 +380,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -428,7 +413,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -461,7 +446,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -494,7 +479,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -527,7 +512,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -560,7 +545,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -593,7 +578,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -626,7 +611,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -659,7 +644,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -692,7 +677,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -848,10 +830,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. @@ -902,7 +881,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -930,7 +909,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -958,7 +937,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -986,7 +965,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1014,7 +993,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1042,7 +1021,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1070,7 +1049,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1098,7 +1077,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1126,7 +1105,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1154,7 +1133,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1182,7 +1161,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1210,7 +1189,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1238,7 +1217,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1266,7 +1245,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1294,7 +1273,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1322,7 +1301,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1350,7 +1329,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1378,7 +1357,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1406,7 +1385,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1434,7 +1413,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18817 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1463,7 +1442,7 @@ ReadData INFO EventInfo event: 20 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1491,7 +1470,7 @@ ReadData INFO EventInfo event: 21 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1519,7 +1498,7 @@ ReadData INFO EventInfo event: 22 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1547,7 +1526,7 @@ ReadData INFO EventInfo event: 23 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1575,7 +1554,7 @@ ReadData INFO EventInfo event: 24 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1603,7 +1582,7 @@ ReadData INFO EventInfo event: 25 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1631,7 +1610,7 @@ ReadData INFO EventInfo event: 26 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1659,7 +1638,7 @@ ReadData INFO EventInfo event: 27 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1687,7 +1666,7 @@ ReadData INFO EventInfo event: 28 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1715,7 +1694,7 @@ ReadData INFO EventInfo event: 29 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1743,7 +1722,7 @@ ReadData INFO EventInfo event: 30 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1771,7 +1750,7 @@ ReadData INFO EventInfo event: 31 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1799,7 +1778,7 @@ ReadData INFO EventInfo event: 32 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1827,7 +1806,7 @@ ReadData INFO EventInfo event: 33 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1855,7 +1834,7 @@ ReadData INFO EventInfo event: 34 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1883,7 +1862,7 @@ ReadData INFO EventInfo event: 35 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1911,7 +1890,7 @@ ReadData INFO EventInfo event: 36 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1939,7 +1918,7 @@ ReadData INFO EventInfo event: 37 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1967,7 +1946,7 @@ ReadData INFO EventInfo event: 38 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1995,7 +1974,7 @@ ReadData INFO EventInfo event: 39 run: 2 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19204 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -2082,10 +2061,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -2130,7 +2106,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2156,7 +2132,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2182,7 +2158,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2208,7 +2184,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2234,7 +2210,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2260,7 +2236,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2286,7 +2262,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2312,7 +2288,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2338,7 +2314,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2364,7 +2340,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2390,7 +2366,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2416,7 +2392,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2442,7 +2418,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2468,7 +2444,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2494,7 +2470,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2520,7 +2496,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2546,7 +2522,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2572,7 +2548,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2598,7 +2574,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -2624,7 +2600,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18604 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -2633,6 +2609,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2642,9 +2619,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.263(+- 1.6)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.76 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.161(+- 1.26)/ 0/ 10 [ms] #=124 +cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.526(+- 2.91)/ 0/ 20 [ms] #=114 +ChronoStatSvc INFO Time User : Tot= 1.07 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref deleted file mode 100644 index fca15dc8446..00000000000 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref +++ /dev/null @@ -1,2590 +0,0 @@ -Thu Sep 6 17:03:52 CDT 2018 -Preloading tcmalloc_minimal.so -Athena INFO including file "AthenaCommon/Preparation.py" -Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" -Athena INFO executing ROOT6Setup -Athena INFO including file "AthenaCommon/Execution.py" -Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadNoBNJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files -Py:ConfigurableDb INFO No duplicates have been found: that's good ! -Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr SUCCESS -==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:04:03 2018 -==================================================================================================================================== -ApplicationMgr INFO Successfully loaded modules : AthenaServices -ApplicationMgr INFO Application Manager Configured successfully -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -StatusCodeSvc INFO initialize -AthDictLoaderSvc INFO in initialize... -AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL -CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) -AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL -ReadData DEBUG Property update for OutputLevel : new value = 2 -ReadData INFO in initialize() -MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully -AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -PoolSvc DEBUG Property update for OutputLevel : new value = 2 -PoolSvc DEBUG Service base class initialized successfully -PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled -PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] -PoolSvc INFO Successfully setup replica sorting algorithm -PoolSvc DEBUG OutputLevel is -PoolSvc INFO Setting up APR FileCatalog and Streams -PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) -EventSelector DEBUG Property update for OutputLevel : new value = 2 -EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 -EventSelector DEBUG Service base class initialized successfully -IoComponentMgr INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ -EventSelector INFO reinitialization... -EventSelector INFO EventSelection with query -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -MetaDataSvc DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 1964 CLIDRegistry entries for module ALL -EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 -AthenaPoolAddre... DEBUG Service base class initialized successfully -ReadData DEBUG input handles: 2 -ReadData DEBUG output handles: 0 -ReadData DEBUG Data Deps for ReadData - + INPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) - + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) -HistogramPersis...WARNING Histograms saving not required. -AthenaEventLoopMgr INFO Setup EventSelector service EventSelector -ApplicationMgr INFO Application Manager Initialized successfully -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -ApplicationMgr INFO Application Manager Started successfully -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile1.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector INFO skipping event 1 -EventSelector INFO skipping event 2 -EventSelector INFO skipping event 3 -EventSelector INFO skipping event 4 -EventSelector INFO skipping event 5 -EventSelector INFO skipping event 6 -EventSelector INFO skipping event 7 -EventSelector INFO skipping event 8 -EventSelector INFO skipping event 9 -EventSelector INFO skipping event 10 -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 1 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 2 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 3 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 4 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 5 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 6 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 7 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 8 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 9 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9102, key = MyHits -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile2.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 6 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Param:FID=[????] -SimplePoolFile2... DEBUG --->Reading Param:PFN=[SimplePoolFile2.root] -SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile2.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 0 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 6 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 9 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 0 run: 1 -ReadData INFO Get Smart data ptr 1 -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 6 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 9 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 12 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 15 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 16 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 18 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -MetaDataSvc DEBUG handle() LastInputFile for end -AthenaEventLoopMgr INFO No more events in event selection -ApplicationMgr INFO Application Manager Stopped successfully -IncidentProcAlg1 INFO Finalize -ReadData INFO in finalize() -IncidentProcAlg2 INFO Finalize -AthDictLoaderSvc INFO in finalize... -ToolSvc INFO Removing all tools created by ToolSvc -*****Chrono***** INFO **************************************************************************************************** -*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) -*****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.104(+- 1.01)/ 0/ 10 [ms] #=193 -cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.331(+- 2.08)/ 0/ 20 [ms] #=181 -ChronoStatSvc INFO Time User : Tot= 0.82 [s] #= 1 -*****Chrono***** INFO **************************************************************************************************** -ChronoStatSvc.f... INFO Service finalized successfully -ApplicationMgr INFO Application Manager Finalized successfully -ApplicationMgr INFO Application Manager Terminated successfully -Athena INFO leaving with code 0: "successful run" diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref index 6eb7a61a0ce..026884eecfd 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:16 CDT 2018 +Fri Oct 19 21:19:05 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WCondJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:26 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:19:22 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -33,9 +33,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -50,10 +50,6 @@ ReadData INFO in initialize() MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 MetaDataSvc DEBUG Service base class initialized successfully -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -128,12 +124,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -223,9 +213,7 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. @@ -1117,6 +1105,7 @@ MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection WriteCond INFO in finalize() WriteCond INFO Pedestal x = 193136 y = 14420 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize Stream1 INFO Finalize: preparing to write conditions objects @@ -1196,9 +1185,9 @@ commitOutput INFO Time User : Tot= 0 [us] cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 2 fRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 2 cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 3 -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.217(+- 1.46)/ 0/ 10 [ms] #= 46 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.455(+- 2.08)/ 0/ 10 [ms] #= 44 -ChronoStatSvc INFO Time User : Tot= 0.71 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 46 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.909(+- 4.17)/ 0/ 20 [ms] #= 44 +ChronoStatSvc INFO Time User : Tot= 0.95 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref index 05ec60dd413..48d9453092d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:06:12 CDT 2018 +Wed Jul 18 20:12:16 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WMetaJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:06:20 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 20:12:25 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,25 +35,24 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog2.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+PetersHits' ) WriteCond INFO in initialize() +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -83,6 +82,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 460 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 0 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #0 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -127,7 +127,6 @@ SimplePoolFile5... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile5.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 461 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -187,6 +186,7 @@ SimplePoolFile5... DEBUG ---->Class:DataHeader_p5 SimplePoolFile5... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile5.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile5.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #1, run #0 1 events processed so far <<<=== WriteData DEBUG in execute() @@ -203,7 +203,6 @@ WriteCond INFO Hit x = 123.704 y = -42.0973 z = -53.6841 detector = D WriteCond INFO Hit x = 126.915 y = -47.7762 z = -55.0735 detector = DummyHitDetector WriteCond INFO Hit x = 130.125 y = -53.4551 z = -56.169 detector = DummyHitDetector WriteCond INFO registered all data -ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -667,7 +666,7 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #0 20 events processed so far <<<=== WriteCond INFO in finalize() WriteCond INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(9102,"PedestalWriteData") called Stream1 DEBUG Key:PedestalWriteData Stream1 DEBUG Added object 9102,"PedestalWriteData" @@ -711,6 +710,7 @@ SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] SimplePoolFile5... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] @@ -731,10 +731,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 -fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.476(+- 2.78)/ 0/ 20 [ms] #= 63 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.93)/ 0/ 30 [ms] #= 63 -cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.357(+- 2.41)/ 0/ 20 [ms] #= 84 -ChronoStatSvc INFO Time User : Tot= 0.72 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 84 +fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.317(+- 1.75)/ 0/ 10 [ms] #= 63 +cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.51)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 0.74 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref index ef277f306fd..4e10cf9c7f5 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref @@ -1,19 +1,19 @@ -Thu Sep 6 16:27:32 CDT 2018 +Wed Jul 18 18:17:23 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WriteJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 16:27:43 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:17:32 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,16 +35,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -54,7 +53,7 @@ WriteTag INFO in initialize() MagicWriteTag INFO in initialize() Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -78,7 +77,7 @@ Stream1 DEBUG Registering all Tools in ToolHandleArray HelperTools Stream1 DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools Stream1 DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool) Stream1 DEBUG Data Deps for Stream1 -ClassIDSvc INFO getRegistryEntries: read 353 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 352 CLIDRegistry entries for module ALL Stream2 DEBUG Property update for OutputLevel : new value = 2 Stream2.Stream2... DEBUG Property update for OutputLevel : new value = 2 Stream2 DEBUG In initialize @@ -113,6 +112,7 @@ HistogramPersis...WARNING Histograms saving not required. EventSelector INFO Enter McEventSelector Initialization AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully +ClassIDSvc INFO getRegistryEntries: read 525 CLIDRegistry entries for module ALL ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== @@ -152,7 +152,6 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile1.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 539 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -253,6 +252,7 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) SimplePoolFile1... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile1.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile1.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 83 CLIDRegistry entries for module ALL PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '' tech= PersistencySvc:... DEBUG registered PFN: SimplePoolFile2.root with FID:???? Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] ???? @@ -275,7 +275,6 @@ SimplePoolFile2... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile2.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 83 CLIDRegistry entries for module ALL Stream2 DEBUG addItemObjects(2101,"*") called Stream2 DEBUG Key:* Stream2 DEBUG Added object 2101,"McEventInfo" @@ -877,7 +876,7 @@ Stream2 DEBUG Key:* Stream2 DEBUG Collected objects: Stream2 DEBUG Object/count: EventInfo_McEventInfo, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -911,7 +910,8 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 -Stream2 INFO AthenaOutputStream Stream2 ::stop() +Stream1 DEBUG Leaving handle +Stream2 DEBUG handle() incident type: MetaDataStop Stream2 DEBUG addItemObjects(167728019,"Stream2") called Stream2 DEBUG Key:Stream2 Stream2 DEBUG Added object 167728019,"Stream2" @@ -942,7 +942,7 @@ MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_ SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 -Stream3 INFO AthenaOutputStream Stream3 ::stop() +Stream2 DEBUG Leaving handle PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '' tech= PersistencySvc:... DEBUG registered PFN: EmptyPoolFile.root with FID:???? Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] ???? @@ -1027,10 +1027,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 43 -cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0324(+-0.568)/ 0/ 10 [ms] #=309 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.189(+- 1.36)/ 0/ 10 [ms] #=106 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.377(+- 3.05)/ 0/ 30 [ms] #=106 -ChronoStatSvc INFO Time User : Tot= 0.77 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.0647(+-0.802)/ 0/ 10 [ms] #=309 +fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.377(+- 1.91)/ 0/ 10 [ms] #=106 +cRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.472(+- 3.98)/ 0/ 40 [ms] #=106 +ChronoStatSvc INFO Time User : Tot= 0.84 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h index c8ecfc9fd9d..7784b8871dd 100755 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h @@ -45,15 +45,6 @@ public: /// Function called when the tool should write out its metadata virtual StatusCode metaDataStop() {return StatusCode::SUCCESS;} - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// Incident service handle listening for BeginInputFile and EndInputFile. void handle(const Incident& incident); diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx index 45f6b6c7712..85ed9f1c73e 100755 --- a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx +++ b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx @@ -22,7 +22,7 @@ MetadataTest::MetadataTest(const std::string& name, ISvcLocator* pSvcLocator) : AthAlgorithm(name, pSvcLocator), m_hkey("CutBookkeepers","MetaDataStore"), m_eihkey("StreamAOD","MetaDataStore"), - //m_eihkey2("DataStream","MetaDataStore"), + m_eihkey2("DataStream","MetaDataStore"), m_esidone(false) { } @@ -35,7 +35,7 @@ StatusCode MetadataTest::start() // Get proper dbkey. ATH_CHECK( m_hkey.initialize() ); ATH_CHECK( m_eihkey.initialize() ); - //ATH_CHECK( m_eihkey2.initialize() ); + ATH_CHECK( m_eihkey2.initialize() ); m_esidone = false; return StatusCode::SUCCESS; } @@ -70,7 +70,6 @@ StatusCode MetadataTest::execute() } else { ATH_MSG_ERROR("Did not retrieve EventStreamInfo " << m_eihkey.objKey()); } -/* m_eihkey2.setDbKey(sid); SG::ReadMetaHandle<EventStreamInfo> eikey2(m_eihkey2,this->getContext()); const EventStreamInfo* esi2(*eikey2); @@ -79,7 +78,6 @@ StatusCode MetadataTest::execute() } else { ATH_MSG_ERROR("Did not retrieve EventStreamInfo " << m_eihkey2.objKey()); } -*/ m_esidone=true; } diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h index e609a14f020..c52374f8e1f 100755 --- a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h +++ b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h @@ -41,7 +41,7 @@ public: private: SG::ReadMetaHandleKey<xAOD::CutBookkeeperContainer> m_hkey; SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey; - //SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey2; + SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey2; bool m_esidone; diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx index c4ff3c32725..beb317affac 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx @@ -67,7 +67,7 @@ StatusCode CopyEventStreamInfo::finalize() { } -StatusCode CopyEventStreamInfo::beginInputFile(const SG::SourceID&) +StatusCode CopyEventStreamInfo::beginInputFile() { if (m_inputMetaDataStore->contains<EventStreamInfo>(m_key)) { std::list<SG::ObjectWithVersion<EventStreamInfo> > allVersions; @@ -120,11 +120,11 @@ StatusCode CopyEventStreamInfo::beginInputFile(const SG::SourceID&) } return(StatusCode::SUCCESS); } -StatusCode CopyEventStreamInfo::endInputFile(const SG::SourceID&) +StatusCode CopyEventStreamInfo::endInputFile() { return(StatusCode::SUCCESS); } -StatusCode CopyEventStreamInfo::metaDataStop(const SG::SourceID&) +StatusCode CopyEventStreamInfo::metaDataStop() { return(StatusCode::SUCCESS); } diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h index 62bdee0caee..df3aa7f21f5 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h @@ -32,14 +32,14 @@ public: StatusCode finalize(); /// Function called when a new input file is opened - virtual StatusCode beginInputFile(const SG::SourceID& = "Serial"); + virtual StatusCode beginInputFile(); /// Function called when the currently open input file got completely /// processed - virtual StatusCode endInputFile(const SG::SourceID& = "Serial"); + virtual StatusCode endInputFile(); /// Function called when the tool should write out its metadata - virtual StatusCode metaDataStop(const SG::SourceID& = "Serial"); + virtual StatusCode metaDataStop(); /// Incident service handle listening for BeginInputFile and EndInputFile. //void handle(const Incident& incident); diff --git a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h index e6a9b928c27..6898ecbf623 100755 --- a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h +++ b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h @@ -80,16 +80,6 @@ public: /// Function called when the tool should write out its metadata StatusCode metaDataStop() {return StatusCode::SUCCESS;} - /// Function called when a new input file is opened - StatusCode beginInputFile(const SG::SourceID&) {return this->beginInputFile();} - - /// Function called when the currently open input file got completely - /// processed - StatusCode endInputFile(const SG::SourceID&) {return this->endInputFile();} - - /// Function called when the tool should write out its metadata - StatusCode metaDataStop(const SG::SourceID&) {return this->metaDataStop();} - /// Incident service handle listening for BeginInputFile and EndInputFile. void handle(const Incident& incident); diff --git a/Database/RegistrationServices/src/RegistrationStream.cxx b/Database/RegistrationServices/src/RegistrationStream.cxx index e2cc95cb7bb..654b76440c8 100755 --- a/Database/RegistrationServices/src/RegistrationStream.cxx +++ b/Database/RegistrationServices/src/RegistrationStream.cxx @@ -125,7 +125,6 @@ RegistrationStream::initialize() ATH_MSG_DEBUG (" Tool initialized"); } -/* ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); status = incSvc.retrieve(); if (!status.isSuccess()) { @@ -136,7 +135,6 @@ RegistrationStream::initialize() } incSvc->addListener(this, "MetaDataStop", 30); ATH_MSG_DEBUG("Added MetaDataStop listener"); -*/ // Register this algorithm for 'I/O' events ServiceHandle<IIoComponentMgr> iomgr("IoComponentMgr", name()); @@ -179,14 +177,18 @@ RegistrationStream::finalize() return StatusCode::SUCCESS; } -StatusCode -RegistrationStream::stop() +void RegistrationStream::handle(const Incident& inc) { - StatusCode sc = m_regTool->commit(); - if (!sc.isSuccess()) ATH_MSG_INFO("Unable to commit"); - return StatusCode::SUCCESS; + // Now commit the results + ATH_MSG_DEBUG("handle() incident type: " << inc.type()); + if (inc.type() == "MetaDataStop") { + StatusCode sc = m_regTool->commit(); + if (!sc.isSuccess()) ATH_MSG_INFO("Unable to commit"); + + } } + // Work entry point StatusCode RegistrationStream::execute() @@ -521,12 +523,17 @@ std::vector<std::string> RegistrationStream::getCollMetadataKeys() StatusCode RegistrationStream::io_reinit() { ATH_MSG_DEBUG("I/O reinitialization..."); + ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); + if (!incSvc.retrieve().isSuccess()) { + ATH_MSG_FATAL("Cannot get the IncidentSvc"); + return StatusCode::FAILURE; + } + incSvc->addListener(this, "MetaDataStop", 30); return StatusCode::SUCCESS; } StatusCode RegistrationStream::io_finalize() { ATH_MSG_INFO("I/O finalization..."); -/* const Incident metaDataStopIncident(name(), "MetaDataStop"); this->handle(metaDataStopIncident); ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); @@ -535,6 +542,5 @@ StatusCode RegistrationStream::io_finalize() { return StatusCode::FAILURE; } incSvc->removeListener(this, "MetaDataStop"); -*/ return StatusCode::SUCCESS; } diff --git a/Database/RegistrationServices/src/RegistrationStream.h b/Database/RegistrationServices/src/RegistrationStream.h index d72572cde01..58e0ff51c2f 100755 --- a/Database/RegistrationServices/src/RegistrationStream.h +++ b/Database/RegistrationServices/src/RegistrationStream.h @@ -25,6 +25,7 @@ #include "GaudiKernel/Property.h" #include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ToolHandle.h" +#include "GaudiKernel/IIncidentListener.h" #include "GaudiKernel/IIoComponent.h" #include "AthenaBaseComps/FilteredAlgorithm.h" @@ -54,6 +55,7 @@ namespace SG */ class RegistrationStream : public FilteredAlgorithm, + virtual public IIncidentListener, virtual public IIoComponent { friend class AlgFactory<RegistrationStream>; @@ -65,7 +67,7 @@ public: /// Terminate RegistrationStream virtual StatusCode finalize(); - virtual StatusCode stop(); + virtual void handle(const Incident& incident); /// Working entry point virtual StatusCode execute(); diff --git a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx index 3f58c4f1680..92f7215b1ac 100644 --- a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx +++ b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx @@ -58,11 +58,6 @@ StatusCode ByteStreamMetadataTool::finalize() { } -StatusCode ByteStreamMetadataTool::beginInputFile(const SG::SourceID&) -{ - return this->beginInputFile(); -} - StatusCode ByteStreamMetadataTool::beginInputFile() { std::vector<std::string> vKeys; @@ -148,20 +143,11 @@ StatusCode ByteStreamMetadataTool::beginInputFile() } -StatusCode ByteStreamMetadataTool::endInputFile(const SG::SourceID&) -{ - return StatusCode::SUCCESS; -} - StatusCode ByteStreamMetadataTool::endInputFile() { return StatusCode::SUCCESS; } -StatusCode ByteStreamMetadataTool::metaDataStop(const SG::SourceID&) -{ - return StatusCode::SUCCESS; -} StatusCode ByteStreamMetadataTool::metaDataStop() { diff --git a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h index a9c579681ff..825855f3191 100644 --- a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h +++ b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h @@ -13,7 +13,6 @@ #include "GaudiKernel/ServiceHandle.h" #include "AthenaBaseComps/AthAlgTool.h" -#include "AthenaKernel/SourceID.h" #include "AthenaKernel/IMetaDataTool.h" #include <string> @@ -38,9 +37,6 @@ public: /// Incident service handle listening for BeginInputFile and EndInputFile. virtual StatusCode beginInputFile(); virtual StatusCode endInputFile(); - virtual StatusCode metaDataStop(const SG::SourceID&); - virtual StatusCode beginInputFile(const SG::SourceID&); - virtual StatusCode endInputFile(const SG::SourceID&); virtual StatusCode metaDataStop(); private: diff --git a/Event/EventBookkeeperTools/CMakeLists.txt b/Event/EventBookkeeperTools/CMakeLists.txt index c3f6b65e460..d12c167699e 100644 --- a/Event/EventBookkeeperTools/CMakeLists.txt +++ b/Event/EventBookkeeperTools/CMakeLists.txt @@ -15,7 +15,6 @@ atlas_depends_on_subdirs( PUBLIC PRIVATE Control/SGTools Control/StoreGate - Control/AthContainerInterfaces Event/EventBookkeeperMetaData Event/EventInfo Event/xAOD/xAODEventInfo ) diff --git a/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h b/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h index ebb5a272d71..0b1a2aad90c 100644 --- a/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h +++ b/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h @@ -7,11 +7,19 @@ /** @file BookkeeperTool.h * @brief This file contains the class definition for the BookkeeperTool class. - * @author Jack Cranshaw <cranshaw@anl.gov> - * $Id: $ + * @author Peter van Gemmeren <gemmeren@anl.gov> + * $Id: BookkeeperTool.h 663679 2015-04-29 08:31:54Z krasznaa $ **/ -#include "AthenaKernel/GenericMetadataTool.h" +//#include "GaudiKernel/AlgTool.h" +#include "AthenaBaseComps/AthAlgTool.h" +#include "AsgTools/AsgMetadataTool.h" +#ifdef ASGTOOL_ATHENA +#include "AthenaKernel/IMetaDataTool.h" +#endif // ASGTOOL_ATHENA +#include "GaudiKernel/IIncidentListener.h" +#include "GaudiKernel/ServiceHandle.h" +#include "AthenaKernel/ICutFlowSvc.h" #include "xAODCutFlow/CutBookkeeper.h" #include "xAODCutFlow/CutBookkeeperContainer.h" @@ -24,22 +32,50 @@ **/ -class BookkeeperTool : public GenericMetadataTool <xAOD::CutBookkeeperContainer, xAOD::CutBookkeeperAuxContainer> +class BookkeeperTool : public asg::AsgMetadataTool +#ifdef ASGTOOL_ATHENA + , public virtual ::IMetaDataTool +#endif // ASGTOOL_ATHENA { -public: - // Constructor and Destructor + ASG_TOOL_CLASS0(BookkeeperTool) +public: // Constructor and Destructor /// Standard Service Constructor - BookkeeperTool(const std::string& type, - const std::string& name, - const IInterface* parent); + BookkeeperTool(const std::string& name = "BookkeeperTool"); /// Destructor virtual ~BookkeeperTool(); +public: + //void handle(const Incident& incident); + virtual StatusCode metaDataStop(); + virtual StatusCode beginInputFile(); + virtual StatusCode endInputFile(); + virtual StatusCode initialize(); + virtual StatusCode finalize(); + private: /// Helper class to update a container with information from another one - virtual StatusCode updateContainer(xAOD::CutBookkeeperContainer* contToUpdate, - const xAOD::CutBookkeeperContainer* otherCont ); + StatusCode updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, + const xAOD::CutBookkeeperContainer* otherCont ); + + StatusCode copyContainerToOutput(const std::string& outname); + + /// Fill Cutflow information + StatusCode addCutFlow(); + + /// Pointer to cut flow svc + //ServiceHandle<ICutFlowSvc> m_cutflowsvc; + + /// The name of the output CutBookkeeperContainer + std::string m_outputCollName; + + /// The name of the input CutBookkeeperContainer + std::string m_inputCollName; + + /// The name of the CutFlowSvc CutBookkeeperContainer + std::string m_cutflowCollName; + + bool m_cutflowTaken; }; diff --git a/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx b/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx index 8bdabcef6f3..f7de4648787 100644 --- a/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx +++ b/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx @@ -13,28 +13,241 @@ // STL include #include <algorithm> -#include "AthenaKernel/MetaCont.h" -#include "AthenaKernel/ClassID_traits.h" +// #include "FillEBCFromFlat.h" + +#include "GaudiKernel/Incident.h" +#include "GaudiKernel/FileIncident.h" +#include "GaudiKernel/IIncidentSvc.h" #include "AthenaKernel/errorcheck.h" -#include "AthenaKernel/GenericMetadataTool.h" -#include "AthenaKernel/ICutFlowSvc.h" #include "AthenaBaseComps/AthCheckMacros.h" -#include "AthContainersInterfaces/IConstAuxStoreMeta.h" -BookkeeperTool::BookkeeperTool(const std::string& type, - const std::string& name, - const IInterface* parent) - : GenericMetadataTool <xAOD::CutBookkeeperContainer, xAOD::CutBookkeeperAuxContainer>(type,name,parent) + +BookkeeperTool::BookkeeperTool(const std::string& name) + : asg::AsgMetadataTool(name), + m_cutflowTaken(false) { + declareProperty("OutputCollName", m_outputCollName="CutBookkeepers", + "The default name of the xAOD::CutBookkeeperContainer for output files"); + declareProperty("InputCollName", m_inputCollName = "CutBookkeepers", + "The default name of the xAOD::CutBookkeeperContainer for input files"); + declareProperty("CutFlowCollName", m_cutflowCollName = "CutBookkeepersFile", + "The default name of the xAOD::CutBookkeeperContainer for CutFlowSvc"); +#ifdef ASGTOOL_ATHENA + declareInterface< ::IMetaDataTool >( this ); +#endif // ASGTOOL_ATHENA } + + BookkeeperTool::~BookkeeperTool() { } + +StatusCode +BookkeeperTool::initialize() +{ + ATH_MSG_DEBUG( "Initializing " << name() << " - package version " << PACKAGE_VERSION ); + + ATH_MSG_DEBUG("InputCollName = " << m_inputCollName); + ATH_MSG_DEBUG("OutputCollName = " << m_outputCollName); + ATH_MSG_DEBUG("CutFlowCollName = " << m_cutflowCollName); + + return StatusCode::SUCCESS; +} + + +//__________________________________________________________________________ +StatusCode BookkeeperTool::beginInputFile() +{ + //OPENING NEW INPUT FILE + //Things to do: + // 1) note that a file is currently opened + // 2) Load CutBookkeepers from input file + // 2a) if incomplete from input, directly propagate to output + // 2b) if complete from input, wait for EndInputFile to decide what to do in output + + // reset cutflow taken marker + m_cutflowTaken = false; + + // Get the incomplete bookkeeper collection of the input metadata store + const xAOD::CutBookkeeperContainer* input_inc = 0; + // Construct input and output incomplete names + std::string inCollName = "Incomplete" + m_inputCollName; + std::string outCollName = "Incomplete" + m_outputCollName; + if (inputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inCollName) ) { + StatusCode ssc = inputMetaStore()->retrieve( input_inc, inCollName ); + if (ssc.isSuccess()) { + // First make sure there is an incomplete container in the output store + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outCollName)) ) { + xAOD::CutBookkeeperContainer* inc = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxinc = new xAOD::CutBookkeeperAuxContainer(); + inc->setStore(auxinc); + ATH_CHECK(outputMetaStore()->record(inc,outCollName)); + ATH_CHECK(outputMetaStore()->record(auxinc,outCollName+"Aux.")); + } + // retrieve the incomplete output container + xAOD::CutBookkeeperContainer* incompleteBook(NULL); + ATH_CHECK(outputMetaStore()->retrieve( incompleteBook, outCollName)); + // update incomplete output with any incomplete input + ATH_CHECK(this->updateContainer(incompleteBook,input_inc)); + ATH_MSG_DEBUG("Successfully merged input incomplete bookkeepers with output"); + } + } + else { + ATH_MSG_INFO("No incomplete bookkeepers in this file " << inCollName); + } + + // Get the complete bookkeeper collection of the input metadata store + const xAOD::CutBookkeeperContainer* input_com = 0; + inCollName = m_inputCollName; + outCollName = m_outputCollName; + if (inputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inCollName) ) { + if ( (inputMetaStore()->retrieve( input_com, inCollName )).isSuccess() ) { + // Check if a tmp is there. IT SHOULD NOT BE + //xAOD::CutBookkeeperContainer* incompleteBook(NULL); + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outCollName+"tmp")) ) { + // Now create the tmp container + xAOD::CutBookkeeperContainer* tmp = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxtmp = new xAOD::CutBookkeeperAuxContainer(); + tmp->setStore(auxtmp); + if (updateContainer(tmp,input_com).isSuccess()) { + ATH_CHECK(outputMetaStore()->record(tmp,outCollName+"tmp")); + ATH_CHECK(outputMetaStore()->record(auxtmp,outCollName+"tmpAux.")); + } + else { + ATH_MSG_WARNING("Could not update tmp container from input complete conatiner"); + } + } + } + else { + ATH_MSG_WARNING("tmp collection already exists"); + return StatusCode::SUCCESS; + } + ATH_MSG_DEBUG("Successfully copied complete bookkeepers to temp container"); + } + + // Now make sure the output containers are in the output store + // + // Make sure complete container exists in output + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(m_outputCollName)) ) { + // Now create the complete container + xAOD::CutBookkeeperContainer* inc = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxinc = new xAOD::CutBookkeeperAuxContainer(); + inc->setStore(auxinc); + ATH_CHECK(outputMetaStore()->record(inc,m_outputCollName)); + ATH_CHECK(outputMetaStore()->record(auxinc,m_outputCollName+"Aux.")); + } + else { + ATH_MSG_WARNING("complete collection already exists"); + //return StatusCode::SUCCESS; + } + // Make sure incomplete container exists in output + std::string inc_name = "Incomplete"+m_outputCollName; + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inc_name)) ) { + // Now create the complete container + xAOD::CutBookkeeperContainer* coll = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxcoll = new xAOD::CutBookkeeperAuxContainer(); + coll->setStore(auxcoll); + ATH_CHECK(outputMetaStore()->record(coll,inc_name)); + ATH_CHECK(outputMetaStore()->record(auxcoll,inc_name+"Aux.")); + } + else { + ATH_MSG_WARNING("incomplete collection already exists"); + } + + return StatusCode::SUCCESS; +} + + +StatusCode BookkeeperTool::endInputFile() +{ + + if (copyContainerToOutput(m_outputCollName).isFailure()) return StatusCode::FAILURE; + + if (!m_cutflowTaken) { + if (addCutFlow().isFailure()) { + ATH_MSG_ERROR("Could not add CutFlow information"); + } + m_cutflowTaken = true; + } + else { + ATH_MSG_DEBUG("Cutflow information written into container before endInputFile"); + } + + return StatusCode::SUCCESS; +} + +StatusCode BookkeeperTool::metaDataStop() +{ + //TERMINATING THE JOB (EndRun) + //Things to do: + // 1) Create new incomplete CutBookkeepers if relevant + // 2) Print cut flow summary + // 3) Write root file if requested + // Make sure incomplete container exists in output + std::string inc_name = "Incomplete"+m_outputCollName; + if (copyContainerToOutput(inc_name).isFailure()) return StatusCode::FAILURE; + + + if (!m_cutflowTaken) { + if (addCutFlow().isFailure()) { + ATH_MSG_ERROR("Could not add CutFlow information"); + } + } + else { + ATH_MSG_DEBUG("Cutflow information written into container before metaDataStop"); + } + + // Reset after metadata stop + m_cutflowTaken = false; + + return StatusCode::SUCCESS; +} + + +StatusCode +BookkeeperTool::finalize() +{ + ATH_MSG_DEBUG( "Finalizing " << name() << " - package version " << PACKAGE_VERSION ); + return StatusCode::SUCCESS; +} + + +StatusCode BookkeeperTool::addCutFlow() +{ + // Add the information from the current processing to the complete output + // --> same paradigm as original CutFlowSvc + // Get the complete bookkeeper collection of the output meta-data store + xAOD::CutBookkeeperContainer* completeBook(NULL); + if( !(outputMetaStore()->retrieve( completeBook, m_outputCollName) ).isSuccess() ) { + ATH_MSG_ERROR( "Could not get complete CutBookkeepers from output MetaDataStore" ); + return StatusCode::FAILURE; + } + + // Get the bookkeeper from the current processing + const xAOD::CutBookkeeperContainer* fileCompleteBook(NULL); + if( outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(m_cutflowCollName) ) { + if( !(outputMetaStore()->retrieve( fileCompleteBook, m_cutflowCollName) ).isSuccess() ) { + ATH_MSG_WARNING( "Could not get CutFlowSvc CutBookkeepers from output MetaDataStore" ); + } + else { + // update the complete output with the complete input + ATH_CHECK(this->updateContainer(completeBook,fileCompleteBook)); + } + } + else { + ATH_MSG_INFO("No cutflow container " << m_cutflowCollName); + } + + return StatusCode::SUCCESS; +} + + namespace { + xAOD::CutBookkeeper* resolveLink (const xAOD::CutBookkeeper* old, xAOD::CutBookkeeperContainer& contToUpdate, @@ -168,3 +381,33 @@ BookkeeperTool::updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, return StatusCode::SUCCESS; } + +StatusCode BookkeeperTool::copyContainerToOutput(const std::string& outname) +{ + + // Get the complete bookkeeper collection of the output meta-data store + xAOD::CutBookkeeperContainer* contBook(nullptr); + if( !(outputMetaStore()->retrieve( contBook, outname) ).isSuccess() ) { + ATH_MSG_ERROR( "Could not get " << outname << " CutBookkeepers from output MetaDataStore" ); + return StatusCode::FAILURE; + } + + // Get the tmp bookkeeper from the input + const xAOD::CutBookkeeperContainer* tmpBook(NULL); + if ( outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outname+"tmp") ) { + if( !(outputMetaStore()->retrieve( tmpBook, outname+"tmp") ).isSuccess() ) { + ATH_MSG_WARNING( "Could not get tmp CutBookkeepers from output MetaDataStore" ); + } + else { + // update the complete output with the complete input + ATH_CHECK(this->updateContainer(contBook,tmpBook)); + // remove the tmp container + const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); + ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); + ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); + } + } + + return StatusCode::SUCCESS; +} + diff --git a/Event/EventBookkeeperTools/python/CutFlowHelpers.py b/Event/EventBookkeeperTools/python/CutFlowHelpers.py index 63135ea4f9d..98b28176bd2 100644 --- a/Event/EventBookkeeperTools/python/CutFlowHelpers.py +++ b/Event/EventBookkeeperTools/python/CutFlowHelpers.py @@ -44,7 +44,6 @@ def GetCurrentStreamName( msg, athFile=None ): def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlace=False, addMetaDataToAllOutputFiles=True, SGkey="CutBookkeepers" ): - print "CreateCutFlowSvc" """ Helper to create the CutFlowSvc, extract the needed information from the input file, and also schedule all the needed stuff. @@ -64,6 +63,8 @@ def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlac import AthenaCommon.CfgMgr as CfgMgr if not hasattr(svcMgr,"CutFlowSvc"): svcMgr += CfgMgr.CutFlowSvc() svcMgr.CutFlowSvc.InputStream = inputStreamName + #if not hasattr(svcMgr,"FileCutFlowSvc"): svcMgr += CfgMgr.FileCutFlowSvc() + #svcMgr.FileCutFlowSvc.InputStream = inputStreamName # Make sure MetaDataSvc is ready if not hasattr(svcMgr,'MetaDataSvc'): @@ -79,23 +80,23 @@ def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlac cutflowtool = BookkeeperTool(outname+"Tool", InputCollName = inname, OutputCollName= outname) - #svcMgr.ToolSvc += cutflowtool - + svcMgr.ToolSvc += cutflowtool # Add tool to MetaDataSvc svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] - for x in svcMgr.MetaDataSvc.MetaDataTools: - print x # Add pdf sum of weights counts if appropriate from AthenaCommon.GlobalFlags import globalflags if globalflags.DataSource() == 'geant4': + #from PyUtils import AthFile + #afc = AthFile.fopen( svcMgr.EventSelector.InputCollections[0] ) + # PDF name = "PDFSumOfWeights" pdfweighttool = BookkeeperTool(name, OutputCollName= name, InputCollName = name) - #svcMgr.ToolSvc += pdfweighttool + svcMgr.ToolSvc += pdfweighttool # Add tool to MetaDataSvc svcMgr.MetaDataSvc.MetaDataTools += [pdfweighttool] @@ -166,9 +167,9 @@ def CreateBookkeeperTool( name="CutBookkeepers" ): cutflowtool = BookkeeperTool(name, InputCollName=name, OutputCollName = name) - #svcMgr.ToolSvc += cutflowtool + svcMgr.ToolSvc += cutflowtool # Add tool to MetaDataSvc - svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] + #svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] return diff --git a/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h b/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h index 61ecf36f32c..dfba7d648e1 100644 --- a/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h +++ b/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h @@ -20,11 +20,5 @@ namespace xAOD { // Set up a CLID for the class: #include "xAODCore/CLASS_DEF.h" CLASS_DEF( xAOD::CutBookkeeperAuxContainer, 1147935274, 1 ) -#ifndef XAOD_STANDALONE -#include "AthenaKernel/MetaCont.h" -CLASS_DEF( MetaCont<xAOD::CutBookkeeperAuxContainer> , 1422109 , 1 ) -#include "SGTools/BaseInfo.h" -SG_BASE( MetaCont<xAOD::CutBookkeeperAuxContainer>, MetaContBase ); -#endif // not XAOD_STANDALONE #endif // XAODCUTFLOW_CUTBOOKKEEPERAUXCONTAINER_H diff --git a/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h b/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h index 33875ae4af5..b50053df42d 100644 --- a/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h +++ b/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h @@ -46,15 +46,6 @@ namespace xAODMaker { /// Function initialising the tool virtual StatusCode initialize(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// Function called when a new input file is opened virtual StatusCode beginInputFile(); diff --git a/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h b/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h index 1059a9bb4f2..f8915fc4ea6 100644 --- a/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h +++ b/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h @@ -70,15 +70,6 @@ namespace xAODMaker { /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return StatusCode::SUCCESS;} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return StatusCode::SUCCESS;} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return StatusCode::SUCCESS;} - /// @} private: diff --git a/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h b/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h index a0c1b5b4411..3f634650d3c 100644 --- a/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h +++ b/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h @@ -70,15 +70,6 @@ namespace xAODMaker { /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py b/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py index 3506b7054b0..c232c63fb29 100644 --- a/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py +++ b/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py @@ -27,12 +27,9 @@ rec.doWriteAOD.set_Value_and_Lock( False ) include( "RecExCommon/RecExCommon_topOptions.py" ) # Configure the metadata tool: -#ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", -# OutputLevel = 1 ) -tmdt = xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - OutputLevel = 1 ) -svcMgr.MetaDataSvc.MetaDataTools += [ tmdt ] -#svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] +ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 1 ) +svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # Set up an output file: from OutputStreamAthenaPool.MultipleStreamManager import MSMgr diff --git a/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h b/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h index cc8488c0381..176e75a24df 100644 --- a/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h +++ b/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h @@ -66,15 +66,6 @@ namespace xAODMaker { /// Function writing out the collected metadata virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h index c54351c59f3..155a53f06cd 100644 --- a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h +++ b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h @@ -56,15 +56,6 @@ namespace xAODMaker { /// Function writing out the collected metadata virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h b/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h index 05f68664da1..c38da2c3911 100644 --- a/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h +++ b/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h @@ -57,15 +57,6 @@ public: /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return this->beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return this->endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return this->metaDataStop();} - /// functions from ILumiBlockMetaDataTool inline const Root::TGRLCollection* getGRLCollection() const { return m_grlcollection; } inline const TString& getUniqueGRLString() const { return m_grlxmlstring; } diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py index a3e68dd70d0..0cf0bb11024 100644 --- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py +++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py @@ -1019,13 +1019,11 @@ if rec.doFileMetaData(): from LumiBlockComps.LumiBlockCompsConf import LumiBlockMetaDataTool svcMgr.MetaDataSvc.MetaDataTools += [ "LumiBlockMetaDataTool" ] # Trigger tool - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) - tmdt = CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) - svcMgr.MetaDataSvc.MetaDataTools += [ tmdt ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # EventFormat tool - #ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) ] + ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] else: # Create LumiBlock meta data containers *before* creating the output StreamESD/AOD @@ -1425,15 +1423,13 @@ if rec.doWriteAOD(): if rec.doFileMetaData(): # Trigger tool - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") ] + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # EventFormat tool - #ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") + ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") ] + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] # Put MetaData in AOD stream via AugmentedPoolStream_ # Write all meta data containers StreamAOD_Augmented.AddMetaDataItem(dfMetadataItemList()) diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py index a1a6d0b73d0..a33f1f71dae 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py @@ -140,10 +140,9 @@ if len(rec.DPDMakerScripts()) > 0: include( "RecExCommon/RecExCommon_topOptions.py" ) if hasattr(runArgs,"inputRDO_TRIGFile") and rec.doFileMetaData(): - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - # OutputLevel = 3 ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool",OutputLevel = 3 ) ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 3 ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] #========================================================== # Use LZIB for compression of temporary outputs of AthenaMP diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py index 72fdfe16687..59c331a419e 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py @@ -200,10 +200,9 @@ if hasattr(runArgs,"topOptions"): include(runArgs.topOptions) else: include( "RecExCommon/RecExCommon_topOptions.py" ) if hasattr(runArgs,"inputRDO_TRIGFile") and rec.doFileMetaData(): - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - # OutputLevel = 3 ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool",OutputLevel = 3 ) ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 3 ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] #========================================================== # Use LZIB for compression of temporary outputs of AthenaMP -- GitLab From b582f7be86f0b4616d4fd0473d0e53dd8555ca75 Mon Sep 17 00:00:00 2001 From: Peter Van Gemmeren <peter.van.gemmeren@cern.ch> Date: Mon, 5 Nov 2018 21:30:43 +0000 Subject: [PATCH 115/209] Remove commented out test --- .../AthenaPoolExampleAlgorithms/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt index dd17332f886..a2a0b3969b3 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt @@ -77,11 +77,6 @@ _add_test( AthenaPoolExample_Write "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_WriteJobOptions.py" EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) -# Append to existing file -#_add_test( AthenaPoolExample_Append -# "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" -# DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest -# EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read 'Hits' and write 'Tracks' _add_test( AthenaPoolExample_ReWrite "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py" -- GitLab From 1ab115ddfb206752f9bf98b128d51230ed5d8a82 Mon Sep 17 00:00:00 2001 From: Goetz Gaycken <goetz.gaycken@cern.ch> Date: Thu, 1 Nov 2018 18:34:11 +0100 Subject: [PATCH 116/209] Do not include unused header. --- .../VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx index e6a4fbd91db..04076ecd1d8 100644 --- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx +++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx @@ -27,7 +27,6 @@ #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/ObjectAccessor.h" #include "VP1Base/VP1QtUtils.h" #include <limits> -- GitLab From 892d4e869909d084d5419e94ef5f3fd69b00445d Mon Sep 17 00:00:00 2001 From: Goetz Gaycken <goetz.gaycken@cern.ch> Date: Thu, 1 Nov 2018 20:44:43 +0100 Subject: [PATCH 117/209] Replace object accessor with a multithreading friendly construct. The object accessors are replaced by std arrays. An iterator range over the array and the inverse retrieval flag are passed rather than a common base class. --- .../TrkDetDescrUtils/EightObjectsAccessor.h | 97 ----- .../TrkDetDescrUtils/FiveObjectsAccessor.h | 99 ----- .../TrkDetDescrUtils/FourObjectsAccessor.h | 98 ----- .../TrkDetDescrUtils/ObjectAccessor.h | 134 +++--- .../TrkDetDescrUtils/ObjectsAccessor.h | 16 + .../TrkDetDescrUtils/SixObjectsAccessor.h | 99 ----- .../TrkDetDescrUtils/ThreeObjectsAccessor.h | 96 ----- .../src/EightObjectsAccessor.cxx | 95 ----- .../src/FiveObjectsAccessor.cxx | 82 ---- .../src/FourObjectsAccessor.cxx | 75 ---- .../TrkDetDescrUtils/src/ObjectAccessor.cxx | 30 +- .../src/SixObjectsAccessor.cxx | 90 ----- .../src/ThreeObjectsAccessor.cxx | 76 ---- .../TrkGeometry/TrkGeometry/TrackingVolume.h | 4 +- .../TrkGeometry/src/TrackingVolume.cxx | 5 +- .../BevelledCylinderVolumeBoundaryAccessors.h | 47 +-- .../TrkVolumes/BevelledCylinderVolumeBounds.h | 8 +- .../TrkVolumes/CombinedVolumeBounds.h | 8 +- .../TrkVolumes/CuboidVolumeBounds.h | 16 +- .../CylinderVolumeBoundaryAccessors.h | 13 +- .../TrkVolumes/CylinderVolumeBounds.h | 6 +- .../TrkVolumes/DoubleTrapezoidVolumeBounds.h | 382 +++++++++--------- .../TrkVolumes/TrkVolumes/PrismVolumeBounds.h | 12 +- .../SimplePolygonBrepVolumeBounds.h | 16 +- .../TrkVolumes/SubtractedVolumeBounds.h | 16 +- .../TrkVolumes/TrapezoidVolumeBounds.h | 16 +- .../TrkVolumes/TrkVolumes/Volume.h | 8 +- .../TrkVolumes/TrkVolumes/VolumeBounds.h | 8 +- ...evelledCylinderVolumeBoundaryAccessors.cxx | 36 +- .../src/BevelledCylinderVolumeBounds.cxx | 62 +-- .../src/CylinderVolumeBoundaryAccessors.cxx | 50 +-- .../TrkVolumes/src/CylinderVolumeBounds.cxx | 62 +-- .../TrkDetDescr/TrkVolumes/src/Volume.cxx | 6 +- .../TrkExTools/src/Navigator.cxx | 20 +- 34 files changed, 479 insertions(+), 1409 deletions(-) delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h create mode 100644 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx delete mode 100755 Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h deleted file mode 100755 index 959277b8490..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// EightObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H - -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class EightObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class EightObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - EightObjectsAccessor(); - - /**Constructor of vector*/ - EightObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth, - int seventh, - int eighth); - - /**Copy constructor*/ - EightObjectsAccessor(const EightObjectsAccessor& accessor); - - /**Destructor*/ - ~EightObjectsAccessor(){} - - /**Assignment operator*/ - EightObjectsAccessor& operator= (const EightObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const EightObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[8]; - - }; - - inline int EightObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool EightObjectsAccessor::begin() const - { m_jumper=0; - return true; } - - inline bool EightObjectsAccessor::end() const - { return !(m_jumper==7); } - - inline const EightObjectsAccessor& EightObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<7) ? m_jumper+1 : 0; - return (*this); - } -} - - -#endif // TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h deleted file mode 100755 index 8435606195c..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FiveObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" - -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class FiveObjectsAccessor - - Explicit Accessor for five Objects in a specif way. - The size is fixed to be five objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class FiveObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - FiveObjectsAccessor(); - - /**Constructor of vector*/ - FiveObjectsAccessor(int first, - int second, - int third, - int fourth, - int five); - - /**Copy constructor*/ - FiveObjectsAccessor(const FiveObjectsAccessor& accessor); - - /**Destructor*/ - ~FiveObjectsAccessor(){} - - /**Assignment operator*/ - FiveObjectsAccessor& operator= (const FiveObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const FiveObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[5]; - mutable bool m_break; - - }; - - inline int FiveObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool FiveObjectsAccessor::begin() const - { m_jumper = 0; - m_break = false; - return true; } - - inline bool FiveObjectsAccessor::end() const - { return (!m_break); } - - inline const FiveObjectsAccessor& FiveObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<4) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h deleted file mode 100755 index a25faa4c022..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FourObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class FourObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class FourObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - FourObjectsAccessor(); - - /**Constructor of vector*/ - FourObjectsAccessor(int first, - int second, - int third, - int fourth, - bool inverse=false); - - /**Copy constructor*/ - FourObjectsAccessor(const FourObjectsAccessor& accessor); - - /**Destructor*/ - ~FourObjectsAccessor(){} - - /**Assignment operator*/ - FourObjectsAccessor& operator= (const FourObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const FourObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[4]; - mutable bool m_break; - - }; - - inline int FourObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool FourObjectsAccessor::begin() const - { m_jumper = 0; - m_break = false; - return true; } - - inline bool FourObjectsAccessor::end() const - { return (!m_break); } - - inline const FourObjectsAccessor& FourObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<3) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h index 5308be885ca..69d1bcdd8bf 100755 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h @@ -1,81 +1,55 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ +/* Dear emacs, this is -*-c++-*- */ +#ifndef _ObjectAccessor_H_ +#define _ObjectAccessor_H_ -/////////////////////////////////////////////////////////////////// -// ObjectAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_OBJECTACCESSOR_H -#define TRKDETDESCRUTILS_OBJECTACCESSOR_H -//Gaudi -#include "GaudiKernel/MsgStream.h" -// STL -#include <iostream> -#include <vector> - -namespace Trk { - - /** - @class ObjectAccessor - - Base class for accessors to std::vectors, - these should be optimized for different cases and - surface types. - - @author Andreas.Salzburger@cern.ch - */ - - class ObjectAccessor { - - public: - /** Default constructor*/ - ObjectAccessor(bool inverse=false) : - m_inverseCase(inverse) - {} - - /** Copy constructor */ - ObjectAccessor(const ObjectAccessor& oa); - - /** Destructor*/ - virtual ~ObjectAccessor(){} - - /** Assignment operator*/ - ObjectAccessor& operator=(const ObjectAccessor& oa); - - /** Interface method for surface the accessor int*/ - virtual int accessor() const = 0; - - /** Resets the accessor: begin*/ - virtual bool begin() const = 0; - - /** End of accessor */ - virtual bool end() const = 0; - - /** Required: operator++*/ - virtual const ObjectAccessor& operator++ () const = 0; - - /** Output Method for MsgStream, to be overloaded by child classes */ - virtual MsgStream& dump(MsgStream& sl) const = 0; - /** Output Method for std::ostream, to be overloaded by child classes */ - virtual std::ostream& dump(std::ostream& sl) const = 0; - - /** Flag if object has to retrieved by backward search */ - virtual bool inverseRetrieval() const; - - private: - bool m_inverseCase; //!< boolean flag to mark inverse retrieval - - }; - - inline bool ObjectAccessor::inverseRetrieval() const - { return m_inverseCase; } - -/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ -MsgStream& operator << ( MsgStream& sl, const ObjectAccessor& oac); -std::ostream& operator << ( std::ostream& sl, const ObjectAccessor& oac); - -} // end of namespace Trk - -#endif - +#include <array> +#include <ostream> + +class MsgStream; + +namespace Trk { +class ObjectAccessor +{ +public: + typedef int value_type; + using const_iterator = std::array<value_type, 99>::const_iterator ; // 99 is a dummy dimension. For all N the type of + // std::array<int, N>::const_iterator is the same + + template <size_t DIM> + ObjectAccessor( const std::array<int, DIM> &a, bool is_reverse=false) + : m_begin(a.begin()), + m_end(a.end()), + m_inverseRetrieval(is_reverse) + {} + + template <size_t DIM> + ObjectAccessor( const std::pair<std::array<int, DIM> , bool> &a) + : m_begin(a.first.begin()), + m_end(a.first.end()), + m_inverseRetrieval(a.second) + {} + + ObjectAccessor(ObjectAccessor::const_iterator the_begin, + ObjectAccessor::const_iterator the_end, + bool inverse_retrieval=false) + : m_begin(the_begin), + m_end(the_end), + m_inverseRetrieval(inverse_retrieval) + {} + + ObjectAccessor::const_iterator begin() const { return m_begin; } + ObjectAccessor::const_iterator end() const { return m_end; } + + bool inverseRetrieval() const { return m_inverseRetrieval; } + +private: + ObjectAccessor::const_iterator m_begin; + ObjectAccessor::const_iterator m_end; + bool m_inverseRetrieval; +}; + +MsgStream& operator << ( MsgStream& sl, const ObjectAccessor& oac); +std::ostream& operator << ( std::ostream& sl, const ObjectAccessor& oac); + +} +#endif diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h new file mode 100644 index 00000000000..660770d0ed9 --- /dev/null +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h @@ -0,0 +1,16 @@ +/* Dear emacs, this is -*-c++-*- */ +#ifndef _ObjectsAccessor_H_ +#define _ObjectsAccessor_H_ + +#include <array> +#include <utility> +#include "ObjectAccessor.h" + +namespace Trk { + using ThreeObjectsAccessor = std::array<ObjectAccessor::value_type,3>; + using FourObjectsAccessor = std::pair<std::array<ObjectAccessor::value_type,4>, bool>; // bool to indicate inverseRetrieval + using FiveObjectsAccessor = std::array<ObjectAccessor::value_type,5>; + using SixObjectsAccessor = std::array<ObjectAccessor::value_type,6>; + using EightObjectsAccessor = std::array<ObjectAccessor::value_type,8>; +} +#endif diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h deleted file mode 100755 index 2139579f20f..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// SixObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class SixObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class SixObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - SixObjectsAccessor(); - - /**Constructor of vector*/ - SixObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth); - - /**Copy constructor*/ - SixObjectsAccessor(const SixObjectsAccessor& accessor); - - /**Destructor*/ - ~SixObjectsAccessor(){} - - /**Assignment operator*/ - SixObjectsAccessor& operator= (const SixObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const SixObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[6]; - mutable bool m_break; - - }; - - inline int SixObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool SixObjectsAccessor::begin() const - { m_jumper=0; - m_break = false; - return true; } - - inline bool SixObjectsAccessor::end() const - { return (!m_break); } - - inline const SixObjectsAccessor& SixObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<5) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h deleted file mode 100755 index e60df227744..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// ThreeObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_THREEOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_THREEOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class ThreeObjectsAccessor - - Explicit Accessor for three Objects in a specif way. - The size is fixed to be three objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class ThreeObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - ThreeObjectsAccessor(); - - /**Constructor of vector*/ - ThreeObjectsAccessor(int first, - int second, - int third); - - /**Copy constructor*/ - ThreeObjectsAccessor(const ThreeObjectsAccessor& accessor); - - /**Destructor*/ - ~ThreeObjectsAccessor(){} - - /**Assignment operator*/ - ThreeObjectsAccessor& operator= (const ThreeObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const ThreeObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[3]; - mutable bool m_break; - - }; - - inline int ThreeObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool ThreeObjectsAccessor::begin() const - { m_jumper =0; - m_break = false; - return true; } - - inline bool ThreeObjectsAccessor::end() const - { return (!m_break); } - - inline const ThreeObjectsAccessor& ThreeObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<2) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx deleted file mode 100755 index d4acf5e8f95..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// EightObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/EightObjectsAccessor.h" - -/** Default constructor*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; - m_accessors[5] = 0; - m_accessors[6] = 0; - m_accessors[7] = 0; -} - -/**Constructor of vector*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth, - int seventh, - int eighth) : - Trk::ObjectAccessor(), - m_jumper(0) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; - m_accessors[5] = sixth; - m_accessors[6] = seventh; - m_accessors[7] = eighth; -} - -/**Copy constructor*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(const Trk::EightObjectsAccessor& accessor) : - Trk::ObjectAccessor(), - m_jumper(accessor.m_jumper) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; - m_accessors[5] = accessor.m_accessors[5]; - m_accessors[6] = accessor.m_accessors[6]; - m_accessors[7] = accessor.m_accessors[7]; -} - - -Trk::EightObjectsAccessor& Trk::EightObjectsAccessor::operator=(const Trk::EightObjectsAccessor& rhs) -{ - if (this!=&rhs){ - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_accessors[5] = rhs.m_accessors[5]; - m_accessors[6] = rhs.m_accessors[6]; - m_accessors[7] = rhs.m_accessors[7]; - } - return (*this); -} - -MsgStream& Trk::EightObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "EightObjectsAccessor: | "; - for (int iac=0; iac<8; ++iac) sl << m_accessors[iac] << " | "; - return sl; - -} - -std::ostream& Trk::EightObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "EightObjectsAccessor: | "; - for (int iac=0; iac<8; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx deleted file mode 100755 index 6cba535705b..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FiveObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" - -/** Default constructor*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; -} - -/**Constructor of vector*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; -} - -/**Copy constructor*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(const Trk::FiveObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; -} - - -Trk::FiveObjectsAccessor& Trk::FiveObjectsAccessor::operator=(const Trk::FiveObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::FiveObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "FiveObjectAccessor: | "; - for (int iac=0; iac<5; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - -std::ostream& Trk::FiveObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "FiveObjectAccessor: | "; - for (int iac=0; iac<5; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx deleted file mode 100755 index 6acaeccb1d8..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FourObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/FourObjectsAccessor.h" - -/** Default constructor*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; -} - -/**Constructor of vector*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(int first, - int second, - int third, - int fourth, - bool inverse) : - Trk::ObjectAccessor(inverse), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; -} - -/**Copy constructor*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(const Trk::FourObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(false) -{} - - -Trk::FourObjectsAccessor& Trk::FourObjectsAccessor::operator=(const Trk::FourObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::FourObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "FourObjectAccessor: | "; - for (int iac=0; iac<4; ++iac) sl << m_accessors[iac] << " | "; - if (inverseRetrieval()) sl << '\t' << "( inverseCase )"; - return sl; -} - -std::ostream& Trk::FourObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "FourObjectAccessor: | "; - for (int iac=0; iac<4; ++iac) sl << m_accessors[iac] << " | "; - if (inverseRetrieval()) sl << '\t' << "( inverseCase )"; - return sl; -} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx index 8353656936e..d82eebb0333 100755 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx @@ -8,26 +8,22 @@ #include "TrkDetDescrUtils/ObjectAccessor.h" -Trk::ObjectAccessor::ObjectAccessor(const Trk::ObjectAccessor& oa) : - m_inverseCase(oa.m_inverseCase) -{} +#include "GaudiKernel/MsgStream.h" +#include <iostream> -Trk::ObjectAccessor& Trk::ObjectAccessor::operator=(const Trk::ObjectAccessor& oa) -{ - if (this != &oa){ - m_inverseCase = oa.m_inverseCase; - } - return(*this); - -} - -/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ +/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ MsgStream& Trk::operator << ( MsgStream& sl, const Trk::ObjectAccessor& oac) { - return oac.dump(sl); + for( const ObjectAccessor::value_type &elm : oac ) { + sl << (oac.end() - oac.begin()) << "-ObjectAccessor: | " << elm << " | "; + } + return sl; } std::ostream& Trk::operator << ( std::ostream& sl, const Trk::ObjectAccessor& oac) -{ - return oac.dump(sl); -} +{ + for( const ObjectAccessor::value_type &elm : oac ) { + sl << (oac.end() - oac.begin()) << "-ObjectAccessor: | " << elm << " | "; + } + return sl; +} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx deleted file mode 100755 index 3cbfcc860bf..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// SixObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/SixObjectsAccessor.h" - -/** Default constructor*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; - m_accessors[5] = 0; -} - -/**Constructor of vector*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; - m_accessors[5] = sixth; -} - -/**Copy constructor*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(const Trk::SixObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; - m_accessors[5] = accessor.m_accessors[5]; -} - - -Trk::SixObjectsAccessor& Trk::SixObjectsAccessor::operator=(const Trk::SixObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_accessors[5] = rhs.m_accessors[5]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::SixObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "SixObjectsAccessor: | "; - for (int iac=0; iac<6; ++iac) sl << m_accessors[iac] << " | "; - return sl; - -} - -std::ostream& Trk::SixObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "SixObjectsAccessor: | "; - for (int iac=0; iac<6; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx deleted file mode 100755 index 49bdeb113d4..00000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// ThreeObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" - -/** Default constructor*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; -} - -/**Constructor of vector*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(int first, - int second, - int third) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) - -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; -} - -/**Copy constructor*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(const Trk::ThreeObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) - -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; -} - - -Trk::ThreeObjectsAccessor& Trk::ThreeObjectsAccessor::operator=(const Trk::ThreeObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::ThreeObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "ThreeObjectAccessor: | "; - for (int iac=0; iac<3; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - -std::ostream& Trk::ThreeObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "ThreeObjectAccessor: | "; - for (int iac=0; iac<3; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h index 696e5c9fd26..e1dc934519a 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h +++ b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h @@ -25,6 +25,7 @@ #include "TrkGeometry/LayerAttemptsCalculator.h" #include "TrkDetDescrUtils/BinnedArray.h" #include "TrkDetDescrUtils/SharedObject.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" #include "TrkDetDescrUtils/GeometrySignature.h" #include "TrkEventPrimitives/PropDirection.h" //STL @@ -46,7 +47,6 @@ namespace Trk { class PlaneLayer; class TrackingVolume; class DetachedTrackingVolume; - class ObjectAccessor; class GlueVolumesDescriptor; class VolumeBounds; @@ -283,7 +283,7 @@ namespace Trk { bool startOffBoundary = false) const; /** Get the BoundarySurface to the appointed Accessor state */ - const BoundarySurface<TrackingVolume>* boundarySurface(const ObjectAccessor& oa) const; + const BoundarySurface<TrackingVolume>* boundarySurface(const ObjectAccessor::value_type& oa) const; /** show if you are on a boundary surface */ template <class T> bool onVolumeBoundary(const T& pars ) const; diff --git a/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx b/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx index 6fb711fa156..5924f5e4237 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx +++ b/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx @@ -36,7 +36,6 @@ #include "TrkSurfaces/DistanceSolution.h" #include "TrkGeometrySurfaces/SubtractedCylinderSurface.h" #include "TrkGeometrySurfaces/SubtractedPlaneSurface.h" -#include "TrkDetDescrUtils/ObjectAccessor.h" #include "TrkDetDescrUtils/BinUtility.h" #include "TrkDetDescrUtils/NavBinnedArray1D.h" // CLHEP @@ -846,9 +845,9 @@ void Trk::TrackingVolume::sign(Trk::GeometrySignature geosign, Trk::GeometryType const std::vector< Trk::SharedObject<const Trk::BoundarySurface<Trk::TrackingVolume> > >& Trk::TrackingVolume::boundarySurfaces() const { return (*m_boundarySurfaces); } -const Trk::BoundarySurface<Trk::TrackingVolume>* Trk::TrackingVolume::boundarySurface(const ObjectAccessor& oa) const +const Trk::BoundarySurface<Trk::TrackingVolume>* Trk::TrackingVolume::boundarySurface(const ObjectAccessor::value_type& oa) const { - return (m_boundarySurfaces->operator[](oa.accessor())).getPtr(); + return (m_boundarySurfaces->operator[](oa)).getPtr(); } void Trk::TrackingVolume::createBoundarySurfaces() diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h index 41e961837a5..e9857a0199c 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h @@ -10,25 +10,22 @@ #define TRKVOLUMES_BEVELLEDCYLINDERVOLUMEBOUNDARYACCESSORS_H -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" -#include "TrkDetDescrUtils/FourObjectsAccessor.h" -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" namespace Trk { /** @enum BevelledCylinderAccessorType */ enum BevelledCylinderAccessorType { BevelledCylinderZincrease = 0, //!< Cylinder hit, then pos. Z face - BevelledCylinderZdecrease = 1, //!< Cylinder hit, the neg. Z face - BevelledCylinderPositiveFace = 2, //!< Pos. Z face, Cylinder, neg. Z face + BevelledCylinderZdecrease = 1, //!< Cylinder hit, the neg. Z face + BevelledCylinderPositiveFace = 2, //!< Pos. Z face, Cylinder, neg. Z face BevelledCylinderNegativeFace = 3 //!< Neg. Z face, Cylinder, pos. Z face }; /** @enum BevelledTubeAccessorType */ enum BevelledTubeAccessorType { - + BevelledTubeRincreaseZincrease = 0, //!< Accessor type [ 2,1,0,3 ] BevelledTubeRincreaseZdecrease = 1, //!< Accessor type [ 2,0,1,3 ] BevelledTubeZincreaseRincrease = 2, //!< Accessor type [ 1,2,0,3 ] @@ -38,24 +35,24 @@ namespace Trk { BevelledTubeZincreaseRdecrease = 6, //!< Accessor type [ 1,3,0,2 ] BevelledTubeZdecreaseRdecrease = 7, //!< Accessor type [ 0,3,1,2 ] BevelledTubeOutsideRminRdecrease = 8, //!< Accessor type [ 3,1,0,2] - inverse case - BevelledTubeOutsideRmaxRincrease = 9, //!< Accessor type [ 2,1,0,3 ] - inverse case + BevelledTubeOutsideRmaxRincrease = 9, //!< Accessor type [ 2,1,0,3 ] - inverse case BevelledTubeOutsideZminZdecrease = 10, //!< Accessor type [ 0,3,2,1 ] - inverse case BevelledTubeOutsideZmaxZincrease = 11 //!< Accessor type [ 1,3,2,0 ] - inverse case - + }; - /** @enum SectoralBevelledCylinderAccessorType + /** @enum SectoralBevelledCylinderAccessorType \todo implement correcly when needed */ - enum SectoralBevelledCylinderAccessorType { - StandardSectoralBevelledCylinder = 0 + enum SectoralBevelledCylinderAccessorType { + StandardSectoralBevelledCylinder = 0 }; - /** @enum SectoralTubeAccessorType + /** @enum SectoralTubeAccessorType \todo implement correcly when needed */ - enum SectoralBevelledTubeAccessorType { - StandardSectoralBevelledTube = 0 + enum SectoralBevelledTubeAccessorType { + StandardSectoralBevelledTube = 0 }; @@ -76,26 +73,24 @@ namespace Trk { /**Default Constructor*/ ~BevelledCylinderVolumeBoundaryAccessors(); - /** Return the accessor for the cylindrical case */ + /** Return the accessor for the cylindrical case */ const ThreeObjectsAccessor& bevelledcylinderAccessor(BevelledCylinderAccessorType cat) const; - /** Return the accessor for the tube case */ + /** Return the accessor for the tube case */ const FourObjectsAccessor& bevelledtubeAccessor(BevelledTubeAccessorType tat) const; - - /** Return the accessor for the sectoral cylinciracl case */ + + /** Return the accessor for the sectoral cylinciracl case */ const FiveObjectsAccessor& sectoralBevelledCylinderAccessor(SectoralBevelledCylinderAccessorType scat) const; - /** Return the accessor for the sectoral tube case */ + /** Return the accessor for the sectoral tube case */ const SixObjectsAccessor& sectoralBevelledTubeAccessor(SectoralBevelledTubeAccessorType stat) const; private: - ThreeObjectsAccessor m_bevelledcylinderAccessors[4]; - FourObjectsAccessor m_bevelledtubeAccessors[12]; - FiveObjectsAccessor m_sectoralBevelledCylinderAccessors[1]; - SixObjectsAccessor m_sectoralBevelledTubeAccessors[1]; - - + std::array<ThreeObjectsAccessor,4> m_bevelledcylinderAccessors; + std::array<FourObjectsAccessor,12> m_bevelledtubeAccessors; + std::array<FiveObjectsAccessor,1> m_sectoralBevelledCylinderAccessors; + std::array<SixObjectsAccessor,1> m_sectoralBevelledTubeAccessors; }; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h index 8768f18b9b4..54bd1cc7eb2 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h @@ -124,10 +124,10 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; - + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; + /**This method returns the inner radius*/ double innerRadius() const; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h index 6a1f6640e15..fb0f005a622 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h @@ -12,7 +12,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" #include "TrkVolumes/Volume.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" //Eigen #include "GeoPrimitives/GeoPrimitives.h" @@ -67,7 +67,7 @@ namespace Trk { /** Provide accessor for BoundarySurfaces */ virtual - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool forceInside=false) const override; @@ -116,10 +116,10 @@ namespace Trk { inline bool CombinedVolumeBounds::intersection() const { return m_intersection; } - inline const ObjectAccessor& CombinedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + inline ObjectAccessor CombinedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, const Amg::Vector3D&, bool) const - { return(m_objectAccessor); } + { return Trk::ObjectAccessor(m_objectAccessor); } inline const std::vector<bool> CombinedVolumeBounds::boundsOrientation() const { return(m_boundsOrientation); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h index 28300a6c6a3..98106dae15f 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the halflength in local x*/ double halflengthX() const; @@ -129,10 +129,10 @@ namespace Trk { inline double CuboidVolumeBounds::halflengthZ() const { return m_halfZ; } - inline const ObjectAccessor& CuboidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor CuboidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h index d9f1994e2ca..7b2ea3e41ef 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h @@ -10,10 +10,7 @@ #define TRKVOLUMES_CYLINDERVOLUMEBOUNDARYACCESSORS_H -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" -#include "TrkDetDescrUtils/FourObjectsAccessor.h" -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" namespace Trk { @@ -90,10 +87,10 @@ namespace Trk { private: - ThreeObjectsAccessor m_cylinderAccessors[4]; - FourObjectsAccessor m_tubeAccessors[12]; - FiveObjectsAccessor m_sectoralCylinderAccessors[1]; - SixObjectsAccessor m_sectoralTubeAccessors[1]; + std::array<ThreeObjectsAccessor,4> m_cylinderAccessors; + std::array<FourObjectsAccessor,12> m_tubeAccessors; + std::array<FiveObjectsAccessor,1> m_sectoralCylinderAccessors; + std::array<SixObjectsAccessor,1> m_sectoralTubeAccessors; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h index 0cad6cb98c1..d7fe42f58cf 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h @@ -97,9 +97,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the inner radius*/ double innerRadius() const; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h index 719ccf83683..72d0b475136 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h @@ -1,191 +1,191 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// DoubleTrapezoidVolumeBounds.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H -#define TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H - -// Trk -#include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" -#include "GeoPrimitives/GeoPrimitives.h" - - -class MsgStream; - -namespace Trk { - - class Surface; - class RectangleBounds; - class TrapezoidBounds; - class DiamondBounds; - - /** - @class DoubleTrapezoidVolumeBounds - - Bounds for a double trapezoidal shaped Volume, the decomposeToSurfaces method creates a - vector of 8 surfaces: - - BoundarySurfaceFace [index]: - - - negativeFaceXY [0] : Diamond Trk::PlaneSurface, - parallel to \f$ xy \f$ plane at negative \f$ z \f$ - - positiveFaceXY [1] : Diamond Trk::PlaneSurface, - parallel to \f$ xy \f$ plane at positive \f$ z \f$ - - trapezoidFaceAlpha1 [2] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at negative \f$ x \f$ (associated to alpha1) - - trapezoidFaceBeta1 [3] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at positive \f$ x \f$ (associated to beta1) - - trapezoidFaceAlpha2 [5] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at negative \f$ x \f$ (associated to alpha2) - - trapezoidFaceBeta2 [6] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at positive \f$ x \f$ (associated to beta2) - - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, - parallel to \f$ zx \f$ plane at negative \f$ y \f$ - - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, - parallel to \f$ zx \f$ plane at positive \f$ y \f$ - - @internal - @image html DoubleTrapezoidVolumeBounds_decomp.gif - @endinternal - - @author Andreas.Salzburger@cern.ch , Sarka.Todorova@cern.ch - */ - - class DoubleTrapezoidVolumeBounds : public VolumeBounds { - - public: - /**Default Constructor*/ - DoubleTrapezoidVolumeBounds(); - - /**Constructor - the double trapezoid boundaries (symmetric trapezoid/diamond) */ - DoubleTrapezoidVolumeBounds(double minhlenghtx, double medhlengthx, double maxhlengthx, double hlenghty1, double hlenghty2, double hlengthz); - - /**Copy Constructor */ - DoubleTrapezoidVolumeBounds(const DoubleTrapezoidVolumeBounds& bobo); - - /**Destructor */ - virtual ~DoubleTrapezoidVolumeBounds(); - - /**Assignment operator*/ - DoubleTrapezoidVolumeBounds& operator=(const DoubleTrapezoidVolumeBounds& bobo); - - /**Virtual constructor */ - DoubleTrapezoidVolumeBounds* clone() const override; - - /**This method checks if position in the 3D volume frame is inside the cylinder*/ - bool inside(const Amg::Vector3D& , double tol=0.) const override; - - /** Method to decompose the Bounds into Surfaces */ - const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; - - /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; - - /**This method returns the X halflength at minimal Y*/ - double minHalflengthX() const; - - /**This method returns the (maximal) halflength in local x*/ - double medHalflengthX() const; - - /**This method returns the X halflength at maximal Y (local coordinates)*/ - double maxHalflengthX() const; - - /**This method returns the halflength1 in local y*/ - double halflengthY1() const; - - /**This method returns the halflength2 in local y*/ - double halflengthY2() const; - - /**This method returns the halflength in local z*/ - double halflengthZ() const; - - /**This method returns the opening angle in point A (negative local x)*/ - double alpha1() const; - - /**This method returns the opening angle in point A' (negative local x)*/ - double alpha2() const; - - /** Output Method for MsgStream*/ - MsgStream& dump(MsgStream& sl) const override; - /** Output Method for std::ostream */ - std::ostream& dump(std::ostream& sl) const override; - - private: - /** This method returns the associated DoubleTrapezoidBounds of the face PlaneSurface parallel to local xy plane */ - DiamondBounds* faceXYDiamondBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)*/ - RectangleBounds* faceAlpha1RectangleBounds() const; - RectangleBounds* faceAlpha2RectangleBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)*/ - RectangleBounds* faceBeta1RectangleBounds() const; - RectangleBounds* faceBeta2RectangleBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y */ - RectangleBounds* faceZXRectangleBoundsBottom() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y */ - RectangleBounds* faceZXRectangleBoundsTop() const; - -#ifdef TRKDETDESCR_USEFLOATPRECISON -#define double float -#endif - double m_minHalfX; //!< minimal Y halflength in x - double m_medHalfX; //!< maximal halflength in x - double m_maxHalfX; //!< maximal Y halflength in x - double m_halfY1; //!< halflength in y - double m_halfY2; //!< halflength in y - double m_halfZ; //!< halflength in z - - double m_alpha1; //!< opening angle alpha (in point A) - double m_alpha2; //!< opening angle alpha (in point A') -#ifdef TRKDETDESCR_USEFLOATPRECISON -#undef double -#endif - - /** There's only one single object Acessor for the moment - has to be implemented if Cuboids are used more widely */ - Trk::EightObjectsAccessor m_objectAccessor; - - }; - - inline DoubleTrapezoidVolumeBounds* DoubleTrapezoidVolumeBounds::clone() const - { return new DoubleTrapezoidVolumeBounds(*this); } - - inline double DoubleTrapezoidVolumeBounds::minHalflengthX() const { return m_minHalfX; } - - inline double DoubleTrapezoidVolumeBounds::medHalflengthX() const { return m_medHalfX; } - - inline double DoubleTrapezoidVolumeBounds::maxHalflengthX() const { return m_maxHalfX; } - - inline double DoubleTrapezoidVolumeBounds::halflengthY1() const { return m_halfY1; } - - inline double DoubleTrapezoidVolumeBounds::halflengthY2() const { return m_halfY2; } - - inline double DoubleTrapezoidVolumeBounds::halflengthZ() const { return m_halfZ; } - - inline double DoubleTrapezoidVolumeBounds::alpha1() const { return m_alpha1; } - - inline double DoubleTrapezoidVolumeBounds::alpha2() const { return m_alpha2; } - - inline const ObjectAccessor& DoubleTrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } - - -} - - -#endif // TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H - - - +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/////////////////////////////////////////////////////////////////// +// DoubleTrapezoidVolumeBounds.h, (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// + +#ifndef TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H +#define TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H + +// Trk +#include "TrkVolumes/VolumeBounds.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" +#include "GeoPrimitives/GeoPrimitives.h" + + +class MsgStream; + +namespace Trk { + + class Surface; + class RectangleBounds; + class TrapezoidBounds; + class DiamondBounds; + + /** + @class DoubleTrapezoidVolumeBounds + + Bounds for a double trapezoidal shaped Volume, the decomposeToSurfaces method creates a + vector of 8 surfaces: + + BoundarySurfaceFace [index]: + + - negativeFaceXY [0] : Diamond Trk::PlaneSurface, + parallel to \f$ xy \f$ plane at negative \f$ z \f$ + - positiveFaceXY [1] : Diamond Trk::PlaneSurface, + parallel to \f$ xy \f$ plane at positive \f$ z \f$ + - trapezoidFaceAlpha1 [2] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at negative \f$ x \f$ (associated to alpha1) + - trapezoidFaceBeta1 [3] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at positive \f$ x \f$ (associated to beta1) + - trapezoidFaceAlpha2 [5] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at negative \f$ x \f$ (associated to alpha2) + - trapezoidFaceBeta2 [6] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at positive \f$ x \f$ (associated to beta2) + - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, + parallel to \f$ zx \f$ plane at negative \f$ y \f$ + - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, + parallel to \f$ zx \f$ plane at positive \f$ y \f$ + + @internal + @image html DoubleTrapezoidVolumeBounds_decomp.gif + @endinternal + + @author Andreas.Salzburger@cern.ch , Sarka.Todorova@cern.ch + */ + + class DoubleTrapezoidVolumeBounds : public VolumeBounds { + + public: + /**Default Constructor*/ + DoubleTrapezoidVolumeBounds(); + + /**Constructor - the double trapezoid boundaries (symmetric trapezoid/diamond) */ + DoubleTrapezoidVolumeBounds(double minhlenghtx, double medhlengthx, double maxhlengthx, double hlenghty1, double hlenghty2, double hlengthz); + + /**Copy Constructor */ + DoubleTrapezoidVolumeBounds(const DoubleTrapezoidVolumeBounds& bobo); + + /**Destructor */ + virtual ~DoubleTrapezoidVolumeBounds(); + + /**Assignment operator*/ + DoubleTrapezoidVolumeBounds& operator=(const DoubleTrapezoidVolumeBounds& bobo); + + /**Virtual constructor */ + DoubleTrapezoidVolumeBounds* clone() const override; + + /**This method checks if position in the 3D volume frame is inside the cylinder*/ + bool inside(const Amg::Vector3D& , double tol=0.) const override; + + /** Method to decompose the Bounds into Surfaces */ + const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; + + /** Provide accessor for BoundarySurfaces */ + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; + + /**This method returns the X halflength at minimal Y*/ + double minHalflengthX() const; + + /**This method returns the (maximal) halflength in local x*/ + double medHalflengthX() const; + + /**This method returns the X halflength at maximal Y (local coordinates)*/ + double maxHalflengthX() const; + + /**This method returns the halflength1 in local y*/ + double halflengthY1() const; + + /**This method returns the halflength2 in local y*/ + double halflengthY2() const; + + /**This method returns the halflength in local z*/ + double halflengthZ() const; + + /**This method returns the opening angle in point A (negative local x)*/ + double alpha1() const; + + /**This method returns the opening angle in point A' (negative local x)*/ + double alpha2() const; + + /** Output Method for MsgStream*/ + MsgStream& dump(MsgStream& sl) const override; + /** Output Method for std::ostream */ + std::ostream& dump(std::ostream& sl) const override; + + private: + /** This method returns the associated DoubleTrapezoidBounds of the face PlaneSurface parallel to local xy plane */ + DiamondBounds* faceXYDiamondBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)*/ + RectangleBounds* faceAlpha1RectangleBounds() const; + RectangleBounds* faceAlpha2RectangleBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)*/ + RectangleBounds* faceBeta1RectangleBounds() const; + RectangleBounds* faceBeta2RectangleBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y */ + RectangleBounds* faceZXRectangleBoundsBottom() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y */ + RectangleBounds* faceZXRectangleBoundsTop() const; + +#ifdef TRKDETDESCR_USEFLOATPRECISON +#define double float +#endif + double m_minHalfX; //!< minimal Y halflength in x + double m_medHalfX; //!< maximal halflength in x + double m_maxHalfX; //!< maximal Y halflength in x + double m_halfY1; //!< halflength in y + double m_halfY2; //!< halflength in y + double m_halfZ; //!< halflength in z + + double m_alpha1; //!< opening angle alpha (in point A) + double m_alpha2; //!< opening angle alpha (in point A') +#ifdef TRKDETDESCR_USEFLOATPRECISON +#undef double +#endif + + /** There's only one single object Acessor for the moment + has to be implemented if Cuboids are used more widely */ + Trk::EightObjectsAccessor m_objectAccessor; + + }; + + inline DoubleTrapezoidVolumeBounds* DoubleTrapezoidVolumeBounds::clone() const + { return new DoubleTrapezoidVolumeBounds(*this); } + + inline double DoubleTrapezoidVolumeBounds::minHalflengthX() const { return m_minHalfX; } + + inline double DoubleTrapezoidVolumeBounds::medHalflengthX() const { return m_medHalfX; } + + inline double DoubleTrapezoidVolumeBounds::maxHalflengthX() const { return m_maxHalfX; } + + inline double DoubleTrapezoidVolumeBounds::halflengthY1() const { return m_halfY1; } + + inline double DoubleTrapezoidVolumeBounds::halflengthY2() const { return m_halfY2; } + + inline double DoubleTrapezoidVolumeBounds::halflengthZ() const { return m_halfZ; } + + inline double DoubleTrapezoidVolumeBounds::alpha1() const { return m_alpha1; } + + inline double DoubleTrapezoidVolumeBounds::alpha2() const { return m_alpha2; } + + inline ObjectAccessor DoubleTrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } + + +} + + +#endif // TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H + + + diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h index aac0249358c..503384a2915 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; #ifdef TRKDETDESCR_USEFLOATPRECISON #define double float @@ -133,10 +133,10 @@ namespace Trk { inline double PrismVolumeBounds::halflengthZ() const { return m_halfZ; } - inline const ObjectAccessor& PrismVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + inline ObjectAccessor PrismVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, const Amg::Vector3D&, bool) const - { return(m_objectAccessor); } + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h index e7a8a5b45ae..bf5b18f193f 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; #ifdef TRKDETDESCR_USEFLOATPRECISON #define double float #endif @@ -154,10 +154,10 @@ namespace Trk { inline const Trk::Volume* SimplePolygonBrepVolumeBounds::envelope() const { return m_envelope; } - inline const ObjectAccessor& SimplePolygonBrepVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor SimplePolygonBrepVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h index 48aed85fd14..8826bc69e1d 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h @@ -12,7 +12,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" #include "TrkVolumes/Volume.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" //Eigen #include "GeoPrimitives/GeoPrimitives.h" @@ -66,9 +66,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the outer Volume*/ Volume* outer() const; @@ -112,10 +112,10 @@ namespace Trk { inline Volume* SubtractedVolumeBounds::inner() const { return m_inner; } - inline const ObjectAccessor& SubtractedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor SubtractedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } inline const std::vector<bool> SubtractedVolumeBounds::boundsOrientation() const { return(m_boundsOrientation); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h index 63325494fd2..71e9b1cdceb 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" @@ -80,9 +80,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the minimal halflength in local x*/ double minHalflengthX() const; @@ -154,10 +154,10 @@ namespace Trk { inline double TrapezoidVolumeBounds::alpha() const { return m_alpha; } inline double TrapezoidVolumeBounds::beta() const { return m_beta; } -inline const ObjectAccessor& TrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor TrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h index 4bcb8bb0888..cbff5c708d0 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h @@ -12,6 +12,7 @@ //Trk #include "TrkDetDescrUtils/GeometryStatics.h" #include "TrkDetDescrUtils/SharedObject.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" #include "CLIDSvc/CLASS_DEF.h" @@ -20,7 +21,6 @@ class MsgStream; namespace Trk { class VolumeBounds; - class ObjectAccessor; /** @class Volume @@ -66,9 +66,9 @@ namespace Trk { bool inside(const Amg::Vector3D& gp, double tol=0.) const ; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& mom, - bool forceInside=false) const; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& mom, + bool forceInside=false) const; protected: mutable Amg::Transform3D* m_transform; //!< HepGeom::Transform3D mutable Amg::Vector3D* m_center; //!< center position of the surface diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h index faf2b27dfc7..f5dda23eca5 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h @@ -16,12 +16,12 @@ #include "GaudiKernel/MsgStream.h" // Trk #include "GeoPrimitives/GeoPrimitives.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" namespace Trk { class Surface; class Volume; - class ObjectAccessor; /** @class VolumeBounds @@ -59,9 +59,9 @@ namespace Trk { virtual const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const = 0; /** Provide accessor for BoundarySurfaces */ - virtual const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const = 0; + virtual ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const = 0; /** Output Method for MsgStream, to be overloaded by child classes */ virtual MsgStream& dump(MsgStream& sl) const = 0; diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx index 6300527564e..b1e75954cc2 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx @@ -15,49 +15,49 @@ Trk::BevelledCylinderVolumeBoundaryAccessors::BevelledCylinderVolumeBoundaryAcce //------------------------------------------------------------- // the cylinder case // CylinderZincrease = 0 - m_bevelledcylinderAccessors[Trk::BevelledCylinderZincrease] = Trk::ThreeObjectsAccessor(2,1,0); + m_bevelledcylinderAccessors[Trk::BevelledCylinderZincrease] = Trk::ThreeObjectsAccessor{2,1,0}; // CylinderZincrease = 1 - m_bevelledcylinderAccessors[Trk::BevelledCylinderZdecrease] = Trk::ThreeObjectsAccessor(2,0,1); + m_bevelledcylinderAccessors[Trk::BevelledCylinderZdecrease] = Trk::ThreeObjectsAccessor{2,0,1}; // CylinderZincrease = 2 - m_bevelledcylinderAccessors[Trk::BevelledCylinderPositiveFace] = Trk::ThreeObjectsAccessor(1,2,0); + m_bevelledcylinderAccessors[Trk::BevelledCylinderPositiveFace] = Trk::ThreeObjectsAccessor{1,2,0}; // CylinderZincrease = 3 - m_bevelledcylinderAccessors[Trk::BevelledCylinderNegativeFace] = Trk::ThreeObjectsAccessor(0,2,1); + m_bevelledcylinderAccessors[Trk::BevelledCylinderNegativeFace] = Trk::ThreeObjectsAccessor{0,2,1}; //------------------------------------------------------------- // the tube case //(A) non-inverse cases // RincreaseZincrease = 0 - m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZincrease] = Trk::FourObjectsAccessor(2,1,0,3); + m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZincrease] = Trk::FourObjectsAccessor{{2,1,0,3},false}; // RincreaseZdecrease = 1 - m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZdecrease] = Trk::FourObjectsAccessor(2,0,1,3); + m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZdecrease] = Trk::FourObjectsAccessor{{2,0,1,3},false}; // ZincreaseRincrease = 2 - m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRincrease] = Trk::FourObjectsAccessor(1,2,0,3); + m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRincrease] = Trk::FourObjectsAccessor{{1,2,0,3},false}; // ZdecreaseRincrease = 3 - m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRincrease] = Trk::FourObjectsAccessor(0,2,1,3); + m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRincrease] = Trk::FourObjectsAccessor{{0,2,1,3},false}; // RdecreaseZincrease = 4 - m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZincrease] = Trk::FourObjectsAccessor(3,1,0,2); + m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZincrease] = Trk::FourObjectsAccessor{{3,1,0,2},false}; // RdecreaseZdecrease = 5 - m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZdecrease] = Trk::FourObjectsAccessor(3,0,1,2); + m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZdecrease] = Trk::FourObjectsAccessor{{3,0,1,2},false}; // ZincreaseRdecrease = 6 - m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRdecrease] = Trk::FourObjectsAccessor(1,3,0,2); + m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRdecrease] = Trk::FourObjectsAccessor{{1,3,0,2},false}; // ZdecreaseRdecrease = 7 - m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRdecrease] = Trk::FourObjectsAccessor(0,3,1,2); + m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRdecrease] = Trk::FourObjectsAccessor{{0,3,1,2},false}; //(B) inverse cases // TubeOutsideRminRdecrease = 8 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRminRdecrease] = Trk::FourObjectsAccessor(3,1,0,2, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRminRdecrease] = Trk::FourObjectsAccessor {{3,1,0,2}, true}; // TubeOutsideRmaxRincrease = 9 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRmaxRincrease] = Trk::FourObjectsAccessor(2,1,0,3, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRmaxRincrease] = Trk::FourObjectsAccessor{{2,1,0,3}, true}; // TubeOutsideZminZdecrease = 10 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZminZdecrease] = Trk::FourObjectsAccessor(0,3,2,1, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZminZdecrease] = Trk::FourObjectsAccessor{{0,3,2,1}, true}; // TubeOutsideZmaxZincrease = 11 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZmaxZincrease] = Trk::FourObjectsAccessor(1,3,2,0, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZmaxZincrease] = Trk::FourObjectsAccessor{{1,3,2,0}, true}; //------------------------------------------------------------- // the sectoral cylinder case - m_sectoralBevelledCylinderAccessors[Trk::StandardSectoralBevelledCylinder] = Trk::FiveObjectsAccessor(0,1,2,3,4); + m_sectoralBevelledCylinderAccessors[Trk::StandardSectoralBevelledCylinder] = Trk::FiveObjectsAccessor{0,1,2,3,4}; //------------------------------------------------------------- // the sectoral tube case - m_sectoralBevelledTubeAccessors[Trk::StandardSectoralBevelledTube] = Trk::SixObjectsAccessor(0,1,2,3,4,5); + m_sectoralBevelledTubeAccessors[Trk::StandardSectoralBevelledTube] = Trk::SixObjectsAccessor{0,1,2,3,4,5}; //------------------------------------------------------------- } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx index 8b8eaacbf88..6c6af26fb6e 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx @@ -214,7 +214,7 @@ const std::vector<const Trk::Surface*>* Trk::BevelledCylinderVolumeBounds::decom -const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::BevelledCylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool) const { @@ -259,39 +259,39 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmax.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease)); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease)); } // intersect the Rmin Trk::BevelledBoundaryIntersector intersectRmin(posR,posZ,deltaZ/deltaR, m_innerRadius); double zOfIntersect = intersectRmin.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease); + return Trk::ObjectAccessor( (choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease) ); } // ================================================================================================= // ======================= the inside/outside part remains ========================================= // (a) outside cases if (posR < m_innerRadius && deltaR < 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRminRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRminRdecrease)); if (posR > m_outerRadius && deltaR > 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRmaxRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRmaxRincrease) ); if (posZ < -m_halfZ && deltaZ < 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZminZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZminZdecrease) ); if (posZ > m_halfZ && deltaZ > 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZmaxZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZmaxZincrease) ); // (b) inside cases // the increase R case if (deltaR>0.){ @@ -300,13 +300,13 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmax.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease); + return Trk::ObjectAccessor(m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease)); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) ); } else { @@ -315,12 +315,12 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmin.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease); - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) ); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease) ); } } // the cylinder case @@ -340,19 +340,19 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectR.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderPositiveFace); - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderNegativeFace); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderPositiveFace)); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderNegativeFace) ); } // the sectoral cylinder case if (m_innerRadius!=0. && fabs(m_halfPhiSector-M_PI)>10e-3) - return m_boundaryAccessors.sectoralBevelledCylinderAccessor(Trk::StandardSectoralBevelledCylinder); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralBevelledCylinderAccessor(Trk::StandardSectoralBevelledCylinder) ); // it remains the sectoral tube case - return m_boundaryAccessors.sectoralBevelledTubeAccessor(Trk::StandardSectoralBevelledTube); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralBevelledTubeAccessor(Trk::StandardSectoralBevelledTube) ); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx index 4179fd9114c..d8a68e326dc 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx @@ -13,71 +13,71 @@ Trk::CylinderVolumeBoundaryAccessors::CylinderVolumeBoundaryAccessors() { - //------------------------------------------------------------- + //------------------------------------------------------------- // the cylinder case // CylinderZincrease = 0 m_cylinderAccessors[Trk::CylinderZincrease] - = Trk::ThreeObjectsAccessor(Trk::cylinderCover,Trk::positiveFaceXY,Trk::negativeFaceXY); + = Trk::ThreeObjectsAccessor{Trk::cylinderCover,Trk::positiveFaceXY,Trk::negativeFaceXY}; // CylinderZincrease = 1 m_cylinderAccessors[Trk::CylinderZdecrease] - = Trk::ThreeObjectsAccessor(Trk::cylinderCover,Trk::negativeFaceXY,Trk::positiveFaceXY); + = Trk::ThreeObjectsAccessor{Trk::cylinderCover,Trk::negativeFaceXY,Trk::positiveFaceXY}; // CylinderZincrease = 2 m_cylinderAccessors[Trk::CylinderPositiveFace] - = Trk::ThreeObjectsAccessor(Trk::positiveFaceXY,Trk::cylinderCover,Trk::negativeFaceXY); + = Trk::ThreeObjectsAccessor{Trk::positiveFaceXY,Trk::cylinderCover,Trk::negativeFaceXY}; // CylinderZincrease = 3 m_cylinderAccessors[Trk::CylinderNegativeFace] - = Trk::ThreeObjectsAccessor(Trk::negativeFaceXY,Trk::cylinderCover,Trk::positiveFaceXY); - //------------------------------------------------------------- + = Trk::ThreeObjectsAccessor{Trk::negativeFaceXY,Trk::cylinderCover,Trk::positiveFaceXY}; + //------------------------------------------------------------- // the tube case //(A) non-inverse cases // RincreaseZincrease = 0 - m_tubeAccessors[Trk::TubeRincreaseZincrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover); + m_tubeAccessors[Trk::TubeRincreaseZincrease] + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover},false}; // RincreaseZdecrease = 1 m_tubeAccessors[Trk::TubeRincreaseZdecrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeInnerCover},false}; // ZincreaseRincrease = 2 m_tubeAccessors[Trk::TubeZincreaseRincrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::tubeInnerCover},false}; // ZdecreaseRincrease = 3 m_tubeAccessors[Trk::TubeZdecreaseRincrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::tubeInnerCover},false}; // RdecreaseZincrease = 4 m_tubeAccessors[Trk::TubeRdecreaseZincrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover},false}; // RdecreaseZdecrease = 5 m_tubeAccessors[Trk::TubeRdecreaseZdecrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover},false}; // ZincreaseRdecrease = 6 m_tubeAccessors[Trk::TubeZincreaseRdecrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::tubeOuterCover},false}; // ZdecreaseRdecrease = 7 m_tubeAccessors[Trk::TubeZdecreaseRdecrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::tubeOuterCover},false}; //(B) inverse cases // TubeOutsideRminRdecrease = 8 m_tubeAccessors[Trk::TubeOutsideRminRdecrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover, true); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover}, true}; // TubeOutsideRmaxRincrease = 9 m_tubeAccessors[Trk::TubeOutsideRmaxRincrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover, true); + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover}, true}; // TubeOutsideZminZdecrease = Trk::positiveFaceXYTrk::negativeFaceXY m_tubeAccessors[Trk::TubeOutsideZminZdecrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::positiveFaceXY, true); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::positiveFaceXY}, true}; // TubeOutsideZmaxZincrease = Trk::positiveFaceXYTrk::positiveFaceXY m_tubeAccessors[Trk::TubeOutsideZmaxZincrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::negativeFaceXY, true); - + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::negativeFaceXY}, true}; - //------------------------------------------------------------- + + //------------------------------------------------------------- // the sectoral cylinder case m_sectoralCylinderAccessors[Trk::StandardSectoralCylinder] - = Trk::FiveObjectsAccessor(Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4); - //------------------------------------------------------------- + = Trk::FiveObjectsAccessor{Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4}; + //------------------------------------------------------------- // the sectoral tube case m_sectoralTubeAccessors[Trk::StandardSectoralTube] - = Trk::SixObjectsAccessor(Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4,5); - //------------------------------------------------------------- + = Trk::SixObjectsAccessor{Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4,5}; + //------------------------------------------------------------- } Trk::CylinderVolumeBoundaryAccessors::~CylinderVolumeBoundaryAccessors() diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx index c5724b27bdf..509c72d0295 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx @@ -131,7 +131,7 @@ const std::vector<const Trk::Surface*>* Trk::CylinderVolumeBounds::decomposeToSu -const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::CylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool) const { @@ -176,39 +176,39 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmax.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease) ); } // intersect the Rmin Trk::CylinderIntersector intersectRmin(posR,posZ,deltaR != 0 ? deltaZ/deltaR : 0, m_innerRadius); double zOfIntersect = intersectRmin.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease); + return Trk::ObjectAccessor( (choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease)); } // ================================================================================================= // ======================= the inside/outside part remains ========================================= // (a) outside cases if (posR < m_innerRadius && deltaR < 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRminRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRminRdecrease) ); if (posR > m_outerRadius && deltaR > 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRmaxRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRmaxRincrease) ); if (posZ < -m_halfZ && deltaZ < 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZminZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZminZdecrease) ); if (posZ > m_halfZ && deltaZ > 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZmaxZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZmaxZincrease) ); // (b) inside cases // the increase R case if (deltaR>0.){ @@ -217,13 +217,13 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmax.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease)); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease)); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) ); } else { @@ -232,12 +232,12 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmin.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease); - return m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) ); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease) ); } } // the cylinder case @@ -268,18 +268,18 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co // return the cases for going through the cylinder if ( intersectsCylinder && zOfIntersect>0. ) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderZincrease) ); if ( intersectsCylinder && zOfIntersect<=0.) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderZdecrease) ); if ( deltaZ > 0.) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderPositiveFace); - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderNegativeFace); + return Trk::ObjectAccessor(m_boundaryAccessors.cylinderAccessor(Trk::CylinderPositiveFace) ); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderNegativeFace) ); } // the sectoral cylinder case if (m_innerRadius!=0. && fabs(m_halfPhiSector-M_PI)>10e-3) - return m_boundaryAccessors.sectoralCylinderAccessor(Trk::StandardSectoralCylinder); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralCylinderAccessor(Trk::StandardSectoralCylinder) ); // it remains the sectoral tube case - return m_boundaryAccessors.sectoralTubeAccessor(Trk::StandardSectoralTube); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralTubeAccessor(Trk::StandardSectoralTube) ); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx index 117f8d838ab..b4789ec9d4b 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx @@ -75,12 +75,12 @@ bool Trk::Volume::inside(const Amg::Vector3D& gp, double tol) const } -const Trk::ObjectAccessor& Trk::Volume::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::Volume::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool forceInside) const { - if (!m_transform) return volumeBounds().boundarySurfaceAccessor(gp, dir, forceInside); - return volumeBounds().boundarySurfaceAccessor(transform().inverse()*gp, dir, forceInside); + if (!m_transform) return Trk::ObjectAccessor(volumeBounds().boundarySurfaceAccessor(gp, dir, forceInside)); + return Trk::ObjectAccessor(volumeBounds().boundarySurfaceAccessor(transform().inverse()*gp, dir, forceInside)); } /**Overload of << operator for both, MsgStream and std::ostream for debug output*/ diff --git a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx index ba05ea279a6..6f94d6ac77c 100755 --- a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx +++ b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx @@ -142,7 +142,7 @@ Trk::Navigator::nextBoundarySurface(const Trk::IPropagator &prop, } // get the surface accessor - const Trk::ObjectAccessor &surfAcc = + Trk::ObjectAccessor surfAcc = vol.boundarySurfaceAccessor(parms.position(), dir * parms.momentum().normalized()); // initialize the currentBoundary surface const Trk::BoundarySurface<Trk::TrackingVolume> *currentBoundary = 0; @@ -160,13 +160,13 @@ Trk::Navigator::nextBoundarySurface(const Trk::IPropagator &prop, ATH_MSG_VERBOSE("g [N] Starting parameters are :" << parms); // loop over the the boundary surfaces according to the accessor type - for (surfAcc.begin(); surfAcc.end(); surfAcc.operator ++ ()) { + for (const Trk::ObjectAccessor::value_type &surface_id : surfAcc) { ++tryBoundary; // ----------------- output to screen if outputLevel() says so -------- - ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "'."); // get the boundary Surface according to the surfaceAccessor - currentBoundary = vol.boundarySurface(surfAcc); + currentBoundary = vol.boundarySurface(surface_id); const Trk::Surface ¤tSurface = currentBoundary->surfaceRepresentation(); const Trk::TrackParameters *trackPar = 0; @@ -219,7 +219,7 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, // --------------------------------------------------- // get the object accessor from the Volume - const Trk::ObjectAccessor &surfAcc = + Trk::ObjectAccessor surfAcc = vol.boundarySurfaceAccessor(parms.position(), dir * parms.momentum().normalized()); // the object accessor already solved the outside question bool outsideVolume = surfAcc.inverseRetrieval(); @@ -251,18 +251,18 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, auto backwardSecondBoundSwitch=m_backwardSecondBoundSwitch.buffer(); auto backwardThirdBoundSwitch=m_backwardThirdBoundSwitch.buffer(); - for (surfAcc.begin(); surfAcc.end(); surfAcc.operator ++ ()) { + for (const Trk::ObjectAccessor::value_type &surface_id : surfAcc) { ++tryBoundary; // get the boundary surface associated to the surfaceAccessor - currentBoundary = vol.boundarySurface(surfAcc); + currentBoundary = vol.boundarySurface(surface_id); // ----------------- output to screen if outputLevel() says so -------- if (!currentBoundary) { - ATH_MSG_WARNING(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_WARNING(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "' NOT FOUND."); continue; } else { - ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "'."); } @@ -300,7 +300,7 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, } validationFill(trackPar); - return Trk::NavigationCell(nextVolume, trackPar, Trk::BoundarySurfaceFace(surfAcc.accessor())); + return Trk::NavigationCell(nextVolume, trackPar, Trk::BoundarySurfaceFace(surface_id)); } // --------------------------------------------------- -- GitLab From 0f4a8835209d670e2159262e228abe306522124e Mon Sep 17 00:00:00 2001 From: Goetz Gaycken <goetz.gaycken@cern.ch> Date: Sat, 3 Nov 2018 10:43:20 +0100 Subject: [PATCH 118/209] Avoid possible implementation dependency. Since there is no guarantee that the const_iterator of std arrays of the same value_type has the same type for all N, weak pointers are used instead. --- .../TrkDetDescrUtils/ObjectAccessor.h | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h index 69d1bcdd8bf..65c5cdacbfa 100755 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h @@ -12,31 +12,23 @@ class ObjectAccessor { public: typedef int value_type; - using const_iterator = std::array<value_type, 99>::const_iterator ; // 99 is a dummy dimension. For all N the type of - // std::array<int, N>::const_iterator is the same + // @TODO ideally would use "using const_iterator std::array_base<value_type>::const_iterator" if it existed + typedef const value_type * const_iterator; template <size_t DIM> - ObjectAccessor( const std::array<int, DIM> &a, bool is_reverse=false) + ObjectAccessor( const std::array<value_type, DIM> &a, bool is_reverse=false) : m_begin(a.begin()), m_end(a.end()), m_inverseRetrieval(is_reverse) {} template <size_t DIM> - ObjectAccessor( const std::pair<std::array<int, DIM> , bool> &a) + ObjectAccessor( const std::pair<std::array<value_type, DIM> , bool> &a) : m_begin(a.first.begin()), m_end(a.first.end()), m_inverseRetrieval(a.second) {} - ObjectAccessor(ObjectAccessor::const_iterator the_begin, - ObjectAccessor::const_iterator the_end, - bool inverse_retrieval=false) - : m_begin(the_begin), - m_end(the_end), - m_inverseRetrieval(inverse_retrieval) - {} - ObjectAccessor::const_iterator begin() const { return m_begin; } ObjectAccessor::const_iterator end() const { return m_end; } -- GitLab From 37ec511b0e248c04f8f254b4d9758b2af153a9ef Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Mon, 5 Nov 2018 17:41:49 +0000 Subject: [PATCH 119/209] Merge branch 'athena-21.0-ATLASSIM-3900' into '21.0' Add protection against extrapolation failures returning NaN in FastCaloSimSvcV2 (ATLASSIM-3900) See merge request atlas/athena!15631 (cherry picked from commit 77fcd8ecc6ffabc17eb7888221bf12fd1f3aa1be) 58695f5b Adding protecting against extrapolation failure 356b96b6 Adding DEBUG message include particle direction --- .../src/TFCSHistoLateralShapeParametrization.cxx | 4 ++++ .../ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx index fe310de94c0..733d4067ef6 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx @@ -55,6 +55,10 @@ FCSReturnCode TFCSHistoLateralShapeParametrization::simulate_hit(Hit &hit, TFCSS const double center_r=0.5*( extrapol->r(cs, CaloSubPos::SUBPOS_ENT) + extrapol->r(cs, CaloSubPos::SUBPOS_EXT) ); const double center_z=0.5*( extrapol->z(cs, CaloSubPos::SUBPOS_ENT) + extrapol->z(cs, CaloSubPos::SUBPOS_EXT) ); + if (TMath::IsNaN(center_r) or TMath::IsNaN(center_z) or TMath::IsNaN(center_eta) or TMath::IsNaN(center_phi)) { //Check if extrapolation fails + return FCSFatal; + } + float alpha, r, rnd1, rnd2; rnd1 = CLHEP::RandFlat::shoot(simulstate.randomEngine()); rnd2 = CLHEP::RandFlat::shoot(simulstate.randomEngine()); diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx index 9cc296629f7..ca3a14cc4c1 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx @@ -193,7 +193,7 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp) ATH_MSG_VERBOSE("NEW PARTICLE! FastCaloSimSvcV2 called with ISFParticle: " << isfp); Amg::Vector3D particle_position = isfp.position(); - + Amg::Vector3D particle_direction(isfp.momentum().x(),isfp.momentum().y(),isfp.momentum().z()); //int barcode=isfp.barcode(); // isfp barcode, eta and phi: in case we need them // float eta_isfp = particle_position.eta(); @@ -212,7 +212,9 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp) m_FastCaloSimCaloExtrapolation->extrapolate(extrapol,&truth); TFCSSimulationState simulstate(m_randomEngine); - ATH_MSG_DEBUG(" particle: " << isfp.pdgCode() << " Ekin: " << isfp.ekin() << " eta: " << particle_position.eta()); + ATH_MSG_DEBUG(" particle: " << isfp.pdgCode() << " Ekin: " << isfp.ekin() << " position eta: " << particle_position.eta() << " direction eta: " << particle_direction.eta() << " position phi: " << particle_position.phi() << "direction phi: " << particle_direction.phi()); + m_param->setLevel(MSG::DEBUG); + FCSReturnCode status = m_param->simulate(simulstate, &truth, &extrapol); if (status != FCSSuccess) { return StatusCode::FAILURE; -- GitLab From 764dcf9ba207a64f396c63c4f503b3aa03a36d35 Mon Sep 17 00:00:00 2001 From: Xiaohu Sun <xiaohu.sun@cern.ch> Date: Tue, 6 Nov 2018 10:50:41 +0100 Subject: [PATCH 120/209] Add art include in head of test files RecJobTransformTests and RecExRecoTest --- .../test_recexreco_art_calotopoclustering_fromesd.sh | 8 +++++++- .../test/test_recexreco_art_egamma_fromesd.sh | 6 ++++++ .../test/test_recexreco_art_noalgs_fromesd.sh | 6 ++++++ .../test_recexreco_art_pflow_and_jets_fromesd.sh | 6 ++++++ .../RecJobTransformTests/test/test_amitag_q122.sh | 8 +++++++- .../test/test_cosmis_allstream.sh | 8 +++++++- .../RecJobTransformTests/test/test_data11_7tev.sh | 8 +++++++- .../test/test_data11_heavy_ion.sh | 8 +++++++- .../RecJobTransformTests/test/test_data12_8tev.sh | 8 +++++++- .../RecJobTransformTests/test/test_data15_13tev.sh | 8 +++++++- .../test/test_data15_heavy_ion.sh | 8 +++++++- .../RecJobTransformTests/test/test_data16_13tev.sh | 8 +++++++- .../RecJobTransformTests/test/test_data17_13tev.sh | 8 +++++++- .../test/test_data17_13tev_fpe.sh | 8 +++++++- .../test/test_digimreco_tf_fct_mc16a.sh | 6 ++++++ .../RecJobTransformTests/test/test_mc15_heavy_ion.sh | 6 ++++++ .../RecJobTransformTests/test/test_mc16.sh | 8 +++++++- .../RecJobTransformTests/test/test_mc16_rdotobs.sh | 8 +++++++- .../RecJobTransformTests/test/test_mc16_trigsplit.sh | 8 +++++++- .../test/test_reco_mc15_13tev.sh | 12 +++++++++--- .../test/test_reco_mc15_13tev_nopileup.sh | 8 +++++++- .../test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh | 8 +++++++- .../test/test_recoshift_mc15_13tev.sh | 7 +++++++ .../test/test_recoshift_recotf_7teV_data.sh | 7 +++++++ .../test/test_recoshift_recotf_8teV_data.sh | 7 +++++++ .../test/test_recoshift_recotf_q220.sh | 7 +++++++ .../test/test_recoshift_recotf_q221.sh | 7 +++++++ .../test/test_recoshift_recotf_q222.sh | 7 +++++++ .../test/test_recoshift_recotf_q223.sh | 7 ++++++- .../test/test_recotf_8teV_data_no.sh | 7 +++++++ .../test/test_recotf_cosmic_data_2011.sh | 6 ++++++ .../RecJobTransformTests/test/test_recotf_mc15.sh | 7 +++++++ .../RecJobTransformTests/test/test_recotf_mc15_no.sh | 6 ++++++ .../RecJobTransformTests/test/test_splash_events.sh | 7 ++++++- 34 files changed, 231 insertions(+), 21 deletions(-) diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh index da080cfb879..0903ced7028 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_caloTopoClustering_fromESD.py -echo "art-result: $?" \ No newline at end of file +echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh index 434a3557fce..9506c9c9b42 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_egamma_fromESD.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh index a61ec2edb87..86909c9ee89 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_noAlgs_fromESD.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh index 426f6b22f44..074efcf4c28 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena eflowRec/run_ESDStandardReco.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh index 031a84c9d0f..f5743f411d7 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs with AMI configTag q122 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --AMI=q122 --DataRunNumber 00191920 --outputESDFile=myESD.pool.root --outputAODFile=myAOD.pool.root --outputTAGFile=myTAG.pool.root --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_7TeV.00191920.physics_JetTauEtmiss.merge.RAW._lb0257._SFO-9._0001.1.10evts -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh index 9a9a3d6556e..ce0608d5fba 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on cosmics with all streams # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_cos.00193024.physics_CosmicCalo.merge.RAW._lb0096._SFO-ALL._0001.1 --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec="rec.doTrigger=False;" --outputESDFile myESD.pool.root --outputHISTFile myMergedMonitoring.root --outputTAGFile myTAG.pool.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh index 2755b03a0ad..7a44b596d9d 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 7TeV collision data with all streams 2011 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/high_mu-data11_7TeV.00179725.physics_JetTauEtmiss.merge.RAW._lb0021.data --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh index 3e0337b1978..cb096be0bc3 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh @@ -2,8 +2,14 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_hi.00193321.physics_HardProbes.merge.RAW._lb0050._SFO-9._0002.1 --outputESDFile ESD.pool.root --outputAODFile AOD.pool.root --conditionsTag COMCOND-BLKPA-RUN1-06 --geometryVersion ATLAS-R1-2011-02-00-00 --autoConfiguration=everything --maxEvents='25' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh index c06f251698f..91b21497b16 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 8TeV collision data with all streams 2012 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh index 0b27c188c3f..240bb76f4d3 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with all streams 2015 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_13TeV.00283429.physics_Main.daq.RAW._lb0154._SFO-1._0001.data --maxEvents 300 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2016-14" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh index a7ddff745bf..84c3895bb06 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh @@ -2,8 +2,14 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_hi.00286711.physics_MinBiasOverlay.daq.RAW._lb0217._SFO-2._0001.data --outputESDFile=ESD.root --outputAODFile=AOD.root --maxEvents=25 --conditionsTag 'default:CONDBR2-BLKPA-2016-07' --geometryVersion 'default:ATLAS-R2-2015-03-01-00' --autoConfiguration 'everything' --preExec 'all:rec.doHeavyIon.set_Value_and_Lock(True)' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh index 87757c61510..a38f0d5181c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with all streams 2016 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data16_13TeV.00310809.physics_Main.daq.RAW._lb1219._SFO-2._0001.data --maxEvents 300 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2016-19" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh index 9adb89de797..7f0524597de 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data 2017, early data, A3 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data17_13TeV.00324910.physics_Main.daq.RAW._lb0713._SFO-6._0001.data --maxEvents 300 --AMI=f908 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh index b8887434d71..243279c47e0 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with floating point exception enabled 2017 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data17_13TeV.00324910.physics_Main.daq.RAW._lb0713._SFO-6._0001.data --maxEvents -1 --AMI=f908 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doFloatingPointException=True;rec.doTrigger=False;' --postExec 'FPEAuditor.NStacktracesOnFPE=5' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh index 4f5b61cf890..cf31b8c1d5d 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh @@ -2,6 +2,12 @@ # # art-description: Test of DigiMReco from HITS to AOD/TAG MC16a r9364 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --maxEvents=10 --outputRDOFile=mc16a.RDO.pool.root --outputESDFile=mc16a.ESD.pool.root --outputAODFile=mc16a.AOD.pool.root --digiSeedOffset1=1 --digiSeedOffset2=2 --inputHitsFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.simul.HITS.e5458_s3126/HITS.10730668._039360.pool.root.1 --jobNumber=1 --conditionsTag="default:OFLCOND-MC16-SDR-16" --geometryVersion="default:ATLAS-R2-2016-01-00-01" --skipEvents=0 --pileupFinalBunch=6 --autoConfiguration=everything --digiSteeringConf='StandardSignalOnlyTruth' --preInclude "HITtoRDO:Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrainsMC15_2015_25ns_Config1.py,RunDependentSimData/configLumi_run284500_mc16a.py" --preExec "all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0);from LArROD.LArRODFlags import larRODFlags;larRODFlags.NumberOfCollisions.set_Value_and_Lock(20);larRODFlags.nSamples.set_Value_and_Lock(4);larRODFlags.doOFCPileupOptimization.set_Value_and_Lock(True);larRODFlags.firstSample.set_Value_and_Lock(0);larRODFlags.useHighestGainAutoCorr.set_Value_and_Lock(True)" "all:from TriggerJobOpts.TriggerFlags import TriggerFlags as TF;TF.run2Config='2016'" "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.cutLevel.set_Value_and_Lock(14); from JetRec import JetRecUtils;f=lambda s:[\"xAOD::JetContainer#AntiKt4%sJets\"%(s,),\"xAOD::JetAuxContainer#AntiKt4%sJetsAux.\"%(s,),\"xAOD::EventShape#Kt4%sEventShape\"%(s,),\"xAOD::EventShapeAuxInfo#Kt4%sEventShapeAux.\"%(s,),\"xAOD::EventShape#Kt4%sOriginEventShape\"%(s,),\"xAOD::EventShapeAuxInfo#Kt4%sOriginEventShapeAux.\"%(s,)]; JetRecUtils.retrieveAODList = lambda : f(\"EMPFlow\")+f(\"LCTopo\")+f(\"EMTopo\")+[\"xAOD::EventShape#NeutralParticleFlowIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#NeutralParticleFlowIsoCentralEventShapeAux.\", \"xAOD::EventShape#NeutralParticleFlowIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#NeutralParticleFlowIsoForwardEventShapeAux.\", \"xAOD::EventShape#ParticleFlowIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#ParticleFlowIsoCentralEventShapeAux.\", \"xAOD::EventShape#ParticleFlowIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#ParticleFlowIsoForwardEventShapeAux.\", \"xAOD::EventShape#TopoClusterIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#TopoClusterIsoCentralEventShapeAux.\", \"xAOD::EventShape#TopoClusterIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#TopoClusterIsoForwardEventShapeAux.\",\"xAOD::CaloClusterContainer#EMOriginTopoClusters\",\"xAOD::ShallowAuxContainer#EMOriginTopoClustersAux.\",\"xAOD::CaloClusterContainer#LCOriginTopoClusters\",\"xAOD::ShallowAuxContainer#LCOriginTopoClustersAux.\"]; from eflowRec.eflowRecFlags import jobproperties; jobproperties.eflowRecFlags.useAODReductionClusterMomentList.set_Value_and_Lock(True); from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet.set_Value_and_Lock(\"AODSLIM\");" "all:from BTagging.BTaggingFlags import BTaggingFlags;BTaggingFlags.btaggingAODList=[\"xAOD::BTaggingContainer#BTagging_AntiKt4EMTopo\",\"xAOD::BTaggingAuxContainer#BTagging_AntiKt4EMTopoAux.\",\"xAOD::BTagVertexContainer#BTagging_AntiKt4EMTopoJFVtx\",\"xAOD::BTagVertexAuxContainer#BTagging_AntiKt4EMTopoJFVtxAux.\",\"xAOD::VertexContainer#BTagging_AntiKt4EMTopoSecVtx\",\"xAOD::VertexAuxContainer#BTagging_AntiKt4EMTopoSecVtxAux.-vxTrackAtVertex\"];" "ESDtoAOD:from ParticleBuilderOptions.AODFlags import AODFlags; AODFlags.ThinGeantTruth.set_Value_and_Lock(True); AODFlags.ThinNegativeEnergyCaloClusters.set_Value_and_Lock(True); AODFlags.ThinNegativeEnergyNeutralPFOs.set_Value_and_Lock(True); from JetRec import JetRecUtils; aodlist = JetRecUtils.retrieveAODList(); JetRecUtils.retrieveAODList = lambda : [item for item in aodlist if not \"OriginTopoClusters\" in item];" --postExec "all:CfgMgr.MessageSvc().setError+=[\"HepMcParticleLink\"]" "ESDtoAOD:fixedAttrib=[s if \"CONTAINER_SPLITLEVEL = '99'\" not in s else \"\" for s in svcMgr.AthenaPoolCnvSvc.PoolAttributes];svcMgr.AthenaPoolCnvSvc.PoolAttributes=fixedAttrib" "RDOtoRDOTrigger:conddb.addOverride(\"/CALO/Ofl/Noise/PileUpNoiseLumi\",\"CALOOflNoisePileUpNoiseLumi-mc15-mu30-dt25ns\")" "ESDtoAOD:CILMergeAOD.removeItem(\"xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.LATERAL.LONGITUDINAL.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.FIRST_ENG_DENS.ENG_FRAC_MAX.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_BAD_HV_CELLS.N_BAD_HV_CELLS.ENG_POS.SIGNIFICANCE.CELL_SIGNIFICANCE.CELL_SIG_SAMPLING.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.PTD.BadChannelList\");CILMergeAOD.add(\"xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.N_BAD_CELLS.ENG_BAD_CELLS.BADLARQ_FRAC.AVG_TILE_Q.AVG_LAR_Q.CENTER_MAG.ENG_POS.CENTER_LAMBDA.SECOND_LAMBDA.SECOND_R.ISOLATION.EM_PROBABILITY\");StreamAOD.ItemList=CILMergeAOD()" --postInclude "default:PyJobTransforms/UseFrontier.py" --LowPtMinbiasHitsFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.361238.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_low.merge.HITS.e4981_s3087_s3089/HITS.10501925._000027.pool.root.1 --HighPtMinbiasHitsFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.361239.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_high.merge.HITS.e4981_s3087_s3089/HITS.10501933._000008.pool.root.1 --numberOfHighPtMinBias=0.116075313 --numberOfLowPtMinBias=44.3839246425 --numberOfCavernBkg=0 diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh index 10e4fdd5e9f..cc2007f14c9 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh @@ -2,6 +2,12 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.merge.HITS.e4962_s3004_s2921/HITS.09732013._000496.pool.root.1 --outputESDFile=ESD.pool.root --outputAODFile=AOD.pool.root --maxEvents=25 --conditionsTag 'all:OFLCOND-MC15c-SDR-11' --postInclude 'all:RecJobTransforms/UseFrontier.py,SimulationJobOptions/postInclude.HijingPars.py' --preExec 'all:rec.doHeavyIon.set_Value_and_Lock(True)' --autoConfiguration 'everything' --triggerConfig 'MCRECO:MC_HI_v3_tight_mc_prescale' --DataRunNumber '226000' --geometryVersion 'all:ATLAS-R2-2015-03-01-00' diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh index 5a4886037c7..39606aecd21 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on mc16, based on recon tag r9364 MC16a # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --maxEvents=300 --autoConfiguration everything --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHIST.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh index 1d720750325..d9dc3265a8c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh @@ -2,8 +2,14 @@ # # art-description: RDO to BS on tt mc16 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --outputBSFile mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.data --autoConfiguration everything --maxEvents 300 --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh index 4a1697c7b30..887d7b1cca8 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf with split trigger runs on mc16 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --maxEvents 300 --autoConfiguration everything --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 --steering RAWtoESD:in-RDO RAWtoESD:in-BS RAWtoESD:in+RDO_TRIG --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHIST.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh index 9d14d391152..bb31dfbebbe 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh @@ -2,14 +2,20 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13) + pileup # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --inputHighPtMinbiasHitsFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361035.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_high.merge.HITS.e3581_s2578_s2195/*' --inputLowPtMinbiasHitsFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361034.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_low.merge.HITS.e3581_s2578_s2195/*' --numberOfCavernBkg="0" --numberOfHighPtMinBias="0.12268057" --numberOfLowPtMinBias="39.8773194" --pileupFinalBunch 6 --imf False --maxEvents '500' -echo "art-result: $?" +echo "art-result: $? Reco" Reco_tf.py --inputAODFile myAOD.pool.root --outputNTUP_PHYSVALFile PhysVal_13TeV_Example.pool.root --validationFlags doExample -echo "art-result: $?" +echo "art-result: $? PhysVal" Reco_tf.py --validationFlags 'doExample,doMET,doPFlow,doTau,doEgamma,doBtag,doZee,doJet,doTopoCluster,doMuon,doTrigMinBias,doTrigIDtrk,doTrigBphys,doTrigMET,doTrigJet,doTrigTau, doTrigEgamma,doTrigMuon,doTrigBjet,doTrigHLTResult' --inputAODFile=myAOD.pool.root --outputNTUP_PHYSVALFile=myNTUP_PHYSVAL.root -echo "art-result: $?" +echo "art-result: $? Ntup" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh index a474a8bffd4..8259d6af7b7 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13), no pileup # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --imf False --maxEvents '500' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh index 62d73893644..023ca42e8ee 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13), no pileup, with stdcmalloc # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --imf False --maxEvents '500' --athenaopts="--stdcmalloc" -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh index 5bf50474e70..c3832b2c7e9 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh @@ -2,6 +2,13 @@ # # art-description: Xiaohu Sun, Carl Gwilliam and Marie-Helene Genest # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py '--inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root' '--jobNumber=64' '--maxEvents=10' '--postInclude=RecJobTransforms/UseFrontier.py' '--preExec' 'rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);larRODFlags.firstSample.set_Value_and_Lock(0);larRODFlags.useHighestGainAutoCorr.set_Value_and_Lock(True)' 'RAWtoESD:from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False' 'ESDtoAOD:TriggerFlags.AODEDMSet="AODFULL"' 'RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.doSlimming.set_Value_and_Lock(False)' 'ESDtoAOD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.doSlimming.set_Value_and_Lock(False)' 'RDOtoRDOTrigger:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v6_tight_mc_prescale"' '--skipEvents=0' '--autoConfiguration=everything' '--conditionsTag=OFLCOND-MC15c-SDR-09' '--geometryVersion=ATLAS-R2-2015-03-01-00' '--digiSeedOffset1=1' '--digiSeedOffset2=1' '--steering=doRDO_TRIG' '--outputAODFile=AOD.pool.root' '--outputRDOFile=RDO.pool.root' '--outputESDFile=ESD.pool.root' --runNumber="110401" --pileupFinalBunch 6 --inputHighPtMinbiasHitsFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361035.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_high.merge.HITS.e3581_s2578_s2195/HITS.05608152._002668.pool.root.1" --inputLowPtMinbiasHitsFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361034.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_low.merge.HITS.e3581_s2578_s2195/HITS.05608147._000503.pool.root.1" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh index 29dc67a3720..c466e93b8b1 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh @@ -2,7 +2,14 @@ # # art-description: Jamie Boyd, Running on highmu Data at 7 TeV # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/high_mu-data11_7TeV.00179725.physics_JetTauEtmiss.merge.RAW._lb0021.data --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --maxEvents 5 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doTrigger=False' +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh index fe53544e949..2a08085a54f 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh @@ -2,6 +2,13 @@ # # art-description: Jamie Boyd, data12_8TeV reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --maxEvents 5 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doTrigger=False' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh index f15faaefc7a..a2df7ebdb1c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh @@ -2,6 +2,13 @@ # # art-description: RIG convenors - q220 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q220 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_cos.00251363.physics_IDCosmic.merge.RAW._lb0057._SFO-ALL._0001.1' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh index aac034bc4a2..69d4c8f7a4c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh @@ -2,5 +2,12 @@ # # art-description: RIG convenors - q221 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q221 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh index 80699080ec0..eee44b192f1 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh @@ -2,6 +2,13 @@ # # art-description: RIG convenors - q222 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q222 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' 'DQMonFlags.doHLTMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh index 0a79e9b89bc..88a99c5b143 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh @@ -2,7 +2,12 @@ # # art-description: RIG convenors - q223 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q223 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_comm.00264034.physics_MinBias.daq.RAW._lb0644._SFO-6._0001.data' - +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh index ce425f5fb18..888b45fffce 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh @@ -2,6 +2,13 @@ # # art-description: David Rousseau, data12_8TeV reconstruction, all reco switched off # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --maxEvents 5 --autoConfiguration everything --preExec 'rec.doCalo=False' 'rec.doInDet=False' 'rec.doMuon=False' 'rec.doJetMissingETTag=False' 'rec.doEgamma=False' 'rec.doMuonCombined=False' 'rec.doTau=False' 'rec.doTrigger=False' 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' --outputESDFile my.ESD.pool.root + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh index 596399b47c5..877ad97ec28 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh @@ -2,6 +2,12 @@ # # art-description: Jamie Boyd - should be updated for 2015 # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_cos.00193024.physics_CosmicCalo.merge.RAW._lb0096._SFO-ALL._0001.1 --maxEvents 10 --autoConfiguration everything --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputHISTFile myHIST.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh index 352e849fb08..6d78e7a3b9d 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh @@ -2,7 +2,14 @@ # # art-description: David Rousseau # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/RDO.pool.root --maxEvents 5 --autoConfiguration everything --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' --outputESDFile my.ESD.pool.root +echo "art-result: $? Reco" + diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh index 639608429d0..9740e134e0d 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh @@ -2,6 +2,12 @@ # # art-description: David Rousseau # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/RDO.pool.root --maxEvents 5 --autoConfiguration everything --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doCalo=False' 'rec.doInDet=False' 'rec.doMuon=False' 'rec.doJetMissingETTag=False' 'rec.doEgamma=False' 'rec.doMuonCombined=False' 'rec.doTau=False' 'rec.doTrigger=False' --outputESDFile my.ESD.pool.root +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh index 0f6f78c4c71..13705702e49 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh @@ -2,8 +2,13 @@ # # art-description: Reco_tf runs on splash events with all streams # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_comm.00265545.physics_MinBias.merge.RAW._lb0048._SFO-ALL._0001.1 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2015-04" --geometryVersion="ATLAS-R2-2015-03-01-00" --outputESDFile myESD.pool.root --outputNTUP_MUONCALIBFile muonCalib.root --outputHISTFile myMergedMonitoring.root --outputTAGFile myTAG.pool.root --maxEvents 300 --preExec 'rec.doTrigger=False;' -echo "art-result: $?" +echo "art-result: $? Reco" -- GitLab From bf3c350500e6821cf394dfcd207834914624fd2e Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Tue, 6 Nov 2018 13:06:03 +0100 Subject: [PATCH 121/209] Avoid crash due to nullptr dereference in JetTagMonitoring --- .../JetTagMonitoring/src/JetTagMonitoring.cxx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx index a345ff8f4f4..1003047e27d 100755 --- a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx @@ -1243,7 +1243,10 @@ void JetTagMonitoring::fillDetailedHistograms(const xAOD::Jet *jet, Jet_t taggab //* get detailed information *// const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillDetailedHistograms; filling these histograms will be skipped"); + return; + } //* detailed information for impact parameter-based informations *// unsigned int ntrk = btag->nIP3D_TrackParticles(); // number of tracks used for tagging in the jet double pb = btag->IP3D_pb(); // b likelihood @@ -1384,7 +1387,10 @@ void JetTagMonitoring::fillBadTrackBits(const std::bitset<17> failedCuts, double void JetTagMonitoring::fillGoodJetHistos(const xAOD::Jet *jet) { const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillGoodJetHistos; filling these histograms will be skipped"); + return; + } double sv1ip3d = btag->SV1plusIP3D_discriminant(); double mv_tmp = 0; btag->MVx_discriminant(m_mv_algorithmName,mv_tmp); @@ -1491,7 +1497,9 @@ void JetTagMonitoring::fillSuspectJetHistos(const xAOD::Jet *jet) { m_track_selector_suspect->Fill(jet->eta(), jet->phi(), 1.); const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillSuspectJetHistos; filling these histograms will be skipped"); + } double sv1ip3d = btag->SV1plusIP3D_discriminant(); double mv_tmp = 0; btag->MVx_discriminant(m_mv_algorithmName,mv_tmp); -- GitLab From 58e34a670867b4c18e2faa5b531ff7a0cde9de73 Mon Sep 17 00:00:00 2001 From: John Chapman <jchapman@cern.ch> Date: Tue, 6 Nov 2018 13:50:45 +0100 Subject: [PATCH 122/209] Update test_MC16a_Digi_tf_configuration CI test for revised LArPileUpTool properties. !15542 dropped the `AutoCorrNoiseTool` property of `LArPileUpTool`. This update to the CI test drops this property from the list of configurable properties expected to be set during digitization configuration. Should fix ATLASSIM-3904. --- .../Digitization/test/test_MC16a_Digi_tf_configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py index 4c8aad96324..adde2f181f0 100755 --- a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py +++ b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py @@ -271,7 +271,7 @@ class TestDigitizationMC16a(unittest.TestCase): def test___LArPileUpTool_properties(self): tested_configurable_name = 'ToolSvc.LArPileUpTool' - expected_property_list = ['AutoCorrNoiseTool', 'DetStore', 'DigitContainer', 'DoDigiTruthReconstruction', 'EmBarrelHitContainerName', 'EmEndCapHitContainerName', 'EvtStore', 'ExtraInputs', 'ExtraOutputs', 'FirstXing', 'ForWardHitContainerName', 'HecHitContainerName', 'HighGainThreshFCAL', 'LastXing', 'MaskingTool', 'NoiseOnOff', 'Nsamples', 'RndmEvtOverlay', 'RndmSvc', 'TriggerTimeToolName', 'firstSample', 'useLArFloat'] + expected_property_list = ['DetStore', 'DigitContainer', 'DoDigiTruthReconstruction', 'EmBarrelHitContainerName', 'EmEndCapHitContainerName', 'EvtStore', 'ExtraInputs', 'ExtraOutputs', 'FirstXing', 'ForWardHitContainerName', 'HecHitContainerName', 'HighGainThreshFCAL', 'LastXing', 'MaskingTool', 'NoiseOnOff', 'Nsamples', 'RndmEvtOverlay', 'RndmSvc', 'TriggerTimeToolName', 'firstSample', 'useLArFloat'] expected_nonstring_properties = {'LastXing': '101', 'FirstXing': '-751', 'Nsamples': '4', 'EmBarrelHitContainerName': '["LArHitEMB"]', 'EmEndCapHitContainerName': '["LArHitEMEC"]', 'ForWardHitContainerName': '["LArHitFCAL"]', 'HecHitContainerName': '["LArHitHEC"]'} expected_string_properties = {'DigitContainer': 'LArDigitContainer_MC'} self._detailed_ConfigurablePropertiesCheck( -- GitLab From 1246dcea80e6ff52b7abb8481ecf913aad8443ca Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Tue, 6 Nov 2018 14:24:54 +0100 Subject: [PATCH 123/209] Update interface header according to coding guidelines Update according to changes to the SCTRawDataProviderTool.h made in Merge Request 14997. --- .../ISCTRawDataProviderTool.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h index 78d58919ab9..d85ffd34b30 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h @@ -5,33 +5,39 @@ #ifndef SCT_RAWDATABYTESTREAMCNV_ISCTRAWDATAPROVIDERTOOL_H #define SCT_RAWDATABYTESTREAMCNV_ISCTRAWDATAPROVIDERTOOL_H -#include "GaudiKernel/IAlgTool.h" - #include "ByteStreamData/RawEvent.h" #include "InDetRawData/SCT_RDO_Container.h" #include "InDetByteStreamErrors/InDetBSErrContainer.h" #include "InDetByteStreamErrors/SCT_ByteStreamFractionContainer.h" +#include "GaudiKernel/IAlgTool.h" + #include <string> +/** @class ISCTRawDataProviderTool + * + * @brief Interface for Athena Algorithm Tool to fill Collections of SCT RDO Containers. + * + * The class inherits from AthAlgTool. + */ class ISCTRawDataProviderTool : virtual public IAlgTool { public: - /// Creates the InterfaceID and interfaceID() method + /** Creates the InterfaceID and interfaceID() method */ DeclareInterfaceID(ISCTRawDataProviderTool, 1, 0); - //! destructor + /** Destructor */ virtual ~ISCTRawDataProviderTool() = default; - //! this is the main decoding method + /** Main decoding method */ virtual StatusCode convert(std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>&, ISCT_RDO_Container&, InDetBSErrContainer* errs, SCT_ByteStreamFractionContainer* bsFracCont) const = 0; - //Replace the incident calls with private calls, more MT friendly + /** Reset list of know ROB IDs */ virtual void beginNewEvent() const = 0; }; -- GitLab From 4f2c24af3b7f4c3e09c70baf0f67c05426a382bf Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Tue, 6 Nov 2018 14:34:11 +0100 Subject: [PATCH 124/209] Add owner to VarHandleKeyArray for easier initialization --- .../AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h | 1 + Control/StoreGate/StoreGate/VarHandleKeyArray.h | 9 +++++++-- Control/StoreGate/StoreGate/VarHandleKeyArray.icc | 4 ++++ Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx | 5 +---- Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx | 5 +---- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h b/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h index 38c2771a8eb..0055cbb0791 100644 --- a/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h +++ b/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h @@ -273,6 +273,7 @@ public: // << "\n"; // debug() << ost.str() << endmsg; + hndArr.setOwner(this); m_vhka.push_back(&hndArr); Property* p = PBASE::declareProperty(name, hndArr, doc); diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.h b/Control/StoreGate/StoreGate/VarHandleKeyArray.h index 540e0503d89..c3535c2fa19 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.h @@ -39,6 +39,9 @@ namespace SG { virtual bool renounced() const = 0; virtual void declare(IDataHandleHolder*) = 0; + virtual void setOwner( IDataHandleHolder* o ) = 0; + virtual IDataHandleHolder* owner() const = 0; + }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -127,11 +130,13 @@ namespace SG { virtual void declare( IDataHandleHolder* ) override; + virtual void setOwner( IDataHandleHolder* o ) override { m_owner = o; } + virtual IDataHandleHolder* owner() const override { return m_owner; } + private: - - bool m_isRenounced{ false }; + IDataHandleHolder* m_owner{ nullptr }; }; diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc index bcd07251606..54cb69283ee 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc @@ -17,7 +17,11 @@ namespace SG { StatusCode VarHandleKeyArrayCommon<Base>::initialize (bool used /*= true*/) { StatusCode sc(StatusCode::SUCCESS); if (used) { + IDataHandleHolder* const owner = this->owner(); for (Base& b : *this) { + if (owner != nullptr) { + b.setOwner(owner); + } if ( b.initialize().isFailure() ) { sc = StatusCode::FAILURE; } diff --git a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx index ab031216b16..1c5f4b0d689 100644 --- a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx +++ b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx @@ -124,10 +124,7 @@ void test2() TestHolder h; SG::ReadDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; - for (auto k: k1.keys()) { - k->setOwner(&h); - } - + k1.setOwner(&h); SG::ReadHandleKey<MyObj> r1 ("rrr"); SG::WriteHandleKey<MyObj> w1 ("sss"); diff --git a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx index 20aa79c5228..254ce50fd32 100644 --- a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx +++ b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx @@ -155,10 +155,7 @@ void test2() TestHolder h; SG::WriteDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; - for (auto k: k1.keys()) { - k->setOwner(&h); - } - + k1.setOwner(&h); SG::ReadHandleKey<MyObj> r1 ("rrr"); SG::WriteHandleKey<MyObj> w1 ("sss"); -- GitLab From 2c886ec0c67cdf4ed827899a63ed574cf2f04fdf Mon Sep 17 00:00:00 2001 From: Kristian Bjoerke <krbjeork@cern.ch> Date: Tue, 6 Nov 2018 14:39:07 +0100 Subject: [PATCH 125/209] Changed differences between branch and athena master --- .../src/SCTRawDataProviderTool.cxx | 9 +-------- .../src/SCTRawDataProviderTool.h | 7 ------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx index 9b3b9fc05a5..1f1f07ad829 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx @@ -2,13 +2,6 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -/////////////////////////////////////////////////////////////////// -// SCTRawDataProviderTool.cxx -// Implementation file for class SCTRawDataProviderTool -/////////////////////////////////////////////////////////////////// -// (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - #include "SCTRawDataProviderTool.h" #include "SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h" @@ -52,7 +45,7 @@ StatusCode SCTRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecR if (vecROBFrags.empty()) return StatusCode::SUCCESS; ATH_MSG_DEBUG("SCTRawDataProviderTool::convert()"); - m_decodeErrCount = 0; + StatusCode sc{StatusCode::SUCCESS}; // loop over the ROB fragments diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h index f4df378618c..7bc254abe8c 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h @@ -2,13 +2,6 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -/////////////////////////////////////////////////////////////////// -// SCTRawDataProviderTool.h -// Header file for class SCTRawDataProviderTool -/////////////////////////////////////////////////////////////////// -// (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - #ifndef SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H #define SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H -- GitLab From ce4f516392ee5000bbc76ae5e8284327e067fa08 Mon Sep 17 00:00:00 2001 From: Marcin Nowak <Marcin.Nowak@cern.ch> Date: Tue, 6 Nov 2018 15:04:43 +0100 Subject: [PATCH 126/209] Class GUID queries fixes in APR and TriggerSerializer Fixes to trigger T/P serializer to reduce the number of class GUID queries which require full type table scans and possibly create hell with ROOT6 Fixes to APR to do type table scans for GUID with minimal autoloadiing/parsing Trying to fix https://its.cern.ch/jira/browse/ATR-18638 --- Control/DataModelRoot/src/RootType.cxx | 19 ++---------- Database/APR/StorageSvc/src/DbReflex.cpp | 26 ++++++++++++----- .../TrigSerializeCnvSvc/CMakeLists.txt | 6 +--- .../src/TrigSerializeConvHelper.cxx | 29 +++++-------------- .../src/TrigSerializeGuidHelper.cxx | 29 ++++++++++++------- 5 files changed, 48 insertions(+), 61 deletions(-) diff --git a/Control/DataModelRoot/src/RootType.cxx b/Control/DataModelRoot/src/RootType.cxx index 58f03590ae1..644ba043109 100644 --- a/Control/DataModelRoot/src/RootType.cxx +++ b/Control/DataModelRoot/src/RootType.cxx @@ -551,27 +551,14 @@ TScopeAdapter TScopeAdapter::ByName( const std::string& name, Bool_t load, Bool_t quiet ) { return TScopeAdapter(name, load, quiet); - - /* MN: causes problems in ROOT6, do we need it? - if (klass.GetClass() && klass->GetListOfAllPublicMethods()->GetSize() == 0) { - // sometimes I/O interferes, leading to zero methods: reload from CINT - ClassInfo_t* cl = gInterpreter->ClassInfo_Factory( name.c_str() ); - if ( cl ) { - gInterpreter->SetClassInfo( klass, kTRUE ); - gInterpreter->ClassInfo_Delete(cl); - } - } - return klass.GetClass(); - */ } //____________________________________________________________________________ TScopeAdapter TScopeAdapter::TypeAt( size_t nth ) { -// this is dreadful, but is the way checkDictionary() works ... it better make -// sure that it does not load extra classes inside its loop (seems to be how -// it should be, but is not how it is) - return TScopeAdapter( gClassTable->At( nth ) ); + const char *class_name = gClassTable->At( nth ); + // prevent autoloading, as it could change gClassTable + return class_name? TScopeAdapter( string(class_name), false, false ) : TScopeAdapter(); } //____________________________________________________________________________ diff --git a/Database/APR/StorageSvc/src/DbReflex.cpp b/Database/APR/StorageSvc/src/DbReflex.cpp index 9870baf5742..d2bcc0eed17 100644 --- a/Database/APR/StorageSvc/src/DbReflex.cpp +++ b/Database/APR/StorageSvc/src/DbReflex.cpp @@ -13,6 +13,8 @@ #include "StorageSvc/DbTransform.h" #include "POOLCore/DbPrint.h" +#include "TInterpreter.h" + #include <cstring> #include "AthContainers/tools/threading.h" @@ -39,7 +41,7 @@ static TypeMap& type_mapping() { /// Access to reflection information by type name const TypeH DbReflex::forTypeName(const string& name) { - return TypeH::ByName(name); + return TypeH(name); } /// Access to reflection information by type info @@ -63,12 +65,6 @@ Guid DbReflex::guid(const TypeH& type) } string idstr; if( type ) { -# if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0) - Reflex::PropertyList pl = type.Properties(); - if( pl.HasProperty("ClassID") ) { - idstr = pl.PropertyAsString("ClassID"); - } -# else idstr = type.Properties().PropertyAsString("id"); /* if( idstr.empty() ) { @@ -77,7 +73,6 @@ Guid DbReflex::guid(const TypeH& type) } cout << "GUID: Class " << type.Name() << " has GUID= " << idstr << endl; */ -# endif lock.upgrade(); if( !idstr.empty() ) { Guid id(idstr); @@ -97,6 +92,7 @@ Guid DbReflex::guid(const TypeH& type) return Guid::null(); } + /// Access to reflection information by Guid const TypeH DbReflex::forGuid(const Guid& id) { @@ -126,6 +122,20 @@ const TypeH DbReflex::forGuid(const Guid& id) // GUID not in the map: scan all known types. refresh the map log << DbPrintLvl::Warning << " doing GUID scan on ALL types for Class ID=" << id << DbPrint::endmsg; + // disable TClass autoloading/parsing, restore settings on return + class AutoloadGuard { + public: + int al = 0, ap = 0; + AutoloadGuard() { + al = gInterpreter->SetClassAutoloading( 0 ); + ap = gInterpreter->SetClassAutoparsing( 0 ); + } + ~AutoloadGuard() { + gInterpreter->SetClassAutoloading( al ); + gInterpreter->SetClassAutoparsing( ap ); + } + } ALG; + for(size_t i=0; i<TypeH::TypeSize(); ++i) { TypeH t = TypeH::TypeAt(i); if( t.IsClass() || t.IsStruct() ) { diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt index f616a6f0f95..cfa6a5b5579 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt @@ -21,19 +21,15 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigDataAccess/TrigSerializeResult Trigger/TrigDataAccess/TrigSerializeTP ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) # Component(s) in the package: atlas_add_library( TrigSerializeCnvSvcLib src/*.cxx PUBLIC_HEADERS TrigSerializeCnvSvc - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES AthContainers AthenaBaseComps SGTools GaudiKernel StoreGateLib SGtests TrigSerializeResultLib TrigSerializeTPLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel DataModelRoot StorageSvc PersistentDataModel ) atlas_add_component( TrigSerializeCnvSvc src/components/*.cxx - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) + LINK_LIBRARIES AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx index aae0a1e80a1..9ba32e455ee 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx @@ -2,22 +2,15 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ - #include "TrigSerializeCnvSvc/TrigSerializeConvHelper.h" -#include "GaudiKernel/MsgStream.h" -#include "GaudiKernel/ClassID.h" -#include "AthenaKernel/getMessageSvc.h" #include "StoreGate/StoreGateSvc.h" - #include "TrigSerializeCnvSvc/TrigStreamAddress.h" #include "TrigSerializeResult/ITrigSerializerToolBase.h" #include "TrigSerializeTP/TrigSerTPTool.h" #include "TrigSerializeCnvSvc/ITrigSerGuidHelper.h" -// -#include "TROOT.h" -#include "TClass.h" +#include "DataModelRoot/RootType.h" TrigSerializeConvHelper::TrigSerializeConvHelper(const std::string& toolname, const std::string& type, const IInterface* parent) : @@ -120,9 +113,8 @@ StatusCode TrigSerializeConvHelper::initialize(){ } StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaqueAddress* iAddr, void *&ptr, bool isxAOD){ - ptr = 0; - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; + msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname: " << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; //could alse get DATA (perhaps as boost::any) from the IOA TrigStreamAddress *addr = dynamic_cast<TrigStreamAddress*>(iAddr); @@ -137,11 +129,8 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque std::vector<uint32_t> v = addr->get(); //we need to find the name of the ob - std::string cl = clname; - - if (m_doTP and !isxAOD) cl = m_TPTool->persClassName(clname); @@ -165,9 +154,9 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque } } else { //get the pers version from the BS - std::string nclass; + std::string nclass = cl; StatusCode ai = m_guidTool->IntsToClassName(guid, nclass); - if (ai.isFailure()){ + if (ai.isFailure()) { //better do not decode return StatusCode::FAILURE; } @@ -201,9 +190,8 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "was converted to " << transclass << " at " << transObj << endmsg; //persistent object not needed anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(ptr); + RootType persClObj(cl); + persClObj.Destruct(ptr); ptr = transObj; } @@ -259,9 +247,8 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, if (m_doTP and !isxAOD){ //we don't need the persistent object anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(pObj); + RootType persClObj(cl); + persClObj.Destruct(pObj); } if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "pObj: " << pObj << " of " << cl diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx index e33a94bf376..a08c0eea802 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx @@ -9,7 +9,6 @@ #include "StorageSvc/DbReflex.h" - TrigSerializeGuidHelper::TrigSerializeGuidHelper(const std::string& name, const std::string& type, const IInterface* parent) : AthAlgTool(name, type, parent) @@ -52,7 +51,7 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u return StatusCode::SUCCESS; } -StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname){ +StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname) { Guid guid; guid.setData1(iarr[0]); @@ -68,16 +67,24 @@ StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::s guid.setData4(iarr[3] & 0xFF, 7); if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; - RootType cltype(pool::DbReflex::forGuid(guid)); - - clname = cltype.Name(Reflex::SCOPED); - /* - std::string scope = cltype.DeclaringScope().Name(); - if (!scope.empty()) { - clname = scope+"::"+clname; + msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; + + if( clname != "" ) { + // Instead of getting a typename for a known guid (quite costly in ROOT6) + // and comparing names, + // get a class by name and compare guids + Guid g( pool::DbReflex::guid( RootType(clname) ) ); + if( g != guid ) { + // the typename was wrong, will need to look it up by GUID + clname = ""; + } + } + + if( clname == "" ) { + RootType cltype( pool::DbReflex::forGuid(guid) ); + clname = cltype.Name(Reflex::SCOPED); } - */ + if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "corresponds to " << clname << endmsg; -- GitLab From 5b5749ed5da8ea624b9b5f820329fe0fe6662f1c Mon Sep 17 00:00:00 2001 From: charles leggett <leggett@cern.ch> Date: Fri, 2 Nov 2018 07:51:40 -0700 Subject: [PATCH 127/209] update Gaudi to v30r3.010 --- Control/AthLinks/AthLinks/DataLink.icc | 20 +++++++++---------- Control/AthLinks/AthLinks/DataLinkBase.icc | 4 ++-- Control/AthLinks/AthLinks/ElementLink.icc | 20 +++++++++---------- Control/AthViews/AthViews/ViewHelper.h | 16 ++++++++++----- Control/AthViews/src/ViewDataVerifier.cxx | 2 +- Control/AthViews/src/ViewTestAlg.cxx | 2 +- .../AthViews/src_dflow/ConditionTestAlg.cxx | 2 +- Control/AthViews/src_dflow/DFlowAlg3.cxx | 2 +- .../src/AthReentrantAlgorithm.cxx | 12 ++++++++++- .../test/AthReentrantAlgorithm_test.cxx | 2 +- .../AthenaKernel/MetaContDataBucket.icc | 2 +- .../src/AthenaHiveEventLoopMgr.cxx | 2 +- Control/IOVSvc/src/CondInputLoader.cxx | 2 +- Control/StoreGate/StoreGate/ReadCondHandle.h | 2 +- Control/StoreGate/StoreGate/ReadMetaHandle.h | 2 +- Control/StoreGate/src/VarHandleBase.cxx | 12 +++++++---- .../src/EventSelectorAthenaPool.cxx | 5 ++--- Database/IOVDbSvc/src/IOVDbSvc.cxx | 2 +- Projects/AthSimulation/externals.txt | 2 +- Projects/Athena/externals.txt | 2 +- .../src/T2CaloEgammaFastAlgo.cxx | 2 +- .../src/TrigL2ElectronFexMT.cxx | 2 +- .../TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx | 2 +- .../src/TrigCostDataStore.icc | 4 ++-- .../TrigCostMonitorMT/src/TrigCostMTSvc.cxx | 4 ++-- .../src/EventViewCreatorAlgorithm.cxx | 2 +- .../ViewAlgsTest/src/SchedulerProxy.h | 6 +++--- .../ViewAlgsTest/src/SchedulerProxyAlg.cxx | 2 +- .../ViewAlgsTest/src/TestFEXAlgView.cxx | 2 +- .../ViewAlgsTest/src/TestViewDriver.cxx | 2 +- 30 files changed, 81 insertions(+), 62 deletions(-) diff --git a/Control/AthLinks/AthLinks/DataLink.icc b/Control/AthLinks/AthLinks/DataLink.icc index c53496b937a..ae1fc6f582f 100644 --- a/Control/AthLinks/AthLinks/DataLink.icc +++ b/Control/AthLinks/AthLinks/DataLink.icc @@ -59,7 +59,7 @@ DataLink<STORABLE>::DataLink(const_reference data, IProxyDict* sg/*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const_reference data, const EventContext& ctx) - : DataLinkBase (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -85,7 +85,7 @@ DataLink<STORABLE>::DataLink(const_pointer pdata, IProxyDict* sg/*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const_pointer pdata, const EventContext& ctx) - : DataLinkBase (pdata, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (pdata, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -113,7 +113,7 @@ template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const ID_type& dataID, const EventContext& ctx) - : DataLinkBase (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -143,7 +143,7 @@ DataLink<STORABLE>::DataLink(sgkey_t key, IProxyDict* sg /*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(sgkey_t key, const EventContext& ctx) - : DataLinkBase (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -190,7 +190,7 @@ inline void DataLink<STORABLE>::toStorableObject(const_reference data, const EventContext& ctx) { - DataLinkBase::toStorableObject (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toStorableObject (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -222,7 +222,7 @@ inline void DataLink<STORABLE>::toIdentifiedObject(const ID_type& dataID, const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -258,7 +258,7 @@ inline void DataLink<STORABLE>::toIdentifiedObject(sgkey_t key, const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -298,7 +298,7 @@ template <typename STORABLE> inline void DataLink<STORABLE>::toDefaultObject (const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (SG::DEFAULTKEY, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (SG::DEFAULTKEY, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -332,7 +332,7 @@ template <typename STORABLE> inline bool DataLink<STORABLE>::toTransient (const EventContext& ctx) { - return DataLinkBase::toTransient (ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return DataLinkBase::toTransient (ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -370,7 +370,7 @@ inline bool DataLink<STORABLE>::toTransient (const ID_type& dataID, const EventContext& ctx) { - return DataLinkBase::toTransient (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return DataLinkBase::toTransient (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } diff --git a/Control/AthLinks/AthLinks/DataLinkBase.icc b/Control/AthLinks/AthLinks/DataLinkBase.icc index e7a30cdb5b4..72e9b4340fd 100644 --- a/Control/AthLinks/AthLinks/DataLinkBase.icc +++ b/Control/AthLinks/AthLinks/DataLinkBase.icc @@ -114,7 +114,7 @@ bool DataLinkBase::toTransient (IProxyDict* sg /*= 0*/) inline bool DataLinkBase::toTransient (const EventContext& ctx) { - m_proxy.toTransient (m_persKey, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + m_proxy.toTransient (m_persKey, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } @@ -158,7 +158,7 @@ bool DataLinkBase::toTransient (const ID_type& dataID, const EventContext& ctx) { if (!isDefault()) SG::throwExcBadToTransient(); - m_persKey = m_proxy.toTransient (dataID, link_clid, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + m_persKey = m_proxy.toTransient (dataID, link_clid, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } diff --git a/Control/AthLinks/AthLinks/ElementLink.icc b/Control/AthLinks/AthLinks/ElementLink.icc index e068411eb8f..95775414ef4 100644 --- a/Control/AthLinks/AthLinks/ElementLink.icc +++ b/Control/AthLinks/AthLinks/ElementLink.icc @@ -63,7 +63,7 @@ template <class STORABLE> inline ElementLink<STORABLE>::ElementLink(const ID_type& dataID, index_type elemID, const EventContext& ctx) - : Base (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -95,7 +95,7 @@ template <class STORABLE> inline ElementLink<STORABLE>::ElementLink(sgkey_t key, index_type elemID, const EventContext& ctx) - : Base (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -137,7 +137,7 @@ ElementLink<STORABLE>::ElementLink(const ID_type& dataID, index_type elemID, ElementType pEl, const EventContext& ctx) - : Base (dataID, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (dataID, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -179,7 +179,7 @@ ElementLink<STORABLE>::ElementLink (sgkey_t key, index_type elemID, ElementType pEl, const EventContext& ctx) - : Base (key, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (key, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -213,7 +213,7 @@ inline ElementLink<STORABLE>::ElementLink (BaseConstReference data, index_type elemID, const EventContext& ctx) - : Base (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -516,7 +516,7 @@ ElementLink<STORABLE>::toIndexedElement(BaseConstReference data, index_type elemID, const EventContext& ctx) { - return Base::toIndexedElement (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return Base::toIndexedElement (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -571,7 +571,7 @@ bool ElementLink<STORABLE>::toContainedElement(BaseConstReference data, { index_type index = this->index(); IndexingPolicy::reverseLookup (data, element, index); - bool ret = Base::toIndexedElement (&data, classID(), index, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + bool ret = Base::toIndexedElement (&data, classID(), index, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); if (ret) this->storeCachedElement (element); return ret; @@ -660,7 +660,7 @@ bool ElementLink<STORABLE>::setStorableObject(BaseConstReference data, bool replace, const EventContext& ctx) { - bool ret = Base::setStorableObject (&data, classID(), replace, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + bool ret = Base::setStorableObject (&data, classID(), replace, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); if (ret) { ElementConstPointer elt = 0; if (this->isDefaultIndex() && this->getCachedElement (elt)) { @@ -706,7 +706,7 @@ void ElementLink<STORABLE>::resetWithKeyAndIndex(const ID_type& dataID, index_type elemID, const EventContext& ctx) { - Base::resetWithKeyAndIndex (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + Base::resetWithKeyAndIndex (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -742,7 +742,7 @@ void ElementLink<STORABLE>::resetWithKeyAndIndex(sgkey_t key, index_type elemID, const EventContext& ctx) { - Base::resetWithKeyAndIndex (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + Base::resetWithKeyAndIndex (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } diff --git a/Control/AthViews/AthViews/ViewHelper.h b/Control/AthViews/AthViews/ViewHelper.h index e60808e8425..0db05af03d4 100644 --- a/Control/AthViews/AthViews/ViewHelper.h +++ b/Control/AthViews/AthViews/ViewHelper.h @@ -80,11 +80,16 @@ namespace ViewHelper EventContext const& SourceContext, IScheduler * Scheduler ) { //Prevent view nesting - test if source context has view attached - Atlas::ExtendedEventContext const* extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); - if ( dynamic_cast< SG::View* >( extendedContext->proxy() ) ) - { - return StatusCode::FAILURE; + if ( SourceContext.template hasExtension<Atlas::ExtendedEventContext>() ) { + if ( dynamic_cast< SG::View* >( SourceContext.template getExtension<Atlas::ExtendedEventContext>().proxy() ) ) { + return StatusCode::FAILURE; + } } + // Atlas::ExtendedEventContext const* extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); + // if ( dynamic_cast< SG::View* >( extendedContext->proxy() ) ) + // { + // return StatusCode::FAILURE; + // } //Retrieve the scheduler if ( !Scheduler ) @@ -94,11 +99,12 @@ namespace ViewHelper if ( not ViewVector->empty() ) { + Atlas::ExtendedEventContext const extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); for ( SG::View* view : *ViewVector ) { //Make a context with the view attached auto viewContext = std::make_unique< EventContext >( SourceContext ); - viewContext->setExtension( Atlas::ExtendedEventContext( view, extendedContext->conditionsRun() ) ); + viewContext->setExtension( Atlas::ExtendedEventContext( view, extendedContext.conditionsRun() ) ); //Attach the view to the named node StatusCode sc = Scheduler->scheduleEventView( &SourceContext, NodeName, std::move( viewContext ) ); diff --git a/Control/AthViews/src/ViewDataVerifier.cxx b/Control/AthViews/src/ViewDataVerifier.cxx index f19ed6d8598..3c87fda21b1 100644 --- a/Control/AthViews/src/ViewDataVerifier.cxx +++ b/Control/AthViews/src/ViewDataVerifier.cxx @@ -78,7 +78,7 @@ StatusCode ViewDataVerifier::execute() ATH_MSG_DEBUG ("Executing " << name() << "..."); // Retrieve the current view from the EventContext - auto viewProxy = getContext().getExtension<Atlas::ExtendedEventContext>()->proxy(); + auto viewProxy = getContext().getExtension<Atlas::ExtendedEventContext>().proxy(); ATH_MSG_INFO( name() << " running with store " << viewProxy->name() ); diff --git a/Control/AthViews/src/ViewTestAlg.cxx b/Control/AthViews/src/ViewTestAlg.cxx index 9f18161dc7d..6bfa9dcfca9 100644 --- a/Control/AthViews/src/ViewTestAlg.cxx +++ b/Control/AthViews/src/ViewTestAlg.cxx @@ -59,7 +59,7 @@ StatusCode ViewTestAlg::execute() { ATH_MSG_DEBUG ("Executing " << name() << "..."); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); return StatusCode::SUCCESS; } diff --git a/Control/AthViews/src_dflow/ConditionTestAlg.cxx b/Control/AthViews/src_dflow/ConditionTestAlg.cxx index e019b1379fe..85d187c024f 100644 --- a/Control/AthViews/src_dflow/ConditionTestAlg.cxx +++ b/Control/AthViews/src_dflow/ConditionTestAlg.cxx @@ -73,7 +73,7 @@ StatusCode ConditionTestAlg::execute() const EventContext& ctx = *getContext(); #endif - ATH_MSG_INFO( name() << " running with store " << ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << ctx.getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); // Make a (large) validity range EventIDBase begin (0, diff --git a/Control/AthViews/src_dflow/DFlowAlg3.cxx b/Control/AthViews/src_dflow/DFlowAlg3.cxx index 9c0fac8c4dc..a60ad527659 100644 --- a/Control/AthViews/src_dflow/DFlowAlg3.cxx +++ b/Control/AthViews/src_dflow/DFlowAlg3.cxx @@ -114,7 +114,7 @@ StatusCode DFlowAlg3::execute() // create a temporary r-handle SG::ReadHandle< std::vector<int> > ints( inputVectorHandle.name() ); - StatusCode sc = ints.setProxyDict( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy() ); + StatusCode sc = ints.setProxyDict( ctx.getExtension<Atlas::ExtendedEventContext>().proxy() ); if ( !sc.isSuccess() ) ATH_MSG_INFO( "Failed to load view " ); ATH_MSG_INFO( "temporary r-handle[ints] - size: " << ints->size() ); diff --git a/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx b/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx index d658de0ea31..f60c8cd210d 100644 --- a/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx +++ b/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx @@ -95,7 +95,17 @@ StatusCode AthReentrantAlgorithm::sysExecute (const EventContext& ctx) // the algorithm. If the context is referencing any dynamic memory, // then we can end up with a double-delete. So clear out any extension --- // we won't actually use the context we pass to here for anything anyway. - ctx2.setExtension (boost::any()); + + if (ctx.hasExtension<Atlas::ExtendedEventContext>()) { + ctx2.setExtension( Atlas::ExtendedEventContext() ); + } else if (ctx.hasExtension()) { + ATH_MSG_ERROR("EventContext " << ctx + << " has an extended context of an unknown type: \"" + << System::typeinfoName( ctx.getExtensionType() ) + << "\". Can't progress."); + return StatusCode::FAILURE; + } + return ::ReEntAlgorithm::sysExecute (ctx2); } diff --git a/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx b/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx index d126936415f..31df7275dcf 100644 --- a/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx +++ b/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx @@ -85,7 +85,7 @@ StatusCode MyAlg::initialize() StatusCode MyAlg::execute_r (const EventContext& ctx) const { - pdict = ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); + pdict = ctx.getExtension<Atlas::ExtendedEventContext>().proxy(); return StatusCode::SUCCESS; } diff --git a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc index 3d8ad804e81..dc955792d5a 100644 --- a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc +++ b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc @@ -74,7 +74,7 @@ const SourceID MetaContDataBucket<T>::getSID() const { const EventContext& ctx = Gaudi::Hive::currentContext(); const IProxyDict* store = - ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); + ctx.getExtension<Atlas::ExtendedEventContext>().proxy(); return store->sourceID(); } diff --git a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx index 5faba8ad759..5eb6a92d667 100644 --- a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx +++ b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx @@ -688,7 +688,7 @@ StatusCode AthenaHiveEventLoopMgr::executeEvent(void* createdEvts_IntPtr ) conditionsRun = (*attr)["ConditionsRun"].data<unsigned int>(); } } - evtContext->template getExtension<Atlas::ExtendedEventContext>()->setConditionsRun (conditionsRun); + evtContext->template getExtension<Atlas::ExtendedEventContext>().setConditionsRun (conditionsRun); // Make sure context global context has event id Gaudi::Hive::setCurrentContext (*evtContext); diff --git a/Control/IOVSvc/src/CondInputLoader.cxx b/Control/IOVSvc/src/CondInputLoader.cxx index 162cbe6d716..a7b9a4b2386 100644 --- a/Control/IOVSvc/src/CondInputLoader.cxx +++ b/Control/IOVSvc/src/CondInputLoader.cxx @@ -336,7 +336,7 @@ CondInputLoader::execute() // number with the conditions run number from the event context, // if it is defined. EventIDBase::number_type conditionsRun = - getContext().template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + getContext().template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { now.set_run_number (conditionsRun); } diff --git a/Control/StoreGate/StoreGate/ReadCondHandle.h b/Control/StoreGate/StoreGate/ReadCondHandle.h index ab34f1c10e0..5aed8dc7b12 100644 --- a/Control/StoreGate/StoreGate/ReadCondHandle.h +++ b/Control/StoreGate/StoreGate/ReadCondHandle.h @@ -90,7 +90,7 @@ namespace SG { m_hkey(key) { EventIDBase::number_type conditionsRun = - ctx.template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + ctx.template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { m_eid.set_run_number (conditionsRun); } diff --git a/Control/StoreGate/StoreGate/ReadMetaHandle.h b/Control/StoreGate/StoreGate/ReadMetaHandle.h index 801eab14982..b30c901cdb2 100644 --- a/Control/StoreGate/StoreGate/ReadMetaHandle.h +++ b/Control/StoreGate/StoreGate/ReadMetaHandle.h @@ -80,7 +80,7 @@ namespace SG { ReadMetaHandle<T>::ReadMetaHandle(const SG::ReadMetaHandleKey<T>& key, const EventContext& ctx): SG::VarHandleBase( key, &ctx ), - m_sid( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()->sourceID() ), + m_sid( ctx.getExtension<Atlas::ExtendedEventContext>().proxy()->sourceID() ), m_cont( key.getContainer() ), m_hkey(key) { diff --git a/Control/StoreGate/src/VarHandleBase.cxx b/Control/StoreGate/src/VarHandleBase.cxx index 677dc83ac81..c5147c4d247 100644 --- a/Control/StoreGate/src/VarHandleBase.cxx +++ b/Control/StoreGate/src/VarHandleBase.cxx @@ -961,10 +961,14 @@ namespace SG { { if (m_key->isEventStore()) { if (ctx) - return ctx->getExtension<Atlas::ExtendedEventContext>()->proxy(); + return ctx->getExtension<Atlas::ExtendedEventContext>().proxy(); if (m_storeWasSet && m_store) return m_store; - const Atlas::ExtendedEventContext *eec = Gaudi::Hive::currentContext().getExtension<Atlas::ExtendedEventContext>(); - return ( (eec == nullptr) ? nullptr : eec->proxy() ); + + if ( Gaudi::Hive::currentContext().hasExtension<Atlas::ExtendedEventContext>() ) { + return Gaudi::Hive::currentContext().getExtension<Atlas::ExtendedEventContext>().proxy(); + } else { + return nullptr; + } } if (m_storeWasSet && m_store) return m_store; @@ -992,7 +996,7 @@ namespace SG { } m_store = storeFromHandle (ctx); m_storeWasSet = (ctx && m_store == - ctx->getExtension<Atlas::ExtendedEventContext>()->proxy()); + ctx->getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } diff --git a/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx b/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx index f321763ad90..04da228b2d1 100755 --- a/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx +++ b/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx @@ -1101,9 +1101,8 @@ StatusCode EventSelectorAthenaPool::io_finalize() { void EventSelectorAthenaPool::handle(const Incident& inc) { SG::SourceID fid; - Atlas::ExtendedEventContext *eec = inc.context().getExtension<Atlas::ExtendedEventContext>(); - if( eec ) { - fid = eec->proxy()->sourceID(); + if ( inc.context().hasExtension<Atlas::ExtendedEventContext>() ) { + fid = inc.context().getExtension<Atlas::ExtendedEventContext>().proxy()->sourceID(); } if( fid.empty() ) { ATH_MSG_WARNING("could not read event source ID from incident event context"); diff --git a/Database/IOVDbSvc/src/IOVDbSvc.cxx b/Database/IOVDbSvc/src/IOVDbSvc.cxx index c58b5c4626b..f8e4f09ea93 100644 --- a/Database/IOVDbSvc/src/IOVDbSvc.cxx +++ b/Database/IOVDbSvc/src/IOVDbSvc.cxx @@ -699,7 +699,7 @@ StatusCode IOVDbSvc::signalBeginRun(const IOVTime& beginRunTime, // number with the conditions run number from the event context, // if it is defined. EventIDBase::number_type conditionsRun = - ctx.template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + ctx.template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { m_iovTime.setRunEvent (conditionsRun, m_iovTime.event()); } diff --git a/Projects/AthSimulation/externals.txt b/Projects/AthSimulation/externals.txt index d3dabb622d7..7e48fadf74c 100644 --- a/Projects/AthSimulation/externals.txt +++ b/Projects/AthSimulation/externals.txt @@ -9,4 +9,4 @@ AthSimulationExternalsVersion = 2.0.13 # The version of atlas/Gaudi to use: -GaudiVersion = v30r3.008 +GaudiVersion = v30r3.010 diff --git a/Projects/Athena/externals.txt b/Projects/Athena/externals.txt index 0191d770211..022395e5ad5 100644 --- a/Projects/Athena/externals.txt +++ b/Projects/Athena/externals.txt @@ -9,4 +9,4 @@ AthenaExternalsVersion = 2.0.13 # The version of atlas/Gaudi to use: -GaudiVersion = v30r3.008 +GaudiVersion = v30r3.010 diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx index 4a43de17b45..62814ae4a0c 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx @@ -91,7 +91,7 @@ StatusCode T2CaloEgammaFastAlgo::execute() m_trigEmClusterCollection = SG::WriteHandle<xAOD::TrigEMClusterContainer>( m_clusterContainerKey, getContext() ); ATH_CHECK( m_trigEmClusterCollection.record( CxxUtils::make_unique<xAOD::TrigEMClusterContainer>(), CxxUtils::make_unique<xAOD::TrigEMClusterAuxContainer>() ) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_clusterContainerKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roisHandle = SG::makeHandle( m_roiCollectionKey ); CHECK( roisHandle.isValid() ); diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx index ea55f54d1c6..5fd08ee4ea8 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx @@ -108,7 +108,7 @@ StatusCode TrigL2ElectronFexMT::execute() { std::make_unique<xAOD::TrigEMClusterAuxContainer>()) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_outputElectronsKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roiCollection = SG::makeHandle(m_roiCollectionKey, ctx); diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx index cced6a9addf..737099e4303 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx @@ -60,7 +60,7 @@ StatusCode TrigL2PhotonFexMT::execute() std::make_unique<xAOD::TrigEMClusterAuxContainer>()) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_outputPhotonsKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roiCollection = SG::makeHandle(m_roiCollectionKey, ctx); diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc index 15df21ea8fe..0fc6c26ba54 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc @@ -18,7 +18,7 @@ StatusCode TrigCostDataStore<PAYLOAD>::initialize(size_t nSlots) { template<typename PAYLOAD> StatusCode TrigCostDataStore<PAYLOAD>::insert(const EventContext& context, const std::string& caller, MsgStream& msg, const PAYLOAD& payload) { ATH_CHECK( checkSlot(context.slot(), msg) ); - const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); + const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>().proxy(); if (proxy == nullptr) return StatusCode::FAILURE; const SG::View* view = dynamic_cast<const SG::View*>(proxy); const int16_t viewID = (view == nullptr ? -1 : view->viewID()); @@ -40,7 +40,7 @@ StatusCode TrigCostDataStore<PAYLOAD>::insert(const EventContext& context, const template<typename PAYLOAD> StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const { // Use proxy from given context to get the store (the name of the IProxyDict) - const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); + const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>().proxy(); if (proxy == nullptr) return StatusCode::FAILURE; return retrieve(context, proxy->name(), caller, msg, payload); } diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx index ef4870bd5a0..8a4ab637e72 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx @@ -65,12 +65,12 @@ StatusCode TrigCostMTSvc::processAlg(const EventContext& context, const std::str ATH_CHECK( m_algStartTimes.insert(context, caller, msg(), TrigTimeStamp()) ); ATH_CHECK( m_algThreadID.insert(context, caller, msg(), std::this_thread::get_id()) ); - ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() << "' began"); + ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>().proxy()->name() << "' began"); } else if (type == AuditType::After) { ATH_CHECK( m_algStopTimes.insert(context, caller, msg(), TrigTimeStamp()) ); - ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() << "' ended"); + ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>().proxy()->name() << "' ended"); } diff --git a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx index ae5f341b775..c18021e98b7 100644 --- a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx +++ b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx @@ -31,7 +31,7 @@ StatusCode EventViewCreatorAlgorithm::execute_r( const EventContext& context ) c auto viewVector = std::make_unique< ViewContainer >(); auto contexts = std::vector<EventContext>( ); unsigned int viewCounter = 0; - unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>().conditionsRun(); // const TrigRoiDescriptor* previousRoI = 0; // mapping RoI with index of the View in the vector diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h index 0b8b7261bf8..cdf36718f76 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h +++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h @@ -30,14 +30,14 @@ namespace SchedulerProxy { { SG::ReadHandle<ConstDataVector<TrigRoiDescriptorCollection> > rois("RegionOfReco"); - CHECK(rois.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(rois.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); SG::WriteHandle< TestClusterContainer > clusterContainer("Clusters"); - CHECK(clusterContainer.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(clusterContainer.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); ATH_CHECK (clusterContainer.record (CxxUtils::make_unique< TestClusterContainer >()) ); SG::WriteHandle< TestClusterAuxContainer > clusterContainerAux("ClustersAux."); - CHECK(clusterContainerAux.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(clusterContainerAux.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); ATH_CHECK( clusterContainerAux.record (CxxUtils::make_unique< TestClusterAuxContainer>()) ); clusterContainer->setStore(clusterContainerAux.ptr()); diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx index 84dbddc03e6..4861b5a78e6 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx @@ -27,7 +27,7 @@ StatusCode SchedulerProxyAlg::initialize() StatusCode SchedulerProxyAlg::execute() { - auto proxyPtr = getContext().getExtension<Atlas::ExtendedEventContext>()->proxy(); + auto proxyPtr = getContext().getExtension<Atlas::ExtendedEventContext>().proxy(); auto viewPtr = dynamic_cast<SG::View*>(proxyPtr); if ( viewPtr != nullptr ) { ATH_MSG_DEBUG( ".. The alg operates on the view " << viewPtr->impl()->name() ); diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx index ecd9f37f6ec..8cee76304aa 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx @@ -71,7 +71,7 @@ StatusCode TestFEXAlgView::execute() { m_outputProxyContainer->push_back(proxy); // This retrieval and cast could use some protection, but do we actually need this alg? - SG::View * myView = dynamic_cast< SG::View * >( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy() ); + SG::View * myView = dynamic_cast< SG::View * >( ctx.getExtension<Atlas::ExtendedEventContext>().proxy() ); proxy->setObjectLink("cluster", ElementLink<TestClusterContainer>(m_outputClusterContainer.name(), nRoI, myView ) ); proxy->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(m_inputContainer.name(), nRoI, myView ) ); } else { diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx index a7a8692ae20..63434d9a4cc 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx @@ -37,7 +37,7 @@ StatusCode TestViewDriver::execute( ) { auto contexts = std::vector<EventContext>( ); auto viewVector = std::make_unique< ViewContainer >( ); unsigned int viewCounter = 0; - unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>().conditionsRun(); for ( const auto roi: *roisContainer.cptr( ) ) { contexts.push_back( getContext( ) ); -- GitLab From 7254cd41d701c1a9cb9bbc94094b27b768ba6bf1 Mon Sep 17 00:00:00 2001 From: Marcin Nowak <Marcin.Nowak@cern.ch> Date: Tue, 6 Nov 2018 15:04:43 +0100 Subject: [PATCH 128/209] Class GUID queries fixes in APR and TriggerSerializer Fixes to trigger T/P serializer to reduce the number of class GUID queries which require full type table scans and possibly create hell with ROOT6 Fixes to APR to do type table scans for GUID with minimal autoloadiing/parsing Trying to fix https://its.cern.ch/jira/browse/ATR-18638 --- Control/DataModelRoot/src/RootType.cxx | 19 ++--------- Database/APR/StorageSvc/src/DbReflex.cpp | 26 ++++++++++----- .../TrigSerializeCnvSvc/CMakeLists.txt | 6 +--- .../src/TrigSerializeConvHelper.cxx | 32 +++++++------------ .../src/TrigSerializeGuidHelper.cxx | 29 ++++++++++------- 5 files changed, 51 insertions(+), 61 deletions(-) diff --git a/Control/DataModelRoot/src/RootType.cxx b/Control/DataModelRoot/src/RootType.cxx index 58f03590ae1..644ba043109 100644 --- a/Control/DataModelRoot/src/RootType.cxx +++ b/Control/DataModelRoot/src/RootType.cxx @@ -551,27 +551,14 @@ TScopeAdapter TScopeAdapter::ByName( const std::string& name, Bool_t load, Bool_t quiet ) { return TScopeAdapter(name, load, quiet); - - /* MN: causes problems in ROOT6, do we need it? - if (klass.GetClass() && klass->GetListOfAllPublicMethods()->GetSize() == 0) { - // sometimes I/O interferes, leading to zero methods: reload from CINT - ClassInfo_t* cl = gInterpreter->ClassInfo_Factory( name.c_str() ); - if ( cl ) { - gInterpreter->SetClassInfo( klass, kTRUE ); - gInterpreter->ClassInfo_Delete(cl); - } - } - return klass.GetClass(); - */ } //____________________________________________________________________________ TScopeAdapter TScopeAdapter::TypeAt( size_t nth ) { -// this is dreadful, but is the way checkDictionary() works ... it better make -// sure that it does not load extra classes inside its loop (seems to be how -// it should be, but is not how it is) - return TScopeAdapter( gClassTable->At( nth ) ); + const char *class_name = gClassTable->At( nth ); + // prevent autoloading, as it could change gClassTable + return class_name? TScopeAdapter( string(class_name), false, false ) : TScopeAdapter(); } //____________________________________________________________________________ diff --git a/Database/APR/StorageSvc/src/DbReflex.cpp b/Database/APR/StorageSvc/src/DbReflex.cpp index 9870baf5742..d2bcc0eed17 100644 --- a/Database/APR/StorageSvc/src/DbReflex.cpp +++ b/Database/APR/StorageSvc/src/DbReflex.cpp @@ -13,6 +13,8 @@ #include "StorageSvc/DbTransform.h" #include "POOLCore/DbPrint.h" +#include "TInterpreter.h" + #include <cstring> #include "AthContainers/tools/threading.h" @@ -39,7 +41,7 @@ static TypeMap& type_mapping() { /// Access to reflection information by type name const TypeH DbReflex::forTypeName(const string& name) { - return TypeH::ByName(name); + return TypeH(name); } /// Access to reflection information by type info @@ -63,12 +65,6 @@ Guid DbReflex::guid(const TypeH& type) } string idstr; if( type ) { -# if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0) - Reflex::PropertyList pl = type.Properties(); - if( pl.HasProperty("ClassID") ) { - idstr = pl.PropertyAsString("ClassID"); - } -# else idstr = type.Properties().PropertyAsString("id"); /* if( idstr.empty() ) { @@ -77,7 +73,6 @@ Guid DbReflex::guid(const TypeH& type) } cout << "GUID: Class " << type.Name() << " has GUID= " << idstr << endl; */ -# endif lock.upgrade(); if( !idstr.empty() ) { Guid id(idstr); @@ -97,6 +92,7 @@ Guid DbReflex::guid(const TypeH& type) return Guid::null(); } + /// Access to reflection information by Guid const TypeH DbReflex::forGuid(const Guid& id) { @@ -126,6 +122,20 @@ const TypeH DbReflex::forGuid(const Guid& id) // GUID not in the map: scan all known types. refresh the map log << DbPrintLvl::Warning << " doing GUID scan on ALL types for Class ID=" << id << DbPrint::endmsg; + // disable TClass autoloading/parsing, restore settings on return + class AutoloadGuard { + public: + int al = 0, ap = 0; + AutoloadGuard() { + al = gInterpreter->SetClassAutoloading( 0 ); + ap = gInterpreter->SetClassAutoparsing( 0 ); + } + ~AutoloadGuard() { + gInterpreter->SetClassAutoloading( al ); + gInterpreter->SetClassAutoparsing( ap ); + } + } ALG; + for(size_t i=0; i<TypeH::TypeSize(); ++i) { TypeH t = TypeH::TypeAt(i); if( t.IsClass() || t.IsStruct() ) { diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt index f616a6f0f95..cfa6a5b5579 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt @@ -21,19 +21,15 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigDataAccess/TrigSerializeResult Trigger/TrigDataAccess/TrigSerializeTP ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) # Component(s) in the package: atlas_add_library( TrigSerializeCnvSvcLib src/*.cxx PUBLIC_HEADERS TrigSerializeCnvSvc - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES AthContainers AthenaBaseComps SGTools GaudiKernel StoreGateLib SGtests TrigSerializeResultLib TrigSerializeTPLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel DataModelRoot StorageSvc PersistentDataModel ) atlas_add_component( TrigSerializeCnvSvc src/components/*.cxx - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) + LINK_LIBRARIES AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx index 3a96d5e8f12..0ef5a3b9e8c 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx @@ -2,20 +2,16 @@ Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ - #include "TrigSerializeCnvSvc/TrigSerializeConvHelper.h" #include "GaudiKernel/MsgStream.h" #include "GaudiKernel/ClassID.h" - #include "TrigSerializeCnvSvc/TrigStreamAddress.h" #include "TrigSerializeResult/ITrigSerializerToolBase.h" #include "TrigSerializeTP/TrigSerTPTool.h" #include "TrigSerializeCnvSvc/ITrigSerGuidHelper.h" -// -#include "TROOT.h" -#include "TClass.h" +#include "DataModelRoot/RootType.h" TrigSerializeConvHelper::TrigSerializeConvHelper(const std::string& toolname, const std::string& type, const IInterface* parent) : @@ -118,10 +114,9 @@ StatusCode TrigSerializeConvHelper::initialize(){ } StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaqueAddress* iAddr, void *&ptr, bool isxAOD){ - ptr = 0; - ATH_MSG_DEBUG("in TrigSerializeConvHelper::createObj for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no")); - + msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname: " << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; + //could alse get DATA (perhaps as boost::any) from the IOA TrigStreamAddress *addr = dynamic_cast<TrigStreamAddress*>(iAddr); if (!addr) { @@ -135,11 +130,8 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque std::vector<uint32_t> v = addr->get(); //we need to find the name of the ob - std::string cl = clname; - - if (m_doTP and !isxAOD) cl = m_TPTool->persClassName(clname); @@ -162,11 +154,11 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque } } else { //get the pers version from the BS - std::string nclass; + std::string nclass = cl; StatusCode ai = m_guidTool->IntsToClassName(guid, nclass); - if (ai.isFailure()){ - //better do not decode - return StatusCode::FAILURE; + if (ai.isFailure()) { + //better do not decode + return StatusCode::FAILURE; } if (cl != nclass){ cl = nclass; @@ -196,9 +188,8 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque ATH_MSG_DEBUG("was converted to " << transclass << " at " << transObj); //persistent object not needed anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(ptr); + RootType persClObj(cl); + persClObj.Destruct(ptr); ptr = transObj; } @@ -252,9 +243,8 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, if (m_doTP and !isxAOD){ //we don't need the persistent object anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(pObj); + RootType persClObj(cl); + persClObj.Destruct(pObj); } ATH_MSG_DEBUG("pObj: " << pObj << " of " << cl << " payload: " << out.size()); diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx index e33a94bf376..a08c0eea802 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx @@ -9,7 +9,6 @@ #include "StorageSvc/DbReflex.h" - TrigSerializeGuidHelper::TrigSerializeGuidHelper(const std::string& name, const std::string& type, const IInterface* parent) : AthAlgTool(name, type, parent) @@ -52,7 +51,7 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u return StatusCode::SUCCESS; } -StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname){ +StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname) { Guid guid; guid.setData1(iarr[0]); @@ -68,16 +67,24 @@ StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::s guid.setData4(iarr[3] & 0xFF, 7); if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; - RootType cltype(pool::DbReflex::forGuid(guid)); - - clname = cltype.Name(Reflex::SCOPED); - /* - std::string scope = cltype.DeclaringScope().Name(); - if (!scope.empty()) { - clname = scope+"::"+clname; + msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; + + if( clname != "" ) { + // Instead of getting a typename for a known guid (quite costly in ROOT6) + // and comparing names, + // get a class by name and compare guids + Guid g( pool::DbReflex::guid( RootType(clname) ) ); + if( g != guid ) { + // the typename was wrong, will need to look it up by GUID + clname = ""; + } + } + + if( clname == "" ) { + RootType cltype( pool::DbReflex::forGuid(guid) ); + clname = cltype.Name(Reflex::SCOPED); } - */ + if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "corresponds to " << clname << endmsg; -- GitLab From 43e3b93444ce4a6d4bf615b152f5779a696245d9 Mon Sep 17 00:00:00 2001 From: Will Leight <wleight@cern.ch> Date: Tue, 6 Nov 2018 16:11:06 +0100 Subject: [PATCH 129/209] Remove RawInfoSummaryForTagWriter for muon standalone setups Only use the RawInfoSummaryForTagWriter if both the ID and calo are turned on, allowing muon standalone setups to run. --- .../share/RawInfoSummaryForTagWriter_jobOptions.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py index dd02608b912..a887c8dba33 100644 --- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py +++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py @@ -19,13 +19,14 @@ if rec.doInDet(): #MBTS threshold risftwriter.MBTS_Threshold = (60.0/222.0) -topSequence += risftwriter - +if rec.doInDet() and rec.doCalo(): + topSequence += risftwriter + # store the object in the ESD -from RecExConfig.ObjKeyStore import objKeyStore -objKeyStore.addStreamESD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) -objKeyStore.addStreamAOD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) + from RecExConfig.ObjKeyStore import objKeyStore + objKeyStore.addStreamESD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) + objKeyStore.addStreamAOD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) -- GitLab From 5e48654b59164205d1d5fd8203a6d82a782de2ac Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Mon, 5 Nov 2018 16:12:48 +0100 Subject: [PATCH 130/209] StoreGate: Avoid binding reference to temporary. In WriteMetaHandle, we had the initialization ``` m_sid( MetaContBase::SourceID("") ), ``` where m_sid is a reference. This doesn't work because what we get from MetaContBase::SourceID("") is a temporary object that is deleted once the statement completes. Thus we're left with a reference to a deleted object. Change so that m_sid holds a value, not a reference. --- Control/StoreGate/StoreGate/WriteMetaHandle.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Control/StoreGate/StoreGate/WriteMetaHandle.h b/Control/StoreGate/StoreGate/WriteMetaHandle.h index 05645cfe9a8..463154df8d3 100644 --- a/Control/StoreGate/StoreGate/WriteMetaHandle.h +++ b/Control/StoreGate/StoreGate/WriteMetaHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_WRITEMETAHANDLE_H @@ -45,7 +45,7 @@ namespace SG { private: - const MetaContBase::SourceID& m_sid; + const MetaContBase::SourceID m_sid; MetaCont<T>* m_cont {nullptr}; StoreGateSvc* m_cs {nullptr}; @@ -66,7 +66,7 @@ namespace SG { WriteMetaHandle<T>::WriteMetaHandle( const SG::WriteMetaHandleKey<T>& key, const EventContext& ctx) : SG::VarHandleBase( key, &ctx ), - m_sid( MetaContBase::SourceID("") ), + m_sid( "" ), m_cont( key.getContainer() ), m_cs( key.getStore() ), m_hkey(key) -- GitLab From 6bf447ea08542d7cb04dd70865ec9b4b3f2c9603 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Mon, 5 Nov 2018 16:14:06 +0100 Subject: [PATCH 131/209] AthenaRootComps: Fix clang warning. Clang warning: Unused private data member. --- Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h index f2bf9c1724f..32682624250 100644 --- a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h +++ b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // xAODEventSelector.h @@ -238,7 +238,6 @@ class xAODEventSelector : #ifndef XAOD_ANALYSIS //these are here just for compatibility with RecExCommon ... we were trying to use this selector in recexcommon jobs for a bit - bool m_backNavigation=false; StringProperty m_collectionType; #endif -- GitLab From c87da76411c3ee0364b21117ab9f0c835ffabcff Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Mon, 5 Nov 2018 16:16:34 +0100 Subject: [PATCH 132/209] LArRecUtils: Fix clang warnings. clang warnings: - Header guard mismatch. - Unused private data member. --- LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h index 799375ae743..c2a9d46ab9c 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h @@ -3,8 +3,8 @@ */ // Rewritten from LArHVScaleCorrTool -#ifndef LARRECUTILS_LArHVSCALEcORRCONDALG_H -#define LARRECUTILS_LArHVSCALECORRCONDALG_H +#ifndef LARRECUTILS_LARHVSCALECORRCONDALG_H +#define LARRECUTILS_LARHVSCALECORRCONDALG_H #include "AthenaBaseComps/AthAlgorithm.h" @@ -98,7 +98,6 @@ class LArHVScaleCorrCondAlg: public AthAlgorithm */ - bool m_doTdrift; unsigned int m_deltatupdate; bool m_updateIfChanged; bool m_undoOnlineHVCorr; -- GitLab From fad5d267f8c20f2414106c45947253aaf85fd645 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Mon, 5 Nov 2018 16:16:53 +0100 Subject: [PATCH 133/209] CaloTools: Fix clang warnings. clang warnings: Missing override keywords. --- .../CaloTools/CaloTools/CaloNoiseToolDB.h | 119 +++++++++--------- 1 file changed, 61 insertions(+), 58 deletions(-) diff --git a/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h b/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h index 12ebd0a3d22..053c8a2d9a1 100644 --- a/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h +++ b/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** @@ -75,23 +75,23 @@ public: // which noise to return is defined via jobOptions or via the // optional parameter CalorimeterNoiseType - float getNoise(const CaloCell* caloCell, - CalorimeterNoiseType type=JOBOPTION ); - float getNoise(const CaloDetDescrElement* caloDDE, - CalorimeterNoiseType type=JOBOPTION ); + virtual float getNoise(const CaloCell* caloCell, + CalorimeterNoiseType type=JOBOPTION ) override; + virtual float getNoise(const CaloDetDescrElement* caloDDE, + CalorimeterNoiseType type=JOBOPTION ) override; float getNoise(const CaloCell* caloCell, float energy, - CalorimeterNoiseType type=JOBOPTION ); + CalorimeterNoiseType type=JOBOPTION ); - bool isEOverNSigma(const CaloCell* caloCell, float sigmaCut , - CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, - CalorimeterNoiseType type=JOBOPTION ); + virtual bool isEOverNSigma(const CaloCell* caloCell, float sigmaCut , + CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, + CalorimeterNoiseType type=JOBOPTION ) override; float calcSig(double e, double sigma1, double ratio, double sigma2); - float getRandomisedE(const CaloCell* caloCell , CLHEP::HepRandomEngine* engine, CalorimeterNoiseType type=JOBOPTION); + virtual float getRandomisedE(const CaloCell* caloCell , CLHEP::HepRandomEngine* engine, CalorimeterNoiseType type=JOBOPTION) override; - float getEffectiveSigma(const CaloCell* caloCell, - CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, - CalorimeterNoiseType type=JOBOPTION ); + virtual float getEffectiveSigma(const CaloCell* caloCell, + CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, + CalorimeterNoiseType type=JOBOPTION ) override; @@ -99,43 +99,43 @@ public: //''''''''' functions to use currently - float elecNoiseRMS(const CaloCell* caloCell, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloCell* caloCell, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise, finding itself the right gain //from the energy of the given caloCell. - float elecNoiseRMS(const CaloCell* caloCell, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloCell* caloCell, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; // returns the same as above (Nminbias ignored in this implementation from database) - float elecNoiseRMSHighestGain(const CaloCell* caloCell, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloCell* caloCell, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the caloDDE of the given //caloCELL and for the highest gain of the considered calorimeter //(eg: HG for LAr, MG for HEC, ...). - float elecNoiseRMSHighestGain(const CaloCell* caloCell, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloCell* caloCell, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; // same as above //''''''''' functions more specialized - float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the given caloDDE and //for the highest gain of the considered calorimeter (eg: MG for HEC). - float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; //same as above - float elecNoiseRMS(const CaloDetDescrElement* caloDDE, - const CaloGain::CaloGain gain, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloDetDescrElement* caloDDE, + const CaloGain::CaloGain gain, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the given caloDDE, gain // Nminbias is ignored @@ -148,20 +148,23 @@ public: //case of 2-gaussian noise, gain // Nminbias is ignored + virtual std::vector<float> elecNoiseRMS3gains(const CaloDetDescrElement* caloDDE, - const int step=ICaloNoiseToolStep::CELLS); + const int step=ICaloNoiseToolStep::CELLS) override; //Returns a vector containing the sigma of the electronic noise for the //given caloDDE, for each gain of the considered calorimeter //(eg: vector of 3 sigma3 gains for LAr) + virtual std::vector<float> elecNoiseRMS3gains(const CaloDetDescrElement* caloDDE, const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + const int step=ICaloNoiseToolStep::CELLS) override; //same as above, Nminbias ignored - VectorContainer* elecNoiseRMSContainer(const int &iCalo); + virtual + VectorContainer* elecNoiseRMSContainer(const int &iCalo) override; //TO BE USED ONLY FOR SPECIAL CASES //Returns a vector containing, for each Hash Identifier of the calorimeter //iCalo, a vector containing the sigma of the electronic noise for all @@ -173,38 +176,38 @@ public: //== PILEUP NOISE == - float pileupNoiseRMS(const CaloCell* caloCell, - const float Nminbias=-1); - float pileupNoiseRMS(const CaloDetDescrElement* caloDDE, - const float Nminbias=-1); + virtual float pileupNoiseRMS(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float pileupNoiseRMS(const CaloDetDescrElement* caloDDE, + const float Nminbias=-1) override; //Nminbias is the number of minimum-bias events per bunch-crossing // (default is 0 (set in the constructor) ) //== TOTAL NOISE == (only at the "Cells" step) - float totalNoiseRMS(const CaloCell* caloCell, - const float Nminbias=-1); - float totalNoiseRMS(const CaloDetDescrElement* caloDDE, - const CaloGain::CaloGain gain, - const float Nminbias=-1); - float totalNoiseRMSHighestGain(const CaloCell* caloCell, - const float Nminbias=-1); - float totalNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const float Nminbias=-1); + virtual float totalNoiseRMS(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float totalNoiseRMS(const CaloDetDescrElement* caloDDE, + const CaloGain::CaloGain gain, + const float Nminbias=-1) override; + virtual float totalNoiseRMSHighestGain(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float totalNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const float Nminbias=-1) override; //== GAIN == Only there to fulfill the interface, returns INVALID values... - CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, - const int &step); - CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, - const CaloDetDescrElement* caloDDE, - const int &step); - CaloGain::CaloGain estimatedGain(const CaloDetDescrElement* caloDDE, - const float &energy, - const int &step); - - StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS); + virtual CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, + const int &step) override; + virtual CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, + const CaloDetDescrElement* caloDDE, + const int &step) override; + virtual CaloGain::CaloGain estimatedGain(const CaloDetDescrElement* caloDDE, + const float &energy, + const int &step) override; + + virtual StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS) override; private: -- GitLab From 6a52b30f14eb40ad39bcfb33b29d27df1a6e8841 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Mon, 5 Nov 2018 16:22:18 +0100 Subject: [PATCH 134/209] ActsGeometry: CLIDSvc -> AthenaKernel Update references to headers in CLIDSvc moved to AthenaKernel. --- Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h | 2 +- Tracking/Acts/ActsGeometry/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h b/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h index 9ef6b0f5e5f..ae4d1de51ff 100644 --- a/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h +++ b/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h @@ -7,7 +7,7 @@ #include "GeoModelUtilities/GeoAlignmentStore.h" #include "GeoModelUtilities/TransformMap.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthenaKernel/CondCont.h" #include "Acts/Utilities/Definitions.hpp" diff --git a/Tracking/Acts/ActsGeometry/CMakeLists.txt b/Tracking/Acts/ActsGeometry/CMakeLists.txt index 8c7c036e597..ca8f2138f24 100755 --- a/Tracking/Acts/ActsGeometry/CMakeLists.txt +++ b/Tracking/Acts/ActsGeometry/CMakeLists.txt @@ -39,6 +39,7 @@ atlas_add_library( ActsGeometryLib PUBLIC_HEADERS ActsGeometry INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${BOOST_INCLUDE_DIRS} LINK_LIBRARIES ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} + AthenaKernel ActsInteropLib ActsCore ActsLegacy -- GitLab From 13387e7769008ef362baa1d46061355cf9b8f590 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 18:55:17 +0100 Subject: [PATCH 135/209] AthContainers: Allow specializing how aux variables are cleared. Add SG::Zero<T> to allow specializing how to make a fully-initialized instance of a type. Use it in the fill() call in AuxTypeVectorHolder::shift. Needed to avoid warnings about accessing uninitialized data when Eigen objects are used directly as auxiliary variables. --- .../AthContainers/tools/AuxDataTraits.h | 17 ++++++++++++++++- .../AthContainers/tools/AuxTypeVector.icc | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Control/AthContainers/AthContainers/tools/AuxDataTraits.h b/Control/AthContainers/AthContainers/tools/AuxDataTraits.h index cdffb898210..0709fc4755c 100644 --- a/Control/AthContainers/AthContainers/tools/AuxDataTraits.h +++ b/Control/AthContainers/AthContainers/tools/AuxDataTraits.h @@ -1,7 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id$ @@ -107,6 +107,21 @@ public: }; +/** + * @brief Helper to specialize how to make an initialized instance of @c T. + * + * SG::Zero<T>::zero() should return a fully-initialized instance of @c T. + */ +template <class T> +struct Zero +{ + static T zero() + { + return T(); + } +}; + + } // namespace SG diff --git a/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc b/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc index 978d552e031..b3269cadbb4 100644 --- a/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc +++ b/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc @@ -348,7 +348,7 @@ void AuxTypeVectorHolder<T, CONT>::shift (size_t pos, ptrdiff_t offs) vec.rbegin()); std::fill (vec.begin() + pos*SCALE, vec.begin() + (pos+offs)*SCALE, - typename AuxDataTraits<T>::element_type()); + Zero<typename AuxDataTraits<T>::element_type>::zero()); } } -- GitLab From 944578ba360fb8f635927d42c0ee7026646dc982 Mon Sep 17 00:00:00 2001 From: morgens <marcus.matthias.morgenstern@cern.ch> Date: Tue, 6 Nov 2018 20:56:55 +0100 Subject: [PATCH 136/209] Update packages:TrigMuonMatching TrigMuonEvent TrigMuonEventTPCnv TrigMuonHypo TrigMuonMonitoring TrigMuonBackExtrapolator TrigMuonRoITools TrigMuonToolInterfaces TrigMuonValidation from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigMuonHypo/TrigMuonCaloTagHypo.h | 9 +- .../TrigMuonHypo/TrigMuonEFCombinerHypo.h | 4 + .../TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h | 1 + .../TrigMuonEFTrackIsolationMultiHypo.h | 66 + .../TrigMuonHypo/python/TrigMuonHypoConfig.py | 118 +- .../python/TrigMuonHypoMonitoring.py | 35 + .../TrigMuonHypo/src/MuisoHypo.cxx | 11 +- .../TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx | 132 +- .../src/TrigMuonEFCombinerHypo.cxx | 79 +- .../src/TrigMuonEFCombinerMultiHypo.cxx | 3 +- .../src/TrigMuonEFExtrapolatorHypo.cxx | 68 +- .../src/TrigMuonEFExtrapolatorMultiHypo.cxx | 2 +- .../src/TrigMuonEFSegmentHypo.cxx | 15 +- .../src/TrigMuonEFTrackIsolationHypo.cxx | 50 +- .../src/TrigMuonEFTrackIsolationMultiHypo.cxx | 211 + .../src/components/TrigMuonHypo_entries.cxx | 3 +- .../TrigMuonMonitoring/HLTMuonMonTool.h | 43 +- .../python/TrigMuonMonitCategory.py | 57 + .../python/TrigMuonMonitoringConfig.py | 70 +- .../TrigMuonMonitoring/src/CommonMon.cxx | 5934 ++++++++--------- .../TrigMuonMonitoring/src/HLTMuonMonTool.cxx | 160 +- .../TrigMuonMonitoring/src/MuCombMon.cxx | 75 +- .../TrigMuonMonitoring/src/MuFastMon.cxx | 522 +- .../TrigMuonMonitoring/src/MuGirlMon.cxx | 4 - .../TrigMuonMonitoring/src/MuIsoMon.cxx | 15 +- .../TrigMuonMonitoring/src/MuZTPMon.cxx | 68 +- .../TrigMuonMonitoring/src/MuonEFMon.cxx | 147 +- .../TrigMuonMonitoring/src/TileMuMon.cxx | 50 +- .../TrigMuonRoITools/src/TrigMuonRoITool.cxx | 261 +- .../TrigMuonRoITools/src/TrigMuonRoITool.h | 3 + 30 files changed, 4498 insertions(+), 3718 deletions(-) create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h index 2582af1d933..aaf9e70b6a4 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h @@ -31,9 +31,16 @@ private: float m_lhCut; bool m_doTight; int m_maxMissedCells; - + float m_cbthresh; std::string m_ctTrackContName; + std::vector<float> m_tmp_eta; + std::vector<float> m_tmp_phi; + std::vector<float> m_tmp_etaCT; + std::vector<float> m_tmp_phiCT; + float getdphi(float phi1, float phi2); + + }; #endif diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h index 56bf3adb884..2d172559cc1 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h @@ -7,6 +7,7 @@ #include <string> #include "TrigInterfaces/HypoAlgo.h" +#include "LumiBlockComps/ILuminosityTool.h" class TriggerElement; @@ -27,12 +28,15 @@ class TrigMuonEFCombinerHypo: public HLT::HypoAlgo { std::vector<float> m_ptThresholds; BooleanProperty m_acceptAll; BooleanProperty m_rejectCBmuons; + ToolHandle<ILuminosityTool> m_lumiTool; // Other members: std::vector<float>::size_type m_bins; std::vector<float> m_fex_pt; std::vector<float> m_fex_eta; std::vector<float> m_fex_phi; + float m_fex_rate; + float m_fex_bcid; }; #endif diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h index 203e0e8b98a..4509bad5b60 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h @@ -27,6 +27,7 @@ class TrigMuonEFExtrapolatorHypo: public HLT::HypoAlgo { std::vector<float> m_ptBins; std::vector<float> m_ptThresholds; BooleanProperty m_acceptAll; + BooleanProperty m_msonlyCut; // Other members: StoreGateSvc* m_storeGate; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h new file mode 100644 index 00000000000..56d34096a49 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h @@ -0,0 +1,66 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H +#define TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H + +#include <string> +#include <vector> +#include <deque> +// include base class +#include "TrigInterfaces/HypoAlgo.h" + +class StoreGateSvc; +class TriggerElement; + +/** + * \brief Hypothesis class for EF muon track isolation. + * \author Marcus Matthias Morgenstern (marcus.matthias.morgenstern@cern.ch) + * \details This class applies cuts on the variables calculated + * by the EF muon track isolation algorithm and checks that multiple muons fulfil both isolation and pT criteria.\n + * The cuts can be applied to the sum pT in 0.2 cone, 0.3 cone + * or both. + */ +class TrigMuonEFTrackIsolationMultiHypo: public HLT::HypoAlgo { + enum { MaxNumberTools = 20 }; +public: + TrigMuonEFTrackIsolationMultiHypo(const std::string & name, ISvcLocator* pSvcLocator); + ~TrigMuonEFTrackIsolationMultiHypo(); + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltExecute(const HLT::TriggerElement* outputTE, bool& pass); + HLT::ErrorCode hltFinalize(); + +private: + + // Properties: + + /// should we just accept all events? + BooleanProperty m_acceptAll; + + /// cut on the pt cone 0.2 variable + FloatProperty m_ptcone02_cut; + + /// cut on the pt cone 0.3 variable + FloatProperty m_ptcone03_cut; + + /// cut on absolute or sumpt/pt? + BooleanProperty m_abscut; + + /// use offline or online isolation variables? + BooleanProperty m_useVarIso; + + /// only consider combined muons for isolation? + BooleanProperty m_requireCombined; + + /// monitor the variables we cut on + std::vector<float> m_fex_ptcone02; + std::vector<float> m_fex_ptcone03; + + std::vector<float> m_ptThresholds; + + bool checkThresholds(std::deque<float>&); +}; + +#endif //TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py index 6326d5e1fb4..4d1527b859c 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py @@ -40,8 +40,10 @@ trigMuonEFSAThresholds = { '50GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 45.0,1000.0,1000.0,1000.0]], '60GeV' : [ [0,1.05,1.5,2.0,9.9], [ 54.0, 54.0, 54.0, 54.0] ], '60GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 54.0,1000.0,1000.0,1000.0]], + '60GeV_msonlyCut' : [ [0,1.05,1.5,2.0,9.9], [ 54.0, 54.0, 54.0, 54.0] ], '70GeV' : [ [0,1.05,1.5,2.0,9.9], [ 63.0, 63.0, 63.0, 63.0] ], '80GeV' : [ [0,1.05,1.5,2.0,9.9], [ 72.0, 72.0, 72.0, 72.0] ], + '80GeV_msonlyCut' : [ [0,1.05,1.5,2.0,9.9], [ 72.0, 72.0, 72.0, 72.0] ], '100GeV' : [ [0,1.05,1.5,2.0,9.9], [ 90.0, 90.0, 90.0, 90.0] ], } @@ -795,6 +797,9 @@ class TrigMuonEFExtrapolatorHypoConfig(TrigMuonEFExtrapolatorHypo) : threshold = args[1] + if "msonlyCut" in threshold: + self.MSonlyCut = True + try: values = trigMuonEFSAThresholds[threshold] self.PtBins = values[0] @@ -916,6 +921,41 @@ class TrigMuonEFCombinerMultiHypoConfig(TrigMuonEFCombinerMultiHypo) : if len(handle.PtThresholds)!=len(handle.PtBins)-nmult: print handle.name," eta bins doesn't match the Pt thresholds!" +class TrigMuonEFSegmentHypoConfig(TrigMuonEFSegmentHypo) : + + __slots__ = [] + + def __new__( cls, *args, **kwargs ): + newargs = ['%s_%s_%s' % (cls.getType(),args[0],args[1])] + list(args) + return super( TrigMuonEFSegmentHypoConfig, cls ).__new__( cls, *newargs, **kwargs ) + + def __init__( self, name, *args, **kwargs ): + super( TrigMuonEFSegmentHypoConfig, self ).__init__( name ) + + threshold = args[1] + + try: + values = efCombinerThresholds[threshold] + self.PtBins = values[0] + self.PtThresholds = [ x * GeV for x in values[1] ] + self.AcceptAll = False + except LookupError: + if (threshold=='passthrough'): + self.PtBins = [-10000.,10000.] + self.PtThresholds = [ -1. * GeV ] + self.AcceptAll = True + else: + raise Exception('TrigMuonEFSegment Hypo Misconfigured: threshold %r not supported' % threshold) + + #validation = TrigMuonEFCombinerHypoValidationMonitoring() + #online = TrigMuonEFCombinerHypoOnlineMonitoring() + + #self.AthenaMonTools = [ validation, online ] + + def setDefaults(cls,handle): + if hasattr(handle,'PtThresholds') and hasattr(handle,'PtBins'): + if len(handle.PtThresholds)!=len(handle.PtBins)-1: + print handle.name," eta bins doesn't match the Pt thresholds!" class TrigMuonEFExtrapolatorMultiHypoConfig(TrigMuonEFExtrapolatorMultiHypo) : @@ -1272,7 +1312,18 @@ trigMuonEFTrkIsoThresholds = { 'RelEFOnlyVarLooseWide' : [-1.0 , 0.2 ], 'RelEFOnlyVarMediumWide' : [-1.0 , 0.12 ], # 'RelEFOnlyVarTightWide' : [-1.0 , 0.08 ] #MC15C - 'RelEFOnlyVarTightWide' : [-1.0 , 0.07 ] #ivarmedium + 'RelEFOnlyVarTightWide' : [-1.0 , 0.07 ], #ivarmedium + 'RelEFOnlyVarTighterWide' : [-1.0 , 0.06 ], #ivartight + 'RelEFOnlyVarVeryTightWide' : [-1.0 , 0.04 ] #ivarverytight + } + + + +trigMuonEFCaloIsoThresholds = { + + 'Rel' : [ 0.3, 0.3, 0.3 ], + 'AbsCalo' : [ 5200.0, 4800.0, 4000.0], + } @@ -1340,6 +1391,65 @@ class TrigMuonEFTrackIsolationHypoConfig(TrigMuonEFTrackIsolationHypo) : self.AthenaMonTools = [ validation, online ] +""" +Class for hypothesis cuts on EF track isolation algorithm. +arg[0] = Muon +arg[1] = working point +See trigMuonEFTrkIsoThresholds for available working points +Put passthrough in arg[1] for passthrough +""" + +class TrigMuonEFTrackIsolationMultiHypoConfig(TrigMuonEFTrackIsolationMultiHypo) : + + __slots__ = [] + + def __new__( cls, *args, **kwargs ): + newargs = ['%s_%s_%s' % (cls.getType(),args[0],args[1])] + list(args) + return super( TrigMuonEFTrackIsolationMultiHypoConfig, cls ).__new__( cls, *newargs, **kwargs ) + + def __init__( self, name, *args, **kwargs ): + super( TrigMuonEFTrackIsolationMultiHypoConfig, self ).__init__( name ) + + try: + pt_thresholds = map(lambda t: t * 1000., + map(float, + map(lambda s: s.replace("GeV",""), args[2]))) + cuts = trigMuonEFTrkIsoThresholds[ args[1] ] + ptcone02 = cuts[0] + ptcone03 = cuts[1] + + self.PtCone02Cut = ptcone02 + self.PtCone03Cut = ptcone03 + self.AcceptAll = False + self.PtThresholds = pt_thresholds + if 'MS' in args[1]: + self.RequireCombinedMuon = False + else: + self.RequireCombinedMuon = True + + if 'Rel' in args[1] : + self.DoAbsCut = False + else : + self.DoAbsCut = True + if 'Var' in args[1] : + self.useVarIso = True + else : + self.useVarIso = False + except LookupError: + if(args[1]=='passthrough') : + print 'Setting passthrough' + self.AcceptAll = True + else: + print 'args[1] = ', args[1] + raise Exception('TrigMuonEFTrackIsolation Hypo Misconfigured') + + + validation = TrigMuonEFTrackIsolationMultiHypoValidationMonitoring() + online = TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring() + + self.AthenaMonTools = [ validation, online ] + + """ Class for hypothesis cuts on EF calo isolation algorithm. arg[0] = Muon @@ -1550,6 +1660,12 @@ class TrigMuonCaloTagHypoConfig(TrigMuonCaloTagHypo) : self.UseLH = False self.TightCaloTag = True self.MaxMissingCells = 3 + import itertools as it + for threshold in list(it.islice(args,3,None)) : + values = efCombinerThresholds[threshold] + self.CombinedMuonThreshold = values[1][0] + + class TrigMuonIDTrackMultiHypoConfig(TrigMuonIDTrackMultiHypo) : diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py index e1a7b448291..e57ff45a35e 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py +++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py @@ -388,6 +388,12 @@ class TrigMuonEFCombinerHypoValidationMonitoring(TrigGenericMonitoringToolConfig xbins=100, xmin=-3.2, xmax=3.2) ] self.Histograms += [ defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #TrigMuonEFCombinerHypo; Phi", xbins=100, xmin=-3.15, xmax=3.15) ] + self.Histograms += [ defineHistogram('BCID', type='TH1F', title="BCID from TrigMuonEFCombinerHypo; BCID", + xbins=3564, xmin=0, xmax=3563) ] + self.Histograms += [ defineHistogram('Rate', type='TH1F', title="Rate from TrigMuonEFCombinerHypo; Rate (Hz)", + xbins=100, xmin=0, xmax=500) ] + self.Histograms += [ defineHistogram('BCID, Rate', type='TProfile', title="Rate vs BCID from TrigMuonEFCombinerHypo; BCID; Rate (Hz)", + xbins=3564, xmin=0, xmax=3563) ] class TrigMuonEFCombinerHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): def __init__ (self, name="TrigMuonEFCombinerHypoOnlineMonitoring"): @@ -396,6 +402,13 @@ class TrigMuonEFCombinerHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): self.Histograms = [ defineHistogram('Pt', type='TH1F', title="P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (GeV)", xbins=200, xmin=-100, xmax=100) ] + self.Histograms += [ defineHistogram('BCID', type='TH1F', title="BCID from TrigMuonEFCombinerHypo; BCID", + xbins=3564, xmin=0, xmax=3563) ] + self.Histograms += [ defineHistogram('Rate', type='TH1F', title="Rate from TrigMuonEFCombinerHypo; Rate (Hz)", + xbins=100, xmin=0, xmax=500) ] + self.Histograms += [ defineHistogram('BCID, Rate', type='TProfile', title="Rate vs BCID from TrigMuonEFCombinerHypo; BCID; Rate (Hz)", + xbins=3564, xmin=0, xmax=3563) ] + @@ -600,6 +613,28 @@ class TrigMuonEFTrackIsolationHypoValidationMonitoring(TrigGenericMonitoringTool self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationHypo; P_{T} (GeV)", xbins=50, xmin=0.0, xmax=25.0) ] +class TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring"): + super(TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring, self).__init__(name) + self.defineTarget("Online") + + self.Histograms = [ defineHistogram('PtCone02', type='TH1F', title="Sum pT in 0.2 cone #TrigMuonEFTrackIsolationMultiHypo; Sum p_{T} [GeV]", + xbins=50, xmin=0.0, xmax=25.0) ] + self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationMultiHypo; Sum p_{T} [GeV]", + xbins=50, xmin=0.0, xmax=25.0) ] + pass + + +class TrigMuonEFTrackIsolationMultiHypoValidationMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigMuonEFTrackIsolationMultiHypoValidationMonitoring"): + super(TrigMuonEFTrackIsolationMultiHypoValidationMonitoring, self).__init__(name) + self.defineTarget("Validation") + + self.Histograms = [ defineHistogram('PtCone02', type='TH1F', title="Sum pT in 0.2 cone #TrigMuonEFTrackIsolationMultiHypo; P_{T} (GeV)", + xbins=50, xmin=0.0, xmax=25.0) ] + self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationMultiHypo; P_{T} (GeV)", + xbins=50, xmin=0.0, xmax=25.0) ] + class TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): def __init__ (self, name="TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring"): super(TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring, self).__init__(name) diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx index 1eca9c5f06a..5ce65c6ec6b 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx @@ -84,11 +84,7 @@ HLT::ErrorCode MuisoHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& if (m_acceptAll) { pass = true; - if (msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" - << endmsg; - } + ATH_MSG_DEBUG("Accept property is set: taking all the events"); return HLT::OK; } @@ -110,8 +106,9 @@ HLT::ErrorCode MuisoHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& // Check that there is only one L2IsoMuon if (vectorOfMuons->size() != 1) { - msg() << MSG::ERROR << "Size of vector is " << vectorOfMuons->size() << endmsg; - return HLT::ErrorCode(HLT::Action::CONTINUE, HLT::Reason::NAV_ERROR); + ATH_MSG_DEBUG("Size of L2Iso muon vector is " << vectorOfMuons->size() << ", so isolation failed"); + pass = false; + return HLT::OK; } // Get first (and only) L2IsoMuon diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx index a56889dfb4e..cf5ae2d2784 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx @@ -19,6 +19,7 @@ TrigMuonCaloTagHypo::TrigMuonCaloTagHypo(const std::string& name, ISvcLocator* p m_lhCut(0.95), m_doTight(true), m_maxMissedCells(1), + m_cbthresh(0), m_ctTrackContName("MuonEFInfo_CaloTagTrackParticles") { declareProperty("AcceptAll", m_acceptAll); @@ -28,6 +29,7 @@ TrigMuonCaloTagHypo::TrigMuonCaloTagHypo(const std::string& name, ISvcLocator* p declareProperty("LHCut", m_lhCut); declareProperty("TightCaloTag", m_doTight); declareProperty("MaxMissingCells", m_maxMissedCells); + declareProperty("CombinedMuonThreshold",m_cbthresh); declareProperty("TrackContainerName", m_ctTrackContName,"MuonEFInfo_CaloTagTrackParticles"); } @@ -69,45 +71,112 @@ HLT::ErrorCode TrigMuonCaloTagHypo::hltExecute(const HLT::TriggerElement* output return HLT::OK; } - //Retrieve tagged track particles - const xAOD::TrackParticleContainer* tpCont(0); + m_tmp_eta.clear(); + m_tmp_phi.clear(); + m_tmp_etaCT.clear(); + m_tmp_phiCT.clear(); - if (getFeature<xAOD::TrackParticleContainer>(outputTE, tpCont, m_ctTrackContName)!= HLT::OK || tpCont==0) { - ATH_MSG_DEBUG("Failed to retrieve xAOD::TrackParticleContainer " << m_ctTrackContName); + // Get muonContainer linked to the outputTE + const xAOD::MuonContainer* muonContainer=0; + if(getFeature(outputTE, muonContainer)!=HLT::OK) { + ATH_MSG_DEBUG("no xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; - } + } else { + if (!muonContainer) { + ATH_MSG_DEBUG("null xAOD::MuonContainer Feature found"); + return HLT::MISSING_FEATURE; + } + ATH_MSG_DEBUG("xAOD::MuonContainer found with size " << muonContainer->size()); + } //Check whether a particle passes the selection unsigned int nPassed = 0; - for(const xAOD::TrackParticle* tp : *tpCont) { - ATH_MSG_DEBUG("Track Particle: pt, eta, phi, ptcut = " << tp->pt() << ", " << tp->eta() << ", " << tp->phi() << ", " << m_ptThresholds[nPassed]); + //first look for combined muons + // loop on the muons within the RoI + for (unsigned int j=0; j< muonContainer->size(); ++j ) { + const xAOD::Muon* muon = muonContainer->at(j); + if (!muon) { + ATH_MSG_DEBUG("No xAOD::Muon found."); + continue; + } else { + ATH_MSG_DEBUG("muon type: "<<muon->muonType()); + if (muon->primaryTrackParticle()) { // was there a muon in this RoI ? + + const xAOD::TrackParticle *tr = muon->trackParticle(xAOD::Muon::CombinedTrackParticle); // get the TrackContainer + if(muon->muonType()!=3){ + if (!tr) { + ATH_MSG_DEBUG("No CombinedTrackParticle found."); + } else { + ATH_MSG_DEBUG("Retrieved CombinedTrackParticle with abs pt "<< (*tr).pt()/CLHEP::GeV << "GeV. Charge=" << tr->charge()<<" eta, phi: "<<(*tr).eta()<<" "<<(*tr).phi()); + + // check if muon passes threshold + if (fabs(tr->pt()) > m_cbthresh){ + m_tmp_eta.push_back(tr->eta()); + m_tmp_phi.push_back(tr->phi()); + + } + } + } + + + + + + + + //calo tag muons + if(muon->muonType()==3){ + const xAOD::TrackParticle* tp = muon->primaryTrackParticle(); + ATH_MSG_DEBUG("Track Particle: pt, eta, phi, ptcut = " << tp->pt() << ", " << tp->eta() << ", " << tp->phi() << ", " << m_ptThresholds[nPassed]); - if (tp->pt() < m_ptThresholds[nPassed]) continue; - if (fabs(tp->eta()) > m_etaMax) continue; + if (tp->pt() < m_ptThresholds[nPassed]) continue; + if (fabs(tp->eta()) > m_etaMax) continue; - if (m_doLH) { - auto lh = tp->auxdata<double>("CaloTagLH"); - ATH_MSG_DEBUG("Track Particle: lh, lhcut = " << ", LH: " << lh << ", cut: " << m_lhCut); - if (lh < m_lhCut) continue; - } - else { - auto calotag = tp->auxdata<unsigned short>("CaloTag"); - ATH_MSG_DEBUG("Track Particle: ct = " << calotag ); - if (m_doTight){ - if (calotag < (4 - m_maxMissedCells)*10) continue; - }else{ - if (calotag < (4 - m_maxMissedCells)) continue; + if (m_doLH) { + auto lh = tp->auxdata<double>("CaloTagLH"); + ATH_MSG_DEBUG("Track Particle: lh, lhcut = " << ", LH: " << lh << ", cut: " << m_lhCut); + if (lh < m_lhCut) continue; + } + else { + auto calotag = tp->auxdata<unsigned short>("CaloTag"); + ATH_MSG_DEBUG("Track Particle: ct = " << calotag ); + if (m_doTight){ + if (calotag < (4 - m_maxMissedCells)*10) continue; + }else{ + if (calotag < (4 - m_maxMissedCells)) continue; + } + } + + m_tmp_etaCT.push_back(tp->eta()); + m_tmp_phiCT.push_back(tp->phi()); + + ++nPassed; + } } } - - ++nPassed; - ATH_MSG_DEBUG("Muon passed"); - //Check if we've found all required muons - if (nPassed >= m_ptThresholds.size()) break; + } + + //Check that calo tag and combined muons are not the same! + float deta,dphi=10; + float mindR=1.0; + float deltaR=1.0; + pass=false; + for(unsigned int j=0; j<m_tmp_etaCT.size(); j++){ + mindR=1.0; + for(unsigned int i=0; i<m_tmp_eta.size(); i++){ + deta = fabs(m_tmp_eta[i]-m_tmp_etaCT[j]); + dphi = getdphi(m_tmp_phi[i],m_tmp_phiCT[j]); + deltaR=deta*deta+dphi*dphi; + + if(deltaR<mindR){ + mindR=deltaR; + } + } + if(mindR<0.001 && nPassed>0) nPassed=nPassed-1; } - pass = (nPassed >= m_ptThresholds.size()); - ATH_MSG_DEBUG("Found muons: " << nPassed << ", passed = " << pass); + if(nPassed >= m_ptThresholds.size()) pass=true; + ATH_MSG_DEBUG("Found muons: " << nPassed << ", mindR(calotag,cb) "<<mindR<<", passed = " << pass); return HLT::OK; } @@ -118,3 +187,10 @@ HLT::ErrorCode TrigMuonCaloTagHypo::hltFinalize() return HLT::OK; } + +float TrigMuonCaloTagHypo::getdphi(float phi1, float phi2){ + float dphi = phi1-phi2; + if(dphi > TMath::Pi()) dphi -= TMath::TwoPi(); + if(dphi < -1*TMath::Pi()) dphi += TMath::TwoPi(); + return fabs(dphi); +} diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx index a35ff2bd6db..dd66440e93b 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx @@ -6,12 +6,15 @@ #include "xAODMuon/MuonContainer.h" #include "CLHEP/Units/SystemOfUnits.h" +#include "xAODEventInfo/EventInfo.h" class ISvcLocator; TrigMuonEFCombinerHypo::TrigMuonEFCombinerHypo(const std::string & name, ISvcLocator* pSvcLocator): - HLT::HypoAlgo(name, pSvcLocator){ - declareProperty("AcceptAll", m_acceptAll=true); + HLT::HypoAlgo(name, pSvcLocator), + m_lumiTool("LuminosityTool/LuminosityTool") +{ + declareProperty("AcceptAll", m_acceptAll=true); declareProperty("RejectCBmuons", m_rejectCBmuons=false); std::vector<float> def_bins; def_bins.push_back(0); @@ -20,9 +23,12 @@ TrigMuonEFCombinerHypo::TrigMuonEFCombinerHypo(const std::string & name, ISvcLoc def_thrs.push_back(0.*CLHEP::GeV); declareProperty("PtBins", m_ptBins=def_bins); declareProperty("PtThresholds", m_ptThresholds=def_thrs); + declareProperty("LumiTool", m_lumiTool); declareMonitoredStdContainer("Pt", m_fex_pt); declareMonitoredStdContainer("Eta", m_fex_eta); declareMonitoredStdContainer("Phi", m_fex_phi); + declareMonitoredVariable("BCID", m_fex_bcid); + declareMonitoredVariable("Rate", m_fex_rate); m_bins = 0; } @@ -32,29 +38,28 @@ TrigMuonEFCombinerHypo::~TrigMuonEFCombinerHypo(){ HLT::ErrorCode TrigMuonEFCombinerHypo::hltInitialize(){ - if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; - } else { - m_bins = m_ptBins.size() - 1; - if (m_bins != m_ptThresholds.size()) { - msg() << MSG::INFO << "bad thresholds setup .... exiting!" << endmsg; - return HLT::BAD_JOB_SETUP; - } - for (std::vector<float>::size_type i=0; i<m_bins;++i) { - msg() << MSG::INFO - << "bin " << m_ptBins[i] << " - " << m_ptBins[i+1] - << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV - << " CLHEP::GeV" << endmsg; - } - } - - msg() << MSG::INFO - << "Initialization completed successfully" - << endmsg; - - return HLT::OK; + if(m_acceptAll) { + ATH_MSG_INFO("Accepting all the events with not cut!"); + } else { + m_bins = m_ptBins.size() - 1; + if (m_bins != m_ptThresholds.size()) { + ATH_MSG_INFO("bad thresholds setup .... exiting!"); + return HLT::BAD_JOB_SETUP; + } + for (std::vector<float>::size_type i=0; i<m_bins;++i) { + ATH_MSG_INFO("bin " << m_ptBins[i] << " - " << m_ptBins[i+1] + << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV + << " CLHEP::GeV"); + } + } + if(m_lumiTool.retrieve().isFailure()){ + ATH_MSG_WARNING("Unable to retrieve luminosity tool"); + } + else{ + ATH_MSG_DEBUG("Sucessfully retrieved luminosty tool"); + } + ATH_MSG_INFO("Initialization completed successfully"); + return HLT::OK; } @@ -73,6 +78,8 @@ HLT::ErrorCode TrigMuonEFCombinerHypo::hltExecute(const HLT::TriggerElement* out m_fex_pt.clear(); m_fex_eta.clear(); m_fex_phi.clear(); + m_fex_rate=-1; + m_fex_bcid=-1; if(m_acceptAll) { pass = true; @@ -150,5 +157,27 @@ HLT::ErrorCode TrigMuonEFCombinerHypo::hltExecute(const HLT::TriggerElement* out }//loop on muons pass = result; + + //Add some per bcid monitoring of rates to see if there are effects from RF detuning + const xAOD::EventInfo* pEvent(0); + if(store()->retrieve(pEvent).isFailure()){ + ATH_MSG_ERROR("Cannot find xAODEventInfo object"); + return HLT::ERROR; + } + + double crosssection=1.0; + //cross sections are ~ constant vs luminosity - taken from run 311481 (and are approximate + // we only care how much the rates differ between bcids, so this should be enough). + if(m_ptThresholds[0]/CLHEP::GeV>3.5 && m_ptThresholds[0]/CLHEP::GeV<4.0) crosssection=65.; + if(m_ptThresholds[0]/CLHEP::GeV>5.5 && m_ptThresholds[0]/CLHEP::GeV<6.0) crosssection=55.; + if(m_ptThresholds[0]/CLHEP::GeV>13.0 && m_ptThresholds[0]/CLHEP::GeV<14.0) crosssection=45.; + if(m_ptThresholds[0]/CLHEP::GeV>25.0 && m_ptThresholds[0]/CLHEP::GeV<26.0) crosssection=30.; + if(pass==true){ + m_fex_bcid = pEvent->bcid(); + + if(m_lumiTool){ + m_fex_rate = m_lumiTool->lbLuminosityPerBCID()*crosssection; + } + } return HLT::OK; } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx index 984c0eb9aab..5d31d880acd 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx @@ -38,7 +38,6 @@ TrigMuonEFCombinerMultiHypo::TrigMuonEFCombinerMultiHypo(const std::string & nam m_bins = 0; m_mult = 0; m_storeGate=0; - } TrigMuonEFCombinerMultiHypo::~TrigMuonEFCombinerMultiHypo(){ @@ -87,8 +86,8 @@ HLT::ErrorCode TrigMuonEFCombinerMultiHypo::hltInitialize(){ return HLT::BAD_JOB_SETUP; } - msg() << MSG::INFO << "DoNscan: "<<m_nscan<<endmsg; + ATH_MSG_INFO("DoNscan: "<<m_nscan); } msg() << MSG::INFO diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx index 1b24a88c052..bfdadbcf225 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx @@ -17,6 +17,7 @@ class ISvcLocator; TrigMuonEFExtrapolatorHypo::TrigMuonEFExtrapolatorHypo(const std::string & name, ISvcLocator* pSvcLocator): HLT::HypoAlgo(name, pSvcLocator){ declareProperty("AcceptAll", m_acceptAll=true); + declareProperty("MSonlyCut", m_msonlyCut=false); std::vector<float> def_bins; def_bins.push_back(0); def_bins.push_back(9.9); @@ -40,36 +41,37 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltInitialize(){ if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; + ATH_MSG_INFO("Accepting all the events with not cut!"); } else { m_bins = m_ptBins.size() - 1; if (m_bins != m_ptThresholds.size()) { - msg() << MSG::INFO << "bad thresholds setup .... exiting!" << endmsg; + ATH_MSG_INFO("bad thresholds setup .... exiting!"); return HLT::BAD_JOB_SETUP; // msg() << MSG::INFO // << "current hypo implementation is dummy" << endmsg; } for (std::vector<float>::size_type i=0; i<m_bins;++i) { - msg() << MSG::INFO - << "bin " << m_ptBins[i] << " - " << m_ptBins[i+1] - << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV - << " GeV" << endmsg; + ATH_MSG_INFO("bin " << m_ptBins[i] << " - " << m_ptBins[i+1] + << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV + << " CLHEP::GeV"); } } - msg() << MSG::INFO - << "Initialization completed successfully" - << endmsg; + if(m_msonlyCut) { + if(msgLvl() <= MSG::DEBUG) { + ATH_MSG_DEBUG("Apply GoodPrecisonLayers cut in MS-only triggers"); + } + } + + ATH_MSG_INFO("Initialization completed successfully"); return HLT::OK; } HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltFinalize() { - msg() << MSG::INFO << "in finalize()" << endmsg; + ATH_MSG_INFO("in finalize()"); return HLT::OK; } @@ -79,7 +81,8 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* m_storeGate = store(); - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "in execute()" << endmsg; + if(msgLvl() <= MSG::DEBUG) + ATH_MSG_DEBUG("in execute()"); //resetting the monitoring variables m_fex_pt.clear(); @@ -88,11 +91,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if(m_acceptAll) { pass = true; - if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" - << endmsg; - } + ATH_MSG_DEBUG("Accept property is set: taking all the events"); return HLT::OK; } @@ -102,7 +101,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* bool debug = msgLvl() <= MSG::DEBUG; // Some debug output: - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "outputTE->ID(): " << outputTE->getId() << endmsg; + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); // will do hypo cuts here @@ -110,14 +109,14 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* const xAOD::MuonContainer* muonContainer(0); if(getFeature(outputTE, muonContainer)!=HLT::OK) { - if (debug) msg() << MSG::DEBUG << "no xAOD::MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("no xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; } else { if (!muonContainer) { - if (debug) msg() << MSG::DEBUG << "null xAOD::MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("null xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; } - if (debug) msg() << MSG::DEBUG << "vector of xAOD::MuonContainer found with size " << muonContainer->size() << endmsg; + if (debug) ATH_MSG_DEBUG("vector of xAOD::MuonContainer found with size " << muonContainer->size()); } for (unsigned int i=0; i<muonContainer->size(); i++){ @@ -126,7 +125,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* const xAOD::Muon* muon = muonContainer->at(i); if (!muon) { - if (debug) msg() << MSG::DEBUG << "No xAOD::Muon found." << endmsg; + if (debug) ATH_MSG_DEBUG("No xAOD::Muon found."); continue; } else { @@ -138,19 +137,27 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if (!tr) { - if (debug) msg() << MSG::DEBUG << "No ExtrapolatedMuonSpectrometerTrackParticle found." << endmsg; + if (debug) ATH_MSG_DEBUG("No ExtrapolatedMuonSpectrometerTrackParticle found."); continue; } else { - if (debug) msg() << MSG::DEBUG - << "Retrieved ExtrapolatedMuonSpectrometerTrack track with abs pt " - << (*tr).pt()/CLHEP::GeV << " GeV " << endmsg; - + if (debug) + ATH_MSG_DEBUG("Retrieved ExtrapolatedMuonSpectrometerTrack track with abs pt " + << (*tr).pt()/CLHEP::GeV << " GeV"); + m_fex_pt.push_back(tr->pt()/CLHEP::GeV); float eta = tr->eta(); m_fex_eta.push_back(eta); m_fex_phi.push_back(tr->phi()); float absEta = fabs(eta); + if (m_msonlyCut) { + uint8_t nGoodPrcLayers(0); + if (!muon->summaryValue(nGoodPrcLayers, xAOD::numberOfGoodPrecisionLayers)){ + if (debug) ATH_MSG_DEBUG("No numberOfGoodPrecisionLayers variable foud."); + continue; + } + if(absEta > 1.05 && nGoodPrcLayers < 3) continue; + } float threshold = 0; for (std::vector<float>::size_type k=0; k<m_bins; ++k) { if (absEta > m_ptBins[k] && absEta <= m_ptBins[k+1]) threshold = m_ptThresholds[k]; @@ -158,10 +165,11 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if (fabs(tr->pt())/CLHEP::GeV > (threshold/CLHEP::GeV)){ result = true; } - if(debug) msg() << MSG::DEBUG << " REGTEST muon pt is " << tr->pt()/CLHEP::GeV << " GeV " + if(debug) + ATH_MSG_DEBUG(" REGTEST muon pt is " << tr->pt()/CLHEP::GeV << " GeV " << " with Charge " << tr->charge() << " and threshold cut is " << threshold/CLHEP::GeV << " GeV" - << " so hypothesis is " << (result?"true":"false") << endmsg; + << " so hypothesis is " << (result?"true":"false")); } } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx index 1bbd0e50708..1fd0c633fc0 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx @@ -86,7 +86,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorMultiHypo::hltInitialize(){ return HLT::BAD_JOB_SETUP; } - msg() << MSG::INFO << "DoNscan: "<<m_nscan<<endmsg; + ATH_MSG_INFO("DoNscan: "<<m_nscan); } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx index 494f6b0c456..04fbe6da7d5 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx @@ -62,13 +62,13 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltFinalize() HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass){ + ATH_MSG_DEBUG("in execute()"); //resetting the monitoring variables m_fex_pt.clear(); m_fex_eta.clear(); m_fex_phi.clear(); - if(m_acceptAll) { pass = true; ATH_MSG_DEBUG("Accept property is set: taking all the events"); @@ -91,18 +91,14 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outp if(debug) ATH_MSG_DEBUG("Found MuonContainer, n(muons) = " << muonContainer->size()); // loop on the muons within the RoI - unsigned int j=0; for(auto muon : *muonContainer) { - - ATH_MSG_DEBUG("Looking at muon " << j++ ); const xAOD::Muon::MuonType muontype = muon->muonType(); ATH_MSG_DEBUG("Muon type " << (int)muontype << " is seg: " << (muontype == xAOD::Muon::MuonType::SegmentTagged)); - if(muontype == xAOD::Muon::MuonType::Combined || muontype == xAOD::Muon::MuonType::SegmentTagged ) { // combined or segment tagged muon - + if(muontype == xAOD::Muon::MuonType::SegmentTagged ) { //check latest changes for combined takking // apparently match chi2 not stored yet? //float matchchi2(-1); //muon->parameter(matchchi2, xAOD::Muon::msInnerMatchChi2); - if (debug) ATH_MSG_DEBUG("Retrieved muon with pt " << muon->pt()/CLHEP::GeV << " GeV."); //Match chi2 = " << matchchi2 << endmsg; + if (debug) ATH_MSG_DEBUG("Retrieved muon with pt " << muon->pt()/CLHEP::GeV << " GeV."); //Match chi2 = " << matchchi2 << endreq; m_fex_pt.push_back(muon->pt()/CLHEP::GeV); const float eta = muon->eta(); @@ -128,10 +124,9 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outp } } if(debug) ATH_MSG_DEBUG(" REGTEST muon pt is " << muon->pt()/CLHEP::GeV << " CLHEP::GeV " - //<< " with Charge " << muon->Charge() - << " and threshold cut is " << threshold/CLHEP::GeV << " CLHEP::GeV" + << " and threshold cut is " << threshold/CLHEP::GeV << " CLHEP::GeV" << " so hypothesis is " << (hypo_ok?"true":"false")); - }//combined or segment tagged muon + } else{ if(m_rejectCBmuons){ result = true; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx index f49287dd867..09d26332ed0 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx @@ -43,31 +43,24 @@ TrigMuonEFTrackIsolationHypo::~TrigMuonEFTrackIsolationHypo() { HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltInitialize(){ if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; + ATH_MSG_INFO("Accepting all the events with not cut!"); } else { if(m_ptcone02_cut < 0.0 && m_ptcone03_cut < 0.0) { - msg() << MSG::FATAL - << "Configured to apply cuts, but not cut was specified" << endmsg; + ATH_MSG_FATAL("Configured to apply cuts, but not cut was specified"); return HLT::BAD_JOB_SETUP; } if(m_ptcone02_cut > 0.0) { if(m_abscut) { - msg() << MSG::INFO - << "Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV" << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV"); } else { - msg() << MSG::INFO - << "Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value() << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value()); }//relative cut } if(m_ptcone03_cut > 0.0) { if(m_abscut) { - msg() << MSG::INFO - << "Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV" << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV"); } else { - msg() << MSG::INFO - << "Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value() << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value()); }//relative cut }//cut on 0.3 cone } @@ -91,15 +84,14 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltFinalize() */ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass) { - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "in execute()" << endmsg; + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("in execute()"); pass = false; // fail by default if(m_acceptAll) { pass = true; if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" << endmsg; + ATH_MSG_DEBUG("Accept property is set: taking all the events"); } return HLT::OK; }//acceptAll @@ -107,12 +99,12 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen const bool debug = msgLvl() <= MSG::DEBUG; // Some debug output: - if(debug) msg() << MSG::DEBUG << "outputTE->ID(): " << outputTE->getId() << endmsg; + if(debug) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); // Get the muon container from the outputTE const xAOD::MuonContainer* muonContainer(0); if(getFeature(outputTE, muonContainer)!=HLT::OK || muonContainer==0) { - if (debug) msg() << MSG::DEBUG << "no MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("no MuonContainer Feature found"); return HLT::MISSING_FEATURE; } @@ -121,13 +113,12 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen // result of the hypo bool result = false; - // loop over objects (muons) in the container for(auto muon : *muonContainer) { const xAOD::Muon::MuonType muontype = muon->muonType(); - if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined ) continue; - else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined) continue; + if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged ) continue; + else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged) continue; float ptcone20(-1), ptcone30(-1); bool res = false; @@ -168,9 +159,7 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen } if(debug) { - msg(MSG::DEBUG) << "Muon with pT cone 0.2 = " << ptcone20 - << ", pT cone 0.3 = " << ptcone30 - << " so result for this muon is " << (goodmu?"true":"false") << endmsg; + ATH_MSG_DEBUG("Muon with pT cone 0.2 = " << ptcone20 << ", pT cone 0.3 = " << ptcone30 << " so result for this muon is " << (goodmu?"true":"false")); } }//absolute cut else { //relative cut @@ -187,9 +176,7 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen } if(debug) { - msg(MSG::DEBUG) << "Muon with pT cone 0.2 / pt = " << ptcone20/mupt - << ", pT cone 0.3 / pt = " << ptcone30/mupt - << " so result for this muon is " << (goodmu?"true":"false") << endmsg; + ATH_MSG_DEBUG("Muon with pT cone 0.2 / pt = " << ptcone20/mupt << ", pT cone 0.3 / pt = " << ptcone30/mupt << " so result for this muon is " << (goodmu?"true":"false")); } }//relative cut @@ -201,15 +188,14 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen }//muon passed }//loop over isolation objects - if(debug) { - msg(MSG::DEBUG) << "Algo result = " << (result?"true":"false") << endmsg; - } + if(debug) + ATH_MSG_DEBUG("Algo result = " << (result?"true":"false")); pass = result; - + // store TrigPassBits result if ( attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK ) { - msg() << MSG::ERROR << "Could not store TrigPassBits! " << endmsg; + ATH_MSG_ERROR("Could not store TrigPassBits! "); } return HLT::OK; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx new file mode 100644 index 00000000000..a4b20c99241 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx @@ -0,0 +1,211 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include <algorithm> +#include "TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h" + +#include "xAODMuon/MuonContainer.h" + +#include "xAODTrigger/TrigPassBits.h" + +class ISvcLocator; + +/** + * Constructor. + * Declare variables to get from job options and + * the monitored variables. + */ +TrigMuonEFTrackIsolationMultiHypo::TrigMuonEFTrackIsolationMultiHypo(const std::string & name, ISvcLocator* pSvcLocator): + HLT::HypoAlgo(name, pSvcLocator){ + + declareProperty("AcceptAll", m_acceptAll=true); + declareProperty("DoAbsCut", m_abscut=true); //true for absolute cuts, false for sumpt/pt + declareProperty("useVarIso", m_useVarIso=false); //true for offline isolation variables, false for online + declareProperty("RequireCombinedMuon", m_requireCombined=true); // true unless doing ms-only iso + declareProperty("PtCone02Cut",m_ptcone02_cut=-1.0); //convention is < 0 means don't cut + declareProperty("PtCone03Cut",m_ptcone03_cut=-1.0); //convention is < 0 means don't cut + declareProperty("PtThresholds",m_ptThresholds); //convention is < 0 means don't cut + + declareMonitoredStdContainer("PtCone02", m_fex_ptcone02, IMonitoredAlgo::AutoClear); + declareMonitoredStdContainer("PtCone03", m_fex_ptcone03, IMonitoredAlgo::AutoClear); +} + +/** + * Destructor. + */ +TrigMuonEFTrackIsolationMultiHypo::~TrigMuonEFTrackIsolationMultiHypo() {} + +/** + * Initialize the algorithm. + * Here we print out the cut values. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltInitialize(){ + + if(m_acceptAll) { + ATH_MSG_INFO("Accepting all the events with not cut!"); + } else { + if(m_ptcone02_cut < 0.0 && m_ptcone03_cut < 0.0) { + ATH_MSG_FATAL("Configured to apply cuts, but not cut was specified"); + return HLT::BAD_JOB_SETUP; + } + if(m_ptcone02_cut > 0.0) { + if(m_abscut) { + ATH_MSG_INFO("Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV"); + } else { + ATH_MSG_INFO("Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value()); + }//relative cut + } + if(m_ptcone03_cut > 0.0) { + if(m_abscut) { + ATH_MSG_INFO("Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV"); + } else { + ATH_MSG_INFO("Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value()); + }//relative cut + }//cut on 0.3 cone + } + + + return HLT::OK; +} + +/** + * Finalize the algorithm - nothing to do here yet. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltFinalize() +{ + return HLT::OK; +} + +/** + * Execute the algorithm. + * Here we apply the cuts to the muon(s). + * The hypo passes if at least one muon passes the cuts. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass) { + + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("in execute()"); + + pass = false; // fail by default + + if(m_acceptAll) { + pass = true; + if(msgLvl() <= MSG::DEBUG) { + ATH_MSG_DEBUG("Accept property is set: taking all the events"); + } + return HLT::OK; + }//acceptAll + + const bool debug = msgLvl() <= MSG::DEBUG; + + // Some debug output: + if(debug) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); + + // Get the muon container from the outputTE + const xAOD::MuonContainer* muonContainer(0); + if(getFeature(outputTE, muonContainer)!=HLT::OK || muonContainer==0) { + if (debug) ATH_MSG_DEBUG("no MuonContainer Feature found"); + return HLT::MISSING_FEATURE; + } + + // make pass bits object to store the result per muon + std::unique_ptr<xAOD::TrigPassBits> xBits = xAOD::makeTrigPassBits<xAOD::MuonContainer>(muonContainer); + std::deque<float> passedPts; + for(auto muon : *muonContainer) { + + const xAOD::Muon::MuonType muontype = muon->muonType(); + if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged ) continue; + else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged) continue; + + float ptcone20(-1), ptcone30(-1); + bool res = false; + if(m_useVarIso){ + res = muon->isolation(ptcone20, xAOD::Iso::IsolationType::ptvarcone20); + if(!res) + ATH_MSG_WARNING("Problem accessing ptvarcone20, " << ptcone20); + } + else{ + res = muon->isolation(ptcone20, xAOD::Iso::IsolationType::ptcone20); + if(!res) + ATH_MSG_WARNING("Problem accessing ptcone20, " << ptcone20); + } + if(m_useVarIso){ + res = muon->isolation(ptcone30, xAOD::Iso::IsolationType::ptvarcone30); + if(!res) + ATH_MSG_WARNING("Problem accessing ptvarcone30, " << ptcone30); + } + else{ + res = muon->isolation(ptcone30, xAOD::Iso::IsolationType::ptcone30); + if(!res) + ATH_MSG_WARNING("Problem accessing ptcone30, " << ptcone30); + } + + // monitoring + m_fex_ptcone02.push_back(ptcone20/1000.0); + m_fex_ptcone03.push_back(ptcone30/1000.0); + + bool goodmu=true; + + //absolute cut + if(m_abscut) { + if(m_ptcone02_cut > 0.0) { + if( ptcone20 >= m_ptcone02_cut ) goodmu=false; + } + if(m_ptcone03_cut > 0.0) { + if( ptcone30 >= m_ptcone03_cut ) + goodmu=false; + } + + if(debug) { + ATH_MSG_DEBUG("Muon with pT cone 0.2 = " << ptcone20 << ", pT cone 0.3 = " << ptcone30 << " so result for this muon is " << (goodmu?"true":"false")); + } + }//absolute cut + else { //relative cut + + const double mupt=muon->pt(); + ATH_MSG_DEBUG("Muon with pT " << mupt); + + // now we can make the cut(s) + if(m_ptcone02_cut > 0.0) { + if( ptcone20/mupt >= m_ptcone02_cut ) goodmu=false; + } + if(m_ptcone03_cut > 0.0) { + if( ptcone30/mupt >= m_ptcone03_cut ) goodmu=false; + } + + if(debug) { + ATH_MSG_DEBUG("Muon with pT cone 0.2 / pt = " << ptcone20/mupt << ", pT cone 0.3 / pt = " << ptcone30/mupt << " so result for this muon is " << (goodmu?"true":"false")); + } + + }//relative cut + + + if(goodmu) { + passedPts.push_back(muon->pt()); + xBits->markPassing(muon, muonContainer,true); // set bit for this muon in TrigPassBits mask + }//muon passed + }//loop over isolation objects + + pass = checkThresholds(passedPts); + if(debug) { + ATH_MSG_DEBUG("Algo result = " << (pass?"true":"false")); + } + + // store TrigPassBits result + if ( attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK ) { + ATH_MSG_ERROR("Could not store TrigPassBits! "); + } + + return HLT::OK; +}//hltExecute + +bool TrigMuonEFTrackIsolationMultiHypo::checkThresholds(std::deque<float>& passedPts){ + if(passedPts.size() < m_ptThresholds.size()) + return false; + std::sort(passedPts.begin(), passedPts.end(), std::greater<>()); + for(size_t i = 0; i < m_ptThresholds.size(); ++i){ + if(passedPts.at(i) < m_ptThresholds.at(i)) + return false; + } + return true; +} diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx index 0013e9f1e62..f8e7abb472d 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx @@ -22,6 +22,7 @@ #include "TrigMuonHypo/TrigMuonEFCombinerHypo.h" #include "TrigMuonHypo/TrigMuonEFCombinerMultiHypo.h" #include "TrigMuonHypo/TrigMuonEFSegmentHypo.h" +#include "TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypo.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypoAlg.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypoTool.h" @@ -69,6 +70,7 @@ DECLARE_COMPONENT( TrigMuonEFExtrapolatorMultiHypo ) DECLARE_COMPONENT( TrigMuonEFCombinerHypo ) DECLARE_COMPONENT( TrigMuonEFCombinerMultiHypo ) DECLARE_COMPONENT( TrigMuonEFSegmentHypo ) +DECLARE_COMPONENT( TrigMuonEFTrackIsolationMultiHypo ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypo ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypoAlg ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypoTool ) @@ -91,4 +93,3 @@ DECLARE_COMPONENT( TrigMuonEFCombinerHypoAlg ) DECLARE_COMPONENT( TrigMuonEFCombinerHypoTool ) DECLARE_COMPONENT( TrigMuonCaloTagHypo ) DECLARE_COMPONENT( TrigMuonIDTrackMultiHypo ) - diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h b/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h index f9796a8f454..2fcc03b219f 100755 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h @@ -49,7 +49,7 @@ class HLTMuonMonTool : public IHLTMonTool std::vector<std::string> getESbits(); bool isPassedES(std::vector<std::string>&, std::string&); - //==public functions for muFast + //==public functions for L2MuonSA //==public functions for muComb @@ -71,7 +71,7 @@ class HLTMuonMonTool : public IHLTMonTool Trig::ExpertMethods* m_ExpertMethods; //init() for each HLT Algorithm - StatusCode initMuFastDQA(); + StatusCode initL2MuonSADQA(); StatusCode initMuCombDQA(); StatusCode initMuIsoDQA(); StatusCode initTileMuDQA(); @@ -100,7 +100,7 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode bookChainDQA_MSonly(const std::string& chainName ); StatusCode bookChainDQA_standard(const std::string& chainName ); StatusCode bookChainDQA_generic(const std::string& chainName, bool isdIsoOffline); - StatusCode bookMuFastDQA(); + StatusCode bookL2MuonSADQA(); StatusCode bookMuCombDQA(); StatusCode bookMuIsoDQA(); StatusCode bookTileMuDQA(); @@ -114,7 +114,7 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName); StatusCode fillChainDQA_standard(const std::string& chainName, const std::string & histcName); StatusCode fillChainDQA_generic(const std::string& chainName, const std::string & histcName, bool isIsolOffline); - StatusCode fillMuFastDQA(); + StatusCode fillL2MuonSADQA(); StatusCode fillMuCombDQA(); StatusCode fillMuIsoDQA(); StatusCode fillTileMuDQA(); @@ -129,18 +129,23 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode procChainDQA_standard( const std::string& chainName ); StatusCode procChainDQA_generic( const std::string& chainName ); StatusCode procChainDQA_HighPt(); - StatusCode procMuFastDQA(); + StatusCode procL2MuonSADQA(); StatusCode procMuCombDQA(); StatusCode procMuIsoDQA(); StatusCode procTileMuDQA(); StatusCode procMuonEFDQA(); StatusCode procMuGirlDQA(); StatusCode procMuZTPDQA(); + + //sub functions in each HLT algorithm + StatusCode fillEFSingleChainHistos(const std::vector<std::string> & triggerlist); + // private functions float getPtThresTrigMuonEFSA(const int thres, const float eta); float getPtThresTrigMuonEFCB(const int thres, const float eta); HLTMuonMonTool::ptThresEtaRegion getEtaRegion(const float eta); + const HLT::TriggerElement* getDirectSuccessorHypoTEForL2(const HLT::TriggerElement *te, std::string step, std::string chainname); //private parameters/functions for common @@ -181,7 +186,9 @@ class HLTMuonMonTool : public IHLTMonTool std::vector<std::string> m_chainsMI; // added tomoe std::vector<std::string> m_chainsGeneric; // added YY 21 Feb 2012 std::vector<std::string> m_chainsEFFS; + std::vector<std::string> m_chainsLowpt; bool m_HI_pp_mode; + std::vector<std::string> m_histChainGeneric; std::vector<std::string> m_histChainEFiso; std::vector<std::string> m_histChainMSonly; @@ -198,6 +205,24 @@ class HLTMuonMonTool : public IHLTMonTool std::map<std::string, std::string> m_lowerChains; std::map<std::string, int> m_thresh; std::map<std::string, std::string> m_chainsEF_L2_map; // add by Yuan + + bool m_access_hypoTE; + //Hypo names for L2 standalone muons + std::vector<std::string> m_hyposMSonly_L2SA; + std::vector<std::string> m_hyposGeneric_L2SA; + std::vector<std::string> m_hyposEFiso_L2SA; + std::vector<std::string> m_hyposSupport_L2SA; + std::vector<std::string> m_hyposEFFS_L2SA; + std::vector<std::string> m_hyposLowpt_L2SA; + std::map<std::string,std::string> m_hypomapL2SA; + //Hypo names for L2 combined muons + std::vector<std::string> m_hyposMSonly_L2CB; + std::vector<std::string> m_hyposGeneric_L2CB; + std::vector<std::string> m_hyposEFiso_L2CB; + std::vector<std::string> m_hyposSupport_L2CB; + std::vector<std::string> m_hyposEFFS_L2CB; + std::vector<std::string> m_hyposLowpt_L2CB; + std::map<std::string,std::string> m_hypomapL2CB; // YY ES chain name - obsolete 21/01/11 std::vector<std::string> m_ESchain; @@ -235,7 +260,7 @@ class HLTMuonMonTool : public IHLTMonTool // add by Yuan TRandom3 m_random3; - //private parameters/functions for muFast + //private parameters/functions for L2MuonSA double calc_dR(double,double,double,double); double calc_dphi(double,double); bool checkOfflineSAdR(); @@ -344,7 +369,7 @@ class HLTMuonMonTool : public IHLTMonTool //private parameters/functions for MuGirl //histogram vectors - std::vector<TH1F *> m_HistoVectorMuonmuFast; + std::vector<TH1F *> m_HistoVectorMuonL2MuonSA; std::vector<TH1F *> m_HistoVectorMuonmuComb; std::vector<TH1F *> m_HistoVectorMuonTileMu; std::vector<TH1F *> m_HistoVectorMuonmuIso; @@ -366,10 +391,10 @@ class HLTMuonMonTool : public IHLTMonTool // ToolHandle<Rec::IMuonCombinedSelectorTool> m_muonSelectorTool; // removed for the moment // YY added: - enum ieffStdAlgo { iMuFast = 0, iMuComb = 1, iEFCB = 2, iMuGirl = 3 }; + enum ieffStdAlgo { iL2MuonSA = 0, iMuComb = 1, iEFCB = 2, iMuGirl = 3 }; enum ieffMSAlgo { iEFSA = 1 }; - float m_fMuFast, m_fMuComb, m_fEFCB, m_fMuGirl; + float m_fL2MuonSA, m_fMuComb, m_fEFCB, m_fMuGirl; float m_fEFSA; int m_iSTDL, m_iSTDH; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py index 9fef4d15240..02ccbf29dbc 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py @@ -23,3 +23,60 @@ monitoring_muonEFFS_pp = ['HLT_mu24_mu8noL1'] monitoring_muon_Support = ['HLT_mu6_idperf','HLT_mu20_idperf'] monitoring_muon_Support_HI = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] monitoring_muon_Support_pp = ['HLT_mu6_idperf','HLT_mu6_idperf'] + +monitoring_muonLowpt = ["HLT_mu14"] + + + +### TE name of the hypos for the L2 +#L2 standalone +monitoring_muonNonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muonNonIso_HI_L2SAHypo = ['HLT_mu15_L1MU10','L2_mu_SAhyp_Muon6GeV_v15a_MU10']#8TeV +monitoring_muonNonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muonIso_HI_L2SAHypo = [''] +monitoring_muonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_MSonly_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_MSonly_HI_L2SAHypo = ['HLT_mu15_msonly'] +monitoring_MSonly_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonEFFS_L2SAHypo = [''] +monitoring_muonEFFS_HI_L2SAHypo = [''] +monitoring_muonEFFS_pp_L2SAHypo = [''] + +monitoring_muon_Support_L2SAHypo = ['L2_mu_hypo1','L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muon_Support_HI_L2SAHypo = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] +monitoring_muon_Support_pp_L2SAHypo = ['L2_mu_hypo1','L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonLowpt_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] +monitoring_muonLowpt_HI_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] +monitoring_muonLowpt_pp_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] + +#L2 combined +monitoring_muonNonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] +monitoring_muonNonIso_HI_L2CBHypo = ['HLT_mu15_L1MU10','L2_mucombhyp_mu14_MU10']#8TeV +monitoring_muonNonIso_pp_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] + +monitoring_muonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] +monitoring_muonIso_HI_L2CBHypo = [''] +monitoring_muonIso_pp_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] + +monitoring_MSonly_L2CBHypo = [''] +monitoring_MSonly_HI_L2CBHypo = [''] +monitoring_MSonly_pp_L2CBHypo = [''] + +monitoring_muonEFFS_L2CBHypo = [''] +monitoring_muonEFFS_HI_L2CBHypo = [''] +monitoring_muonEFFS_pp_L2CBHypo = [''] + +monitoring_muon_Support_L2CBHypo = ['L2_mucombhyp_mu6idperf_MU6','L2_mucombhyp_mu20idperf_MU20'] +monitoring_muon_Support_HI_L2CBHypo = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] +monitoring_muon_Support_pp_L2CBHypo = ['L2_mucombhyp_mu6idperf_MU6','L2_mucombhyp_mu20idperf_MU20'] + +monitoring_muonLowpt_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] +monitoring_muonLowpt_HI_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] +monitoring_muonLowpt_pp_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] + + diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py index 70bb0374615..466a340b741 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py @@ -1,4 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +import TrigMuonMonitoring.TrigMuonMonitCategory as muon + def TrigMuonMonitoringTool(): from TrigMuonMonitoring.MuZTPChains import GetMuZTPChains @@ -6,19 +8,20 @@ def TrigMuonMonitoringTool(): from TrigHLTMonitoring.HLTMonTriggerList import hltmonList # access to central tool HLTMuonMon = HLTMuonMonTool(name = 'HLTMuonMon', histoPathBase = "/Trigger/HLT", - ZTPPtCone30RelCut = 0.1) + ZTPPtCone30RelCut = 0.5) HLTMuonMon.monitoring_muonNonIso = hltmonList.monitoring_muonNonIso HLTMuonMon.monitoring_muonIso = hltmonList.monitoring_muonIso HLTMuonMon.monitoring_MSonly = hltmonList.monitoring_MSonly HLTMuonMon.monitoring_muonEFFS = hltmonList.monitoring_muonEFFS + HLTMuonMon.monitoring_muonLowpt = hltmonList.monitoring_muonLowpt HLTMuonMon.monitoring_muon_Support = hltmonList.monitoring_muon_Support + setL2HypoTENames( HLTMuonMon, hltmonList) from RecExConfig.RecFlags import rec from AthenaCommon.BeamFlags import jobproperties if rec.doHeavyIon == True or rec.doHIP == True: HLTMuonMon.HI_pp_mode = False else: HLTMuonMon.HI_pp_mode = True - from TrigBunchCrossingTool.BunchCrossingTool import BunchCrossingTool HLTMuonMon.BCTool = BunchCrossingTool() from AthenaCommon.AppMgr import ToolSvc @@ -27,3 +30,66 @@ def TrigMuonMonitoringTool(): return list + +def setL2HypoTENames( HLTMuonMon, hltmonList): + + #default + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_L2CBHypo + + if hltmonList._get_monitoring_mode_success == False: + # what should be done in this case? + #print "HLTMonTriggerList: Error getting monitoring mode, default monitoring lists will be used." + pass + + + elif hltmonList.pp_mode == True: + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_pp_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_pp_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_pp_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_pp_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_pp_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_pp_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_pp_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_pp_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_pp_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_pp_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_pp_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_pp_L2CBHypo + + + elif hltmonList.HI_mode == True: + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_HI_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_HI_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_HI_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_HI_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_HI_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_HI_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_HI_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_HI_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_HI_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_HI_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_HI_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_HI_L2CBHypo + + + + + + + + + diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx index 94dd6f133a2..371a504575c 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx @@ -94,11 +94,11 @@ using namespace std; template <class T> class my_sort{ - public: - // bool operator() (std::pair<float, int>& i, std::pair<float, int>& j) { - bool operator() (const T& i,const T& j) const { - return (i.first > j.first); - } +public: + // bool operator() (std::pair<float, int>& i, std::pair<float, int>& j) { + bool operator() (const T& i,const T& j) const { + return (i.first > j.first); + } }; @@ -112,12 +112,12 @@ StatusCode HLTMuonMonTool::bookCommonDQA() ATH_MSG_INFO("start booking Common histograms for newRun"); addHistogram( new TH1F("HI_PP_Flag", "HI_PP_Flag",4,0,4), m_histdir); - addHistogram( new TH1F("Monitoring_Chain", "Monitoring_Chain",20,0,20), m_histdir); + addHistogram( new TH1F("Monitoring_Chain", "Monitoring_Chain",15,0,15), m_histdir); addHistogram( new TH1F("Common_Counter", "Event Counter", 30, 0., 30.), m_histdir ); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(EVENT+1,"Event"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFAST+1,"muFast"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTFOUND+1,"muFast found"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTDFOUND+1,"muFast D found"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFAST+1,"L2MuonSA"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTFOUND+1,"L2MuonSA found"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTDFOUND+1,"L2MuonSA D found"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUCOMB+1,"muComb"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUCOMBFOUND+1,"muComb found"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUISO+1,"muIso"); @@ -262,12 +262,11 @@ StatusCode HLTMuonMonTool::bookCommonDQA() float phi_range = CLHEP::pi; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); ATH_MSG_INFO("finished booking Common histograms for newRun"); - } //else if( newLumiBlockFlag() ){ } @@ -298,7 +297,7 @@ StatusCode HLTMuonMonTool::bookChainDQA() } - // YY adding Generic monitoring (using only TDT information for muFast, muComb and an EF algorithm) + // YY adding Generic monitoring (using only TDT information for L2MuonSA, muComb and an EF algorithm) for (it = m_histChainGeneric.begin(); it != m_histChainGeneric.end(); it++) { StatusCode sc = bookChainDQA_generic(*it,false); if (sc.isFailure()) { @@ -338,9 +337,9 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) // const int lopt_nbins = 32 + 27 + 16 + 25 + 20; int tmp_bin = 0; if(!m_HI_pp_mode){ - tmp_bin = 32 + 27 + 16; + tmp_bin = 32 + 27 + 16; }else{ - tmp_bin = 32 + 27 + 16 + 25 + 20; + tmp_bin = 32 + 27 + 16 + 25 + 20; } const int lopt_nbins = tmp_bin; float lopt_bins[150]; @@ -391,10 +390,10 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) //for( int bin = 1 ; bin <= 26 ; bin++) pt_bins[bin+32+27+16] = 32.*0.25 + 27.*0.33 + 16.*0.50 + float(bin)*1.00; /* - const float pt_min = 0; - const float pt_max = 50; - const int pt_nbins = 100; - */ + const float pt_min = 0; + const float pt_max = 50; + const int pt_nbins = 100; + */ const float dr_min = 0.0; const float dr_max = 1.0; const int dr_nbins = 100; @@ -404,7 +403,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) int phi_bins = 96; float phi_range = CLHEP::pi; - std::string monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; + std::string monalg[3]={"_L2MuonSA", "_MuonEFMS", "_MuonEFSA"}; std::string bestr[2] = {"_Barrel", "_Endcap"}; @@ -428,7 +427,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - name = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + name = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); @@ -459,7 +458,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - // Barrel/endcap (YY 27.05.10) - Monitoring MuFast, MuonEFSA wrt offline + // Barrel/endcap (YY 27.05.10) - Monitoring L2MuonSA, MuonEFSA wrt offline for (int be = 0; be < 2; be++) { name = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid SA pT (GeV); Events"; @@ -471,7 +470,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) chainName = cName; pt_bins = lopt_bins; - std::string wrtalg[3]={"_L1", "_MuFast", "_MuFast"}; + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_L2MuonSA"}; // wrt upstream for(int alg=0; alg<3;alg++){ @@ -543,8 +542,6 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) hist(name, m_histdireff)->Sumw2(); } - // Barrel/endcap (YY 27.05.10) - Monitoring MuFast, MuonEFSA wrt upstream / offline - // monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; -> select {0, 2} if (0 == alg || 2 == alg) { for (int ihpt = 0; ihpt < 2; ihpt++) { // reserving also high-pt and MSb histograms for wrt offline // remove hpt histograms (Li Yuan 27.02.13) @@ -591,19 +588,19 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) name = chainName + monalg[alg] + "_etaphi_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); // coarse histograms name = chainName + monalg[alg] + "_etaphi_coarse_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); + s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse1d_wrt_MuidCB"; nameaxis = name + "; (i_bin#phi * N_#eta + i_bin#eta); Number of events / area"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); + s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); hist(name, m_histdirdist2d)->Sumw2(); if( alg==2 )continue; @@ -625,20 +622,20 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) } addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 0.5+m_fEFSA), m_histdireff); TH1 *h = hist(name, m_histdireff); - h->GetXaxis()->SetBinLabel(iMuFast+1, "MuFast"); + h->GetXaxis()->SetBinLabel(iL2MuonSA+1, "L2MuonSA"); h->GetXaxis()->SetBinLabel(iEFSA+1, "EF SA"); } // High-pt 3-bin summary: name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if(!m_HI_pp_mode){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Z T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } ATH_MSG_DEBUG("end bookChainDQA_MSonly for chain=" << chainName ); @@ -805,15 +802,15 @@ StatusCode HLTMuonMonTool::bookChainDQA_standard(const std::string& cName ) // FS trigger efficiency summary for barrel and endcap name = chainName + "_EFplateau_wrtOffline"; - nameaxis = name + "; region; efficiency"; + nameaxis = name + "; Region; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); h = hist(name, m_histdireff); if(!m_HI_pp_mode){ - h->GetXaxis()->SetBinLabel(1, "Barrel 4-25 GeV"); - h->GetXaxis()->SetBinLabel(2, "Endcap 4-25 GeV"); + h->GetXaxis()->SetBinLabel(1, "Barrel 4-25 GeV"); + h->GetXaxis()->SetBinLabel(2, "Endcap 4-25 GeV"); }else{ - h->GetXaxis()->SetBinLabel(1, "Barrel 10-100 GeV"); - h->GetXaxis()->SetBinLabel(2, "Endcap 10-100 GeV"); + h->GetXaxis()->SetBinLabel(1, "Barrel 25-100 GeV"); + h->GetXaxis()->SetBinLabel(2, "Endcap 25-100 GeV"); } // not requiring one muon match with the pre_trigger ROI, only check the efficiency vs subleading pT muon name = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; @@ -925,7 +922,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i else if( bin <= 32+27+16+25+20 ) boundary += 2.5; lopt_bins[bin] = boundary; } - //std:: cout << " bin " << bin << " " << lopt_bins[bin] << std::endl; + //std:: cout << " bin " << bin << " " << lopt_bins[bin] << std::endl; } float pt_bins[150]; @@ -954,10 +951,10 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i /* - const float pt_min = 0; - const float pt_max = 50; - const int pt_nbins = 100; - */ + const float pt_min = 0; + const float pt_max = 50; + const int pt_nbins = 100; + */ const float dr_min = 0.0; const float dr_max = 1.0; @@ -968,7 +965,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i int phi_bins = 96; float phi_range = CLHEP::pi; - std::string monalg[3]={"_MuFast", "_MuComb", "_EFmuon"}; + std::string monalg[3]={"_L2MuonSA", "_MuComb", "_EFmuon"}; std::string bestr[2] = {"_Barrel", "_Endcap"}; @@ -992,7 +989,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - name = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + name = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); @@ -1034,7 +1031,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - // Barrel/endcap (YY 20.05.10) - Monitoring MuFast, MuComb, MuonEFCB wrt offline + // Barrel/endcap (YY 20.05.10) - Monitoring L2MuonSA, MuComb, MuonEFCB wrt offline for (int be = 0; be < 2; be++) { name = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; @@ -1043,7 +1040,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i } } - std::string wrtalg[3] = {"_L1", "_MuFast", "_MuComb"}; + std::string wrtalg[3] = {"_L1", "_L2MuonSA", "_MuComb"}; for (int alg = 0; alg < 3; alg++) { @@ -1138,9 +1135,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i } - - - // Barrel/endcap (YY 20.05.10) - Monitoring MuFast, MuComb, MuonEFCB wrt upstream / offline + // Barrel/endcap (YY 20.05.10) - Monitoring L2MuonSA, MuComb, MuonEFCB wrt upstream / offline for (int ihpt = 0; ihpt < 3; ihpt++) { // reserving also high-pt and MSb histograms for wrt upstream //trigger not-aware = wrt offline if (ihpt == 0) { @@ -1199,18 +1194,18 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i name = chainName + monalg[alg] + "_etaphi_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); + s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse1d_wrt_MuidCB"; nameaxis = name + "; (i_bin#phi * N_#eta + i_bin#eta); Number of events / area"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); + s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); hist(name, m_histdirdist2d)->Sumw2(); // YY: 1D eta-phi histogram added for mufast @@ -1265,11 +1260,11 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i if( !m_HI_pp_mode ){ nameaxis = name + "; Algorithm ; Express efficiency 15-25GeV"; }else{ - nameaxis = name + "; Algorithm ; Express efficiency 40-100GeV"; + nameaxis = name + "; Algorithm ; Express efficiency 60-100GeV"; } addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 3, -0.5, 0.5+m_fEFCB), m_histdireff); // for generic TH1 *h = hist(name, m_histdireff); - h->GetXaxis()->SetBinLabel(iMuFast+1, "MuFast"); + h->GetXaxis()->SetBinLabel(iL2MuonSA+1, "L2MuonSA"); h->GetXaxis()->SetBinLabel(iMuComb+1, "MuComb"); h->GetXaxis()->SetBinLabel(iEFCB+1, "EF algorithm"); // for generic // h->GetXaxis()->SetBinLabel(iMuGirl+1, "MuGirl"); @@ -1278,27 +1273,27 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i // High-pt 3-bin summary: always 2bins now if (!isIsoOffline) { name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if(!m_HI_pp_mode){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Jpsi T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } } else { name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if( !m_HI_pp_mode ){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Jpsi T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "30-50 GeV Z T&P"); - h->GetXaxis()->SetBinLabel(2, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } } @@ -1308,3331 +1303,3326 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if( !m_HI_pp_mode ){ - h->GetXaxis()->SetBinLabel(1, "Barrel 12-20 GeV Jpsi T&P"); - h->GetXaxis()->SetBinLabel(2, "Endcap 12-20 GeV Jpsi T&P"); + h->GetXaxis()->SetBinLabel(1, "Barrel 12-20 GeV Jpsi T&P"); + h->GetXaxis()->SetBinLabel(2, "Endcap 12-20 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "Barrel 30-100 GeV Z T&P"); - h->GetXaxis()->SetBinLabel(2, "Endcap 30-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "Barrel 60-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(2, "Endcap 60-100 GeV Z T&P"); } ATH_MSG_DEBUG("end bookChainDQA_standard for chain=" << chainName ); - } + } //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; - } +} - StatusCode HLTMuonMonTool::fillCommonDQA() - { - using namespace Trig; +StatusCode HLTMuonMonTool::fillCommonDQA() +{ + using namespace Trig; - static int errcnt = 0; + static int errcnt = 0; - ATH_MSG_DEBUG(" fillCommonDQA"); + ATH_MSG_DEBUG(" fillCommonDQA"); - m_lumiblock = -1; - m_event = -1; - for(int i=0; i <= INDMBIAS; i++) { - m_passed[i] = false; - } + m_lumiblock = -1; + m_event = -1; + for(int i=0; i <= INDMBIAS; i++) { + m_passed[i] = false; + } - // YY: get ES vector: moved from fillChainDQA to here - m_esvect.clear(); - if (0 == errcnt) { - m_esvect = getESbits(); - if (m_esvect.front() == m_nullstr) { - if (errcnt < 1) { - // if (errcnt < 1000) { - ATH_MSG_INFO("Failed to get ES bits"); - errcnt++; - } - // Do not return: continue processing - } + // YY: get ES vector: moved from fillChainDQA to here + m_esvect.clear(); + if (0 == errcnt) { + m_esvect = getESbits(); + if (m_esvect.front() == m_nullstr) { + if (errcnt < 1) { + // if (errcnt < 1000) { + ATH_MSG_INFO("Failed to get ES bits"); + errcnt++; } + // Do not return: continue processing + } + } + //get Event Info + const DataHandle<EventInfo> evt; + StatusCode sc = evtStore()->retrieve(evt); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - //get Event Info - const DataHandle<EventInfo> evt; - StatusCode sc = evtStore()->retrieve(evt); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } - - if( !evt.isValid() ){ - ATH_MSG_FATAL(" Could not find event"); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } + if( !evt.isValid() ){ + ATH_MSG_FATAL(" Could not find event"); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - const EventID* evtid = evt->event_ID(); + const EventID* evtid = evt->event_ID(); - if(! evtid ){ - ATH_MSG_FATAL(" no evtid object"); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } + if(! evtid ){ + ATH_MSG_FATAL(" no evtid object"); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - m_lumiblock = evtid->lumi_block() ; - m_event = evtid->event_number() ; + m_lumiblock = evtid->lumi_block() ; + m_event = evtid->event_number() ; - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - //Trigger aware - for( std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - ATH_MSG_DEBUG( it->first ); + //Trigger aware + for( std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ + ATH_MSG_DEBUG( it->first ); - if( getTDT()->isPassed( (it->first) ) ){ - //ATH_MSG_FATAL(" pass" << *it ); - std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; - hist( name, m_histdirrate )->Fill( m_lumiblock ); + if( getTDT()->isPassed( (it->first) ) ){ + //ATH_MSG_FATAL(" pass" << *it ); + std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; + hist( name, m_histdirrate )->Fill( m_lumiblock ); - name = it->second + "_Triggers_Rate" ; - hist( name, m_histdirrate )->Fill( m_lumiblock, 1/120. ); + name = it->second + "_Triggers_Rate" ; + hist( name, m_histdirrate )->Fill( m_lumiblock, 1/120. ); - } - //cosmic - if( getTDT()->isPassed( (it->first + "_cosmic") ) ){ - //ATH_MSG_FATAL(" pass" << *it <<"_cosmic"); - std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; - hist( name, m_histdirrate )->Fill( m_lumiblock ); + } + //cosmic + if( getTDT()->isPassed( (it->first + "_cosmic") ) ){ + //ATH_MSG_FATAL(" pass" << *it <<"_cosmic"); + std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; + hist( name, m_histdirrate )->Fill( m_lumiblock ); - } - }//chains + } + }//chains - //Express stream trigger bits: YY 21.01.11 - // updated for real config: 15.02.11 - std::vector<std::string> vs_ESstd; - if( !m_HI_pp_mode ){ - vs_ESstd.push_back("HLT_noalg_L1MU4"); - vs_ESstd.push_back("HLT_noalg_L1MU6"); - vs_ESstd.push_back("HLT_noalg_L1MU10"); - //vs_ESstd.push_back("HLT_noalg_L1MU11"); - }else{ - vs_ESstd.push_back("HLT_mu26_ivarmedium"); // increasing stat for muZTP, which requests now ES bits - } - // vs_ESstd.push_back("HLT_mu18i4_tight"); // for test - // vs_ESstd.push_back("HLT_mu22_medium"); // for test + //Express stream trigger bits: YY 21.01.11 + // updated for real config: 15.02.11 + std::vector<std::string> vs_ESstd; + if( !m_HI_pp_mode ){ + vs_ESstd.push_back("HLT_noalg_L1MU4"); + vs_ESstd.push_back("HLT_noalg_L1MU6"); + vs_ESstd.push_back("HLT_noalg_L1MU10"); + //vs_ESstd.push_back("HLT_noalg_L1MU11"); + }else{ + vs_ESstd.push_back("HLT_mu26_ivarmedium"); // increasing stat for muZTP, which requests now ES bits + } + // vs_ESstd.push_back("HLT_mu18i4_tight"); // for test + // vs_ESstd.push_back("HLT_mu22_medium"); // for test - std::vector<std::string> vs_ESnoniso; - vs_ESnoniso.push_back("HLT_mu14"); // for EnhancedBias - vs_ESnoniso.push_back("HLT_mu26"); - vs_ESnoniso.push_back("HLT_mu24"); + std::vector<std::string> vs_ESnoniso; + vs_ESnoniso.push_back("HLT_mu14"); // for EnhancedBias + vs_ESnoniso.push_back("HLT_mu26"); + vs_ESnoniso.push_back("HLT_mu24"); - std::vector<std::string> vs_EStag; - //vs_EStag.push_back("HLT_mu24_muCombTag_NoEF_tight"); // pp v4 - vs_EStag.push_back("HLT_mu20_idperf"); // pp v5 - vs_EStag.push_back("HLT_mu6_idperf"); - - std::vector<std::string> vs_ESid; - //vs_ESid.push_back("HLT_mu18_IDTrkNoCut_tight"); // pp v4 - //vs_ESid.push_back("HLT_mu22_IDTrkNoCut_tight"); - vs_ESid.push_back("HLT_mu20_idperf"); // pp v5 - vs_ESid.push_back("HLT_mu6_idperf"); - - // independent chains for L1 monitor - std::vector<std::string> vs_ESindep; - vs_ESindep.push_back("HLT_e24vh_medium1"); - vs_ESindep.push_back("HLT_e24vh_medium1_IDTrkNoCut"); - - vs_ESindep.push_back("HLT_tau20_medium1"); - vs_ESindep.push_back("HLT_tau29_IDTrkNoCut"); - - vs_ESindep.push_back("HLT_j35_a4tchad"); - vs_ESindep.push_back("HLT_j180_a4tchad"); - vs_ESindep.push_back("HLT_b55_NoCut_j55_a4tchad"); - - vs_ESindep.push_back("HLT_xe30"); - vs_ESindep.push_back("HLT_xe80"); - vs_ESindep.push_back("HLT_te1200"); - - // for HI: three ES streams - names to be checked again - std::vector<std::string> vs_ESHIL1; - vs_ESHIL1.push_back("HLT_L1MU0_NoAlg"); - vs_ESHIL1.push_back("HLT_L1MU4_NoAlg"); - std::vector<std::string> vs_ESHIid; - vs_ESHIid.push_back("HLT_mu4_MSonly_L1TE50"); - vs_ESHIid.push_back("HLT_mu4_IDTrkNoCut"); - vs_ESHIid.push_back("HLT_mu4T_IDTrkNoCut"); - std::vector<std::string> vs_ESHIindep; - // vs_ESHIindep.push_back("HLT_j15_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_j20_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_j75_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_L1EM16_NoAlg"); - vs_ESHIindep.push_back("HLT_g10_loose"); - vs_ESHIindep.push_back("HLT_2g5_loose"); + std::vector<std::string> vs_EStag; + //vs_EStag.push_back("HLT_mu24_muCombTag_NoEF_tight"); // pp v4 + vs_EStag.push_back("HLT_mu20_idperf"); // pp v5 + vs_EStag.push_back("HLT_mu6_idperf"); + + std::vector<std::string> vs_ESid; + //vs_ESid.push_back("HLT_mu18_IDTrkNoCut_tight"); // pp v4 + //vs_ESid.push_back("HLT_mu22_IDTrkNoCut_tight"); + vs_ESid.push_back("HLT_mu20_idperf"); // pp v5 + vs_ESid.push_back("HLT_mu6_idperf"); + + // independent chains for L1 monitor + std::vector<std::string> vs_ESindep; + vs_ESindep.push_back("HLT_e24vh_medium1"); + vs_ESindep.push_back("HLT_e24vh_medium1_IDTrkNoCut"); + + vs_ESindep.push_back("HLT_tau20_medium1"); + vs_ESindep.push_back("HLT_tau29_IDTrkNoCut"); + + vs_ESindep.push_back("HLT_j35_a4tchad"); + vs_ESindep.push_back("HLT_j180_a4tchad"); + vs_ESindep.push_back("HLT_b55_NoCut_j55_a4tchad"); + + vs_ESindep.push_back("HLT_xe30"); + vs_ESindep.push_back("HLT_xe80"); + vs_ESindep.push_back("HLT_te1200"); + + // for HI: three ES streams - names to be checked again + std::vector<std::string> vs_ESHIL1; + vs_ESHIL1.push_back("HLT_L1MU0_NoAlg"); + vs_ESHIL1.push_back("HLT_L1MU4_NoAlg"); + std::vector<std::string> vs_ESHIid; + vs_ESHIid.push_back("HLT_mu4_MSonly_L1TE50"); + vs_ESHIid.push_back("HLT_mu4_IDTrkNoCut"); + vs_ESHIid.push_back("HLT_mu4T_IDTrkNoCut"); + std::vector<std::string> vs_ESHIindep; + // vs_ESHIindep.push_back("HLT_j15_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_j20_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_j75_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_L1EM16_NoAlg"); + vs_ESHIindep.push_back("HLT_g10_loose"); + vs_ESHIindep.push_back("HLT_2g5_loose"); + + for (int i = 0; i <= m_maxESbr; i++) { + m_passedES[i] = false; + } - for (int i = 0; i <= m_maxESbr; i++) { - m_passedES[i] = false; + if (m_requestESchains) { + std::vector<std::string>::iterator itrES; + // if (0 == errcnt) { // fill eschains bit only when we have no error on getting ES bit //attention + for (itrES = vs_ESstd.begin(); itrES != vs_ESstd.end(); itrES++) { + // if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESSTD] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESstd " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESnoniso.begin(); itrES != vs_ESnoniso.end(); itrES++) { + if (getTDT()->isPassed(*itrES)) { + m_passedESNONISO = true; + ATH_MSG_DEBUG("----- CommonDQA: ESnoniso " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_EStag.begin(); itrES != vs_EStag.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESTAG] = true; + ATH_MSG_DEBUG("----- CommonDQA: EStag " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESid.begin(); itrES != vs_ESid.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESID] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESid " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESindep.begin(); itrES != vs_ESindep.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESINDEP] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESindep " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIL1.begin(); itrES != vs_ESHIL1.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIL1] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHIL1 " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIid.begin(); itrES != vs_ESHIid.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIID] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHid " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIindep.begin(); itrES != vs_ESHIindep.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIINDEP] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHIindep " << *itrES << " and EF " << *itrES << " passed"); } + } + // } + } else { + // enabling just standard-chain histogram only + m_passedES[ESSTD] = true; + } - if (m_requestESchains) { - std::vector<std::string>::iterator itrES; - // if (0 == errcnt) { // fill eschains bit only when we have no error on getting ES bit //attention - for (itrES = vs_ESstd.begin(); itrES != vs_ESstd.end(); itrES++) { - // if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESSTD] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESstd " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESnoniso.begin(); itrES != vs_ESnoniso.end(); itrES++) { - if (getTDT()->isPassed(*itrES)) { - m_passedESNONISO = true; - ATH_MSG_DEBUG("----- CommonDQA: ESnoniso " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_EStag.begin(); itrES != vs_EStag.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESTAG] = true; - ATH_MSG_DEBUG("----- CommonDQA: EStag " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESid.begin(); itrES != vs_ESid.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESID] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESid " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESindep.begin(); itrES != vs_ESindep.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESINDEP] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESindep " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIL1.begin(); itrES != vs_ESHIL1.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIL1] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHIL1 " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIid.begin(); itrES != vs_ESHIid.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIID] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHid " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIindep.begin(); itrES != vs_ESHIindep.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIINDEP] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHIindep " << *itrES << " and EF " << *itrES << " passed"); - } - } - // } - } else { - // enabling just standard-chain histogram only - m_passedES[ESSTD] = true; - } + //measure trigger overlap + fillTriggerOverlap(); - //measure trigger overlap - fillTriggerOverlap(); + //new check L1 flag + sc = fillL1MuRoI(); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve MuonRoIInfo "); + return StatusCode::FAILURE; + } - //new check L1 flag - sc = fillL1MuRoI(); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve MuonRoIInfo "); - return StatusCode::FAILURE; - } + return StatusCode::SUCCESS; +} - return StatusCode::SUCCESS; - } +StatusCode HLTMuonMonTool::fillChainDQA() +{ - StatusCode HLTMuonMonTool::fillChainDQA() - { + ATH_MSG_DEBUG("fillChainDQA"); - ATH_MSG_DEBUG("fillChainDQA"); + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + // getting ES vector moved to CommonDQA - // getting ES vector moved to CommonDQA + for (int i=0; i < (int)m_allESchain.size() ; i++ ){ + //if ( isPassedES( m_esvect, m_allESchain[i] ) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); + if ( getTDT()->isPassed(m_allESchain[i]) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); + } - for (int i=0; i < (int)m_allESchain.size() ; i++ ){ - //if ( isPassedES( m_esvect, m_allESchain[i] ) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); - if ( getTDT()->isPassed(m_allESchain[i]) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); - } + std::vector<std::string>::const_iterator it; - std::vector<std::string>::const_iterator it; + if( !checkOfflineSAdR() || !checkOfflineCBdR() ) return retval; - if( !checkOfflineSAdR() || !checkOfflineCBdR() ) return retval; + int itr; + for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ){ + StatusCode sc = fillChainDQA_MSonly(*it, m_histChainMSonly[itr]); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_MSonly failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - int itr; - for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ){ - StatusCode sc = fillChainDQA_MSonly(*it, m_histChainMSonly[itr]); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_MSonly failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ){ + if(itr > 0) continue; + StatusCode sc = fillChainDQA_standard(*it, m_histChainEFFS[0]); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_standard failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } + for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++,itr++ ){ + StatusCode sc = fillChainDQA_generic(*it, m_histChainGeneric[itr], false); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ){ - if(itr > 0) continue; - StatusCode sc = fillChainDQA_standard(*it, m_histChainEFFS[0]); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_standard failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + for(it=m_chainsEFiso.begin(), itr=0; it != m_chainsEFiso.end() ; it++, itr++ ){ + StatusCode sc = fillChainDQA_generic(*it, m_histChainEFiso[itr], true); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++,itr++ ){ - StatusCode sc = fillChainDQA_generic(*it, m_histChainGeneric[itr], false); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + return retval; +} - for(it=m_chainsEFiso.begin(), itr=0; it != m_chainsEFiso.end() ; it++, itr++ ){ - StatusCode sc = fillChainDQA_generic(*it, m_histChainEFiso[itr], true); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } +HLTMuonMonTool::ptThresEtaRegion HLTMuonMonTool::getEtaRegion(const float eta) +{ + if ( fabs(eta) < 1.05 ) { return BRL; } + else if( fabs(eta) < 1.5 ) { return EC1; } + else if( fabs(eta) < 2.0 ) { return EC2; } + else if( fabs(eta) < 2.5 ) { return EC3; } + return EC3; +} - return retval; - } +float HLTMuonMonTool::getPtThresTrigMuonEFCB(const int thres, const float eta) +{ + float pt_thres = -1; + static int errcount = 0; - HLTMuonMonTool::ptThresEtaRegion HLTMuonMonTool::getEtaRegion(const float eta) - { - if ( fabs(eta) < 1.05 ) { return BRL; } - else if( fabs(eta) < 1.5 ) { return EC1; } - else if( fabs(eta) < 2.0 ) { return EC2; } - else if( fabs(eta) < 2.5 ) { return EC3; } - return EC3; - } + ptThresEtaRegion etaRegion = getEtaRegion(eta); - float HLTMuonMonTool::getPtThresTrigMuonEFCB(const int thres, const float eta) - { - float pt_thres = -1; - static int errcount = 0; + if( thres == 40 ) { + if ( etaRegion==BRL ) { pt_thres = 38.76; } + else if( etaRegion==EC1 ) { pt_thres = 38.54; } + else if( etaRegion==EC2 ) { pt_thres = 38.38; } + else { pt_thres = 38.31; } + } + else if( thres == 20 ) { + if ( etaRegion==BRL ) { pt_thres = 19.47; } + else if( etaRegion==EC1 ) { pt_thres = 19.33; } + else if( etaRegion==EC2 ) { pt_thres = 19.30; } + else { pt_thres = 19.22; } + } + else if( thres == 15 ) { + if ( etaRegion==BRL ) { pt_thres = 14.63; } + else if( etaRegion==EC1 ) { pt_thres = 14.49; } + else if( etaRegion==EC2 ) { pt_thres = 14.42; } + else { pt_thres = 14.38; } + } + else if( thres == 13 ) { + if ( etaRegion==BRL ) { pt_thres = 12.67; } + else if( etaRegion==EC1 ) { pt_thres = 12.55; } + else if( etaRegion==EC2 ) { pt_thres = 12.49; } + else { pt_thres = 12.46; } + } + else if( thres == 10 ) { + if ( etaRegion==BRL ) { pt_thres = 9.77; } + else if( etaRegion==EC1 ) { pt_thres = 9.67; } + else if( etaRegion==EC2 ) { pt_thres = 9.62; } + else { pt_thres = 9.57; } + } + else if( thres == 6 ) { + if ( etaRegion==BRL ) { pt_thres = 5.88; } + else if( etaRegion==EC1 ) { pt_thres = 5.81; } + else if( etaRegion==EC2 ) { pt_thres = 5.78; } + else { pt_thres = 5.76; } + } + else { + if( thres != 4 ) { + if (errcount < 1) { + ATH_MSG_INFO("CB: not proper thres=" << thres); + errcount++; + } + pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. + } else { + if ( etaRegion==BRL ) { pt_thres = 3.93; } + else if( etaRegion==EC1 ) { pt_thres = 3.91; } + else if( etaRegion==EC2 ) { pt_thres = 3.88; } + else { pt_thres = 3.88; } + } + } - ptThresEtaRegion etaRegion = getEtaRegion(eta); - if( thres == 40 ) { - if ( etaRegion==BRL ) { pt_thres = 38.76; } - else if( etaRegion==EC1 ) { pt_thres = 38.54; } - else if( etaRegion==EC2 ) { pt_thres = 38.38; } - else { pt_thres = 38.31; } - } - else if( thres == 20 ) { - if ( etaRegion==BRL ) { pt_thres = 19.47; } - else if( etaRegion==EC1 ) { pt_thres = 19.33; } - else if( etaRegion==EC2 ) { pt_thres = 19.30; } - else { pt_thres = 19.22; } - } - else if( thres == 15 ) { - if ( etaRegion==BRL ) { pt_thres = 14.63; } - else if( etaRegion==EC1 ) { pt_thres = 14.49; } - else if( etaRegion==EC2 ) { pt_thres = 14.42; } - else { pt_thres = 14.38; } - } - else if( thres == 13 ) { - if ( etaRegion==BRL ) { pt_thres = 12.67; } - else if( etaRegion==EC1 ) { pt_thres = 12.55; } - else if( etaRegion==EC2 ) { pt_thres = 12.49; } - else { pt_thres = 12.46; } - } - else if( thres == 10 ) { - if ( etaRegion==BRL ) { pt_thres = 9.77; } - else if( etaRegion==EC1 ) { pt_thres = 9.67; } - else if( etaRegion==EC2 ) { pt_thres = 9.62; } - else { pt_thres = 9.57; } - } - else if( thres == 6 ) { - if ( etaRegion==BRL ) { pt_thres = 5.88; } - else if( etaRegion==EC1 ) { pt_thres = 5.81; } - else if( etaRegion==EC2 ) { pt_thres = 5.78; } - else { pt_thres = 5.76; } - } - else { - if( thres != 4 ) { - if (errcount < 1) { - ATH_MSG_INFO("CB: not proper thres=" << thres); - errcount++; - } - pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. - } else { - if ( etaRegion==BRL ) { pt_thres = 3.93; } - else if( etaRegion==EC1 ) { pt_thres = 3.91; } - else if( etaRegion==EC2 ) { pt_thres = 3.88; } - else { pt_thres = 3.88; } - } - } + return pt_thres; +} +float HLTMuonMonTool::getPtThresTrigMuonEFSA(const int thres, const float eta) +{ + float pt_thres = -1; + static int errcount = 0; - return pt_thres; - } + ptThresEtaRegion etaRegion = getEtaRegion(eta); - float HLTMuonMonTool::getPtThresTrigMuonEFSA(const int thres, const float eta) - { - float pt_thres = -1; - static int errcount = 0; + // YY 6.10.2010 threshold for 30, 50 and 70 GeV added, they are now correct + if( thres == 40 ) { + if ( etaRegion==BRL ) { pt_thres = 31.5; } + else if( etaRegion==EC1 ) { pt_thres = 30.0; } + else if( etaRegion==EC2 ) { pt_thres = 28.5; } + else { pt_thres = 32.5; } + } + else if( thres == 70 ) { + if ( etaRegion==BRL ) { pt_thres = 63.0; } + else if( etaRegion==EC1 ) { pt_thres = 63.0; } + else if( etaRegion==EC2 ) { pt_thres = 63.0; } + else { pt_thres = 63.0; } + } + else if( thres == 60 ) { + if ( etaRegion==BRL ) { pt_thres = 54.0; } + else if( etaRegion==EC1 ) { pt_thres = 54.0; } + else if( etaRegion==EC2 ) { pt_thres = 54.0; } + else { pt_thres = 54.0; } + } + else if( thres == 50 ) { + if ( etaRegion==BRL ) { pt_thres = 45.0; } + else if( etaRegion==EC1 ) { pt_thres = 45.0; } + else if( etaRegion==EC2 ) { pt_thres = 45.0; } + else { pt_thres = 45.0; } + } + else if( thres == 30 ) { + if ( etaRegion==BRL ) { pt_thres = 25.0; } + else if( etaRegion==EC1 ) { pt_thres = 24.5; } + else if( etaRegion==EC2 ) { pt_thres = 23.0; } + else { pt_thres = 26.0; } + } + else if( thres == 22 ) { + if ( etaRegion==BRL ) { pt_thres = 19.1; } + else if( etaRegion==EC1 ) { pt_thres = 20.0; } + else if( etaRegion==EC2 ) { pt_thres = 18.4; } + else { pt_thres = 19.6; } + } + else if( thres == 20 ) { + if ( etaRegion==BRL ) { pt_thres = 17.5; } + else if( etaRegion==EC1 ) { pt_thres = 18.5; } + else if( etaRegion==EC2 ) { pt_thres = 17.0; } + else { pt_thres = 18.0; } + } + else if( thres == 15 ) { + if ( etaRegion==BRL ) { pt_thres = 13.0; } + else if( etaRegion==EC1 ) { pt_thres = 14.0; } + else if( etaRegion==EC2 ) { pt_thres = 13.0; } + else { pt_thres = 14.0; } + } + else if( thres == 13 ) { + if ( etaRegion==BRL ) { pt_thres = 11.4; } + else if( etaRegion==EC1 ) { pt_thres = 12.0; } + else if( etaRegion==EC2 ) { pt_thres = 11.1; } + else { pt_thres = 12.0; } + } + else if( thres == 10 ) { + if ( etaRegion==BRL ) { pt_thres = 8.9; } + else if( etaRegion==EC1 ) { pt_thres = 9.0; } + else if( etaRegion==EC2 ) { pt_thres = 8.4; } + else { pt_thres = 9.2; } + } + else if( thres == 6 ) { + if ( etaRegion==BRL ) { pt_thres = 5.4; } + else if( etaRegion==EC1 ) { pt_thres = 4.5; } + else if( etaRegion==EC2 ) { pt_thres = 4.9; } + else { pt_thres = 5.3; } + } + else { + if( thres != 4 ) { + if (errcount < 1) { + ATH_MSG_INFO("SA: not proper thres=" << thres); + errcount++; + } + pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. + } else { + if ( etaRegion==BRL ) { pt_thres = 3.0; } + else if( etaRegion==EC1 ) { pt_thres = 2.5; } + else if( etaRegion==EC2 ) { pt_thres = 2.5; } + else { pt_thres = 2.5; } + } + } - ptThresEtaRegion etaRegion = getEtaRegion(eta); + // - // YY 6.10.2010 threshold for 30, 50 and 70 GeV added, they are now correct - if( thres == 40 ) { - if ( etaRegion==BRL ) { pt_thres = 31.5; } - else if( etaRegion==EC1 ) { pt_thres = 30.0; } - else if( etaRegion==EC2 ) { pt_thres = 28.5; } - else { pt_thres = 32.5; } - } - else if( thres == 70 ) { - if ( etaRegion==BRL ) { pt_thres = 63.0; } - else if( etaRegion==EC1 ) { pt_thres = 63.0; } - else if( etaRegion==EC2 ) { pt_thres = 63.0; } - else { pt_thres = 63.0; } - } - else if( thres == 60 ) { - if ( etaRegion==BRL ) { pt_thres = 54.0; } - else if( etaRegion==EC1 ) { pt_thres = 54.0; } - else if( etaRegion==EC2 ) { pt_thres = 54.0; } - else { pt_thres = 54.0; } - } - else if( thres == 50 ) { - if ( etaRegion==BRL ) { pt_thres = 45.0; } - else if( etaRegion==EC1 ) { pt_thres = 45.0; } - else if( etaRegion==EC2 ) { pt_thres = 45.0; } - else { pt_thres = 45.0; } - } - else if( thres == 30 ) { - if ( etaRegion==BRL ) { pt_thres = 25.0; } - else if( etaRegion==EC1 ) { pt_thres = 24.5; } - else if( etaRegion==EC2 ) { pt_thres = 23.0; } - else { pt_thres = 26.0; } - } - else if( thres == 22 ) { - if ( etaRegion==BRL ) { pt_thres = 19.1; } - else if( etaRegion==EC1 ) { pt_thres = 20.0; } - else if( etaRegion==EC2 ) { pt_thres = 18.4; } - else { pt_thres = 19.6; } - } - else if( thres == 20 ) { - if ( etaRegion==BRL ) { pt_thres = 17.5; } - else if( etaRegion==EC1 ) { pt_thres = 18.5; } - else if( etaRegion==EC2 ) { pt_thres = 17.0; } - else { pt_thres = 18.0; } - } - else if( thres == 15 ) { - if ( etaRegion==BRL ) { pt_thres = 13.0; } - else if( etaRegion==EC1 ) { pt_thres = 14.0; } - else if( etaRegion==EC2 ) { pt_thres = 13.0; } - else { pt_thres = 14.0; } - } - else if( thres == 13 ) { - if ( etaRegion==BRL ) { pt_thres = 11.4; } - else if( etaRegion==EC1 ) { pt_thres = 12.0; } - else if( etaRegion==EC2 ) { pt_thres = 11.1; } - else { pt_thres = 12.0; } - } - else if( thres == 10 ) { - if ( etaRegion==BRL ) { pt_thres = 8.9; } - else if( etaRegion==EC1 ) { pt_thres = 9.0; } - else if( etaRegion==EC2 ) { pt_thres = 8.4; } - else { pt_thres = 9.2; } - } - else if( thres == 6 ) { - if ( etaRegion==BRL ) { pt_thres = 5.4; } - else if( etaRegion==EC1 ) { pt_thres = 4.5; } - else if( etaRegion==EC2 ) { pt_thres = 4.9; } - else { pt_thres = 5.3; } - } - else { - if( thres != 4 ) { - if (errcount < 1) { - ATH_MSG_INFO("SA: not proper thres=" << thres); - errcount++; - } - pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. - } else { - if ( etaRegion==BRL ) { pt_thres = 3.0; } - else if( etaRegion==EC1 ) { pt_thres = 2.5; } - else if( etaRegion==EC2 ) { pt_thres = 2.5; } - else { pt_thres = 2.5; } - } - } + return pt_thres; +} + +StatusCode HLTMuonMonTool::fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName) +{ + ATH_MSG_DEBUG("----- fillChainDQA_MSonly: chain=" << chainName << " ----- histchain=" << histcName); + + using namespace Trig; + bool isBarrelChain = false; + bool isTighterChain = false; + //int nnn = chainName.find("MSonly_barrel"); + int nnn = chainName.find("0eta105_msonly"); // run2 name changed + if (nnn > 0) { + isBarrelChain = true; + } + nnn = chainName.find("MSonly_tighter"); + if (nnn > 0) { + isTighterChain = true; + } - // + // 19.07.10 enabling request for lower chain + //bool EF_lower_passed = getTDT()->isPassed( m_lowerChains[chainName] ); + bool EF_lower_passed = true; - return pt_thres; - } + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - StatusCode HLTMuonMonTool::fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName) - { - ATH_MSG_DEBUG("----- fillChainDQA_MSonly: chain=" << chainName << " ----- histchain=" << histcName); - - using namespace Trig; - bool isBarrelChain = false; - bool isTighterChain = false; - //int nnn = chainName.find("MSonly_barrel"); - int nnn = chainName.find("0eta105_msonly"); // run2 name changed - if (nnn > 0) { - isBarrelChain = true; - } - nnn = chainName.find("MSonly_tighter"); - if (nnn > 0) { - isTighterChain = true; - } + FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); - // 19.07.10 enabling request for lower chain - //bool EF_lower_passed = getTDT()->isPassed( m_lowerChains[chainName] ); - bool EF_lower_passed = true; + std::vector<Combination> combsHLT = fHLT.getCombinations(); + ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); + for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { + ATH_MSG_DEBUG("..." << *it ); + } - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + const float DR_CUT = 0.2; // 2012 - FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); + std::string name; + int thresh = m_thresh[chainName]; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::vector<Combination> combsHLT = fHLT.getCombinations(); - ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); - for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { - ATH_MSG_DEBUG("..." << *it ); - } + // loop on each SA probe - const float DR_CUT = 0.2; // 2012 + for(int i_rec=0; i_rec<(int)m_RecMuonSA_pt.size(); i_rec++) { - std::string name; - int thresh = m_thresh[chainName]; + // YY added - remove SA-only tracks from efficiency numerator/denominator + /* ATH_MSG_INFO("HLTMuonMon: fillChainDQA_MSonly: " << i_rec << "-th muon, comb flag " + << m_RecMuonSA_hasCB[i_rec] << " pt " << m_RecMuonSA_pt[i_rec]); */ + if (!m_RecMuonSA_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_MSonly: not a good combined muon" << i_rec); + continue; //for LS1, remove requirements on Hits and impact parameter, attention + } - std::string bestr[2] = {"_Barrel", "_Endcap"}; + float rec_eta = m_RecMuonSA_eta[i_rec]; + float rec_phi = m_RecMuonSA_phi[i_rec]; + float rec_pt = m_RecMuonSA_pt[i_rec]; + ATH_MSG_DEBUG("++ i_rec=" << i_rec); + ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + // if( rec_pt > 50. ) rec_pt = 50.; + // if( rec_pt > 100. ) rec_pt = 100.; + + // index for Barrel/Endcap + int iBarrelSA = (fabs(rec_eta) < 1.05) ? 0 : 1; + int iTighterSA = (fabs(rec_eta) < 2.0) ? 0 : 1; + if (0 != iBarrelSA && isBarrelChain) { + ATH_MSG_DEBUG( chainName << " is barrel-only, returns since the matching muon is in the endcap "); + continue; // exiting the outer-most "for" loop + } + if (0 != iTighterSA && isTighterChain) { + ATH_MSG_DEBUG( chainName << " is for eta < 2.0, returns since the matching muon is in forward area "); + continue; // exiting the outer-most "for" loop + } - // loop on each SA probe + if (EF_lower_passed) { + name = histcName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); - for(int i_rec=0; i_rec<(int)m_RecMuonSA_pt.size(); i_rec++) { + // Barrel/Endcap (YY 27.05.10) Denominator for "wrtOffline" + name = histcName + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - // YY added - remove SA-only tracks from efficiency numerator/denominator - /* ATH_MSG_INFO("HLTMuonMon: fillChainDQA_MSonly: " << i_rec << "-th muon, comb flag " - << m_RecMuonSA_hasCB[i_rec] << " pt " << m_RecMuonSA_pt[i_rec]); */ - if (!m_RecMuonSA_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_MSonly: not a good combined muon" << i_rec); - continue; //for LS1, remove requirements on Hits and impact parameter, attention - } - float rec_eta = m_RecMuonSA_eta[i_rec]; - float rec_phi = m_RecMuonSA_phi[i_rec]; - float rec_pt = m_RecMuonSA_pt[i_rec]; - ATH_MSG_DEBUG("++ i_rec=" << i_rec); - ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); - // if( rec_pt > 50. ) rec_pt = 50.; - // if( rec_pt > 100. ) rec_pt = 100.; - - // index for Barrel/Endcap - int iBarrelSA = (fabs(rec_eta) < 1.05) ? 0 : 1; - int iTighterSA = (fabs(rec_eta) < 2.0) ? 0 : 1; - - if (0 != iBarrelSA && isBarrelChain) { - ATH_MSG_DEBUG( chainName << " is barrel-only, returns since the matching muon is in the endcap "); - continue; // exiting the outer-most "for" loop - } - if (0 != iTighterSA && isTighterChain) { - ATH_MSG_DEBUG( chainName << " is for eta < 2.0, returns since the matching muon is in forward area "); - continue; // exiting the outer-most "for" loop - } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // New Barrel/endcap for ES L1 + name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - if (EF_lower_passed) { - name = histcName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + float dr_min_l2 = 9999; + int id_min_l2 = -1; + std::string monalg = "_MuFast"; + std::string wrtalg = "_L1"; - // Barrel/Endcap (YY 27.05.10) Denominator for "wrtOffline" - name = histcName + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_l2 ) { + dr_min_l2 = dr; + id_min_l2 = iL2; + } + } + } + // L2 L2MuonSA + if( dr_min_l2 < DR_CUT && id_min_l2 != -1 ) { + if (EF_lower_passed) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // if (ES_lower_passed) + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // Barrel/Endcap for L1 : monalg = L2MuonSA, wrtalg = L1 + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } + } + } + // + if( mf_active ) { + // float mf_pt = mf[0].cptr()->pt(); + const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; + + float mf_eta = mf_cont->at(0)->eta(); + float mf_phi = mf_cont->at(0)->phi(); + + if (EF_lower_passed) { + name = histcName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // 2D coverage hist + name = histcName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // New Barrel/endcap for ES L1 - name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } + // if (ES_lower_passed) + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } + } - // L2 muFast - float dr_min_l2 = 9999; - int id_min_l2 = -1; - std::string monalg = "_MuFast"; - std::string wrtalg = "_L1"; - - for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_l2 ) { - dr_min_l2 = dr; - id_min_l2 = iL2; - } - } - } - // if( dr_min_l2 < DR_CUT && (EF_lower_passed || ES_lower_passed)) - if( dr_min_l2 < DR_CUT && id_min_l2 != -1 ) { - if (EF_lower_passed) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // if (ES_lower_passed) - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // Barrel/Endcap for L1 : monalg = MuFast, wrtalg = L1 - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // EF TrigMuonEF SA + float dr_min_ef = 9999; + int id_min_ef = -1; + int last_step = -1; + monalg = "_MuonEFMS"; + wrtalg = "_L2MuonSA"; + std::string monalg2 = "_MuonEFSA"; + const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails( chainName); + + const TrigConf::HLTChain* configChain = 0; + if (chainDetail) { + configChain = chainDetail->getConfigChain(); + //lastStep = chainDetail->getChainStep(); + } + std::vector<const HLT::TriggerElement*>::const_iterator p_te1; + std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; + std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; + std::vector<TrigConf::HLTSignature*> dummylist; + std::vector<TrigConf::HLTSignature*>& siglist = dummylist; + + if (configChain) siglist = configChain->signatureList(); + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName << " RoI # " << initRois.size()); + if( initRois.size() != 1 ) { + // ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + dr_min_ef = -1.0; // No RoI = Full scan trigger: fill efficiency nevertheless + // retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_ef ) { + dr_min_ef = dr; + id_min_ef = iEF; + last_step = 0; + + //get last step + //loop over TE + const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); + for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { + bool s = false; + + //loop over signature list + for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { + vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); + for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { + if ( (*p_te1)->getId() == + TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { + s = true; + break; } } - - // - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if (s) { + if ( (int) (*p_sig)->signature_counter() > last_step) + last_step = (int) (*p_sig)->signature_counter(); + break; } - if( mf_active ) { - // float mf_pt = mf[0].cptr()->pt(); - const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; - - float mf_eta = mf_cont->at(0)->eta(); - float mf_phi = mf_cont->at(0)->phi(); - - if (EF_lower_passed) { - name = histcName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // 2D coverage hist - name = histcName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + } + } + } + } + } + // if( dr_min_ef < DR_CUT && (EF_lower_passed || ES_lower_passed)) + if( dr_min_ef < DR_CUT && id_min_ef>=0 ) { // 20.11.11: now it also means that the ROI is not found, which is indicated as dr being negative + // but this condition is not fulfilled if EF feature does not exist in this event + ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + + if (EF_lower_passed) { + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // + float ef_ms_pt = 0.; + float ef_ms_eta = 0.; + float ef_sa_pt = 0.; + float ef_sa_eta = 0.; + + // YY added: + float ef_ms_phi = 0.; + float ef_sa_phi = 0.; + + // Check if EF feature matches to offline object for full-scan triggers + bool ef_ms_match = false; + bool ef_sa_match = false; + float ms_min_dltr = 9999.; + float sa_min_dltr = 9999.; + int id_min_msef = -1; + int id_min_saef = -1; + bool ef_active = false; + + if (dr_min_ef >= 0.) { + ef_ms_match = true; // YY for full-scan coding + ef_sa_match = true; // YY for full-scan coding + + + ef_active = combsHLT[id_min_ef].active(); + ATH_MSG_DEBUG("...comb active=" << ef_active ); //i + std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i + if( ef.size() == 1 ) { + + ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_ms_trk; + ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); + + ef_ms_pt = (*iCont)->pt(); + ef_ms_eta = (*iCont)->eta(); + ef_ms_phi = (*iCont)->phi(); // YY + + if( ef_ms_trk ){ + if( ef_ms_trk->pt() <= 0.){ + ef_ms_pt = -1.; + ef_ms_eta = 0.; + ef_ms_phi = 0.; // YY + }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + ef_ms_eta = ef_ms_trk->eta(); + ef_ms_phi = ef_ms_trk->phi(); // YY + } + ATH_MSG_DEBUG(" MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No MS track found for last_step " << last_step); } - // if (ES_lower_passed) - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + ef_sa_pt = (*iCont)->pt(); + ef_sa_eta = (*iCont)->eta(); + ef_sa_phi = (*iCont)->phi(); // YY + if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ + ef_sa_pt = -1.; + ef_sa_eta = 0.; + ef_sa_phi = 0.; // YY + }else if( ef_ms_trk){ + if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + ef_sa_eta = ef_ms_trk->eta(); + ef_sa_phi = ef_ms_trk->phi(); // YY } + ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i } + ATH_MSG_DEBUG(" SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); } } + } + } + } else { // full-scan chain + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + ATH_MSG_DEBUG("...comb active=" << ef_active ); //i + if (id_min_ef < 0) continue; + std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i + if( ef.size() == 1 ) { + float dltr; + ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); //i + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" FS ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_ms_trk; + ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); + + ef_ms_pt = (*iCont)->pt(); + ef_ms_eta = (*iCont)->eta(); + ef_ms_phi = (*iCont)->phi(); // YY + if( ef_ms_trk ){ + if( ef_ms_trk->pt() <= 0.){ + ef_ms_pt = -1.; + ef_ms_eta = 0.; + ef_ms_phi = 0.; // YY + }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + float ef_ms_eta_tmp = ef_ms_trk->eta(); + float ef_ms_phi_tmp = ef_ms_trk->phi(); // YY + dltr = CalculateDeltaR(rec_eta, rec_phi, ef_ms_eta_tmp, ef_ms_phi_tmp); + if (dltr < ms_min_dltr) { + ms_min_dltr = dltr; + id_min_msef = iEF; + ef_ms_eta = ef_ms_eta_tmp; + ef_ms_phi = ef_ms_phi_tmp; + } + } + ATH_MSG_DEBUG("FS MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); //i + ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No MS track found for last_step " << last_step); //i + } - // EF TrigMuonEF SA - float dr_min_ef = 9999; - int id_min_ef = -1; - int last_step = -1; - monalg = "_MuonEFMS"; - wrtalg = "_MuFast"; - std::string monalg2 = "_MuonEFSA"; - - - const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails( chainName); - const TrigConf::HLTChain* configChain = 0; - if (chainDetail) { - configChain = chainDetail->getConfigChain(); - //lastStep = chainDetail->getChainStep(); - } - std::vector<const HLT::TriggerElement*>::const_iterator p_te1; - std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; - std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; - std::vector<TrigConf::HLTSignature*> dummylist; - std::vector<TrigConf::HLTSignature*>& siglist = dummylist; - - if (configChain) siglist = configChain->signatureList(); - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName << " RoI # " << initRois.size()); - if( initRois.size() != 1 ) { - // ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - dr_min_ef = -1.0; // No RoI = Full scan trigger: fill efficiency nevertheless - // retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_ef ) { - dr_min_ef = dr; - id_min_ef = iEF; - last_step = 0; - - //get last step - //loop over TE - const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); - for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { - bool s = false; - - //loop over signature list - for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { - vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); - for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { - if ( (*p_te1)->getId() == - TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { - s = true; - break; - } - } - if (s) { - if ( (int) (*p_sig)->signature_counter() > last_step) - last_step = (int) (*p_sig)->signature_counter(); - break; - } + ef_sa_pt = (*iCont)->pt(); + ef_sa_eta = (*iCont)->eta(); + ef_sa_phi = (*iCont)->phi(); // YY + if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ + ef_sa_pt = -1.; + ef_sa_eta = 0.; + ef_sa_phi = 0.; // YY + }else if( ef_ms_trk){ + if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + float ef_sa_eta_tmp = ef_ms_trk->eta(); + float ef_sa_phi_tmp = ef_ms_trk->phi(); // YY + dltr = CalculateDeltaR(rec_eta, rec_phi, ef_sa_eta_tmp, ef_sa_phi_tmp); + if (dltr < sa_min_dltr) { + sa_min_dltr = dltr; + id_min_saef = iEF; + ef_sa_eta = ef_sa_eta_tmp; + ef_sa_phi = ef_sa_phi_tmp; + } } + ATH_MSG_DEBUG("FS SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i } } } } + } + } // loop over MSonly EF TEs + if (ms_min_dltr < DR_CUT) { + ef_ms_match = true; + ATH_MSG_DEBUG("MS Delta R, flag " << ms_min_dltr << " " << id_min_msef); //i + } + if (sa_min_dltr < DR_CUT) { + ef_sa_match = true; + if (id_min_saef < 0) { + ATH_MSG_WARNING("inconsistency in SA matching"); + } else { + ef_active = combsHLT[id_min_saef].active(); + ATH_MSG_DEBUG("SA Delta R, flag " << sa_min_dltr << " " << id_min_saef); //i + } + } + } + //MS pt/eta checks + if( ef_ms_match && ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) ){ // matching required only for full-scan chains + if (EF_lower_passed) { + ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); + name = histcName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // 2D coverage hist + name = histcName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); + name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } - // if( dr_min_ef < DR_CUT && (EF_lower_passed || ES_lower_passed)) - if( dr_min_ef < DR_CUT && id_min_ef>=0 ) { // 20.11.11: now it also means that the ROI is not found, which is indicated as dr being negative - // but this condition is not fulfilled if EF feature does not exist in this event - ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + //SA pt/eta checks + //if( ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) && + // ef_sa_pt > getPtThresTrigMuonEFSA(thresh, ef_sa_eta) ) + if( ef_sa_match && ef_active ) { // matching required only for full-scan triggers + if (EF_lower_passed) { + ATH_MSG_DEBUG("MSonly last step " << last_step ); + name = histcName + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg2 + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // 2D coverage hist + name = histcName + monalg2 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); + name = histcName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("MSonly last step " << last_step ); + name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + }else{ + ATH_MSG_DEBUG("MSonly not active last step " << last_step ); + } + } - if (EF_lower_passed) { - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } // end of SA loop - name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // - // Barrel/Endcap - name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // - float ef_ms_pt = 0.; - float ef_ms_eta = 0.; - float ef_sa_pt = 0.; - float ef_sa_eta = 0.; - - // YY added: - float ef_ms_phi = 0.; - float ef_sa_phi = 0.; - - // Check if EF feature matches to offline object for full-scan triggers - bool ef_ms_match = false; - bool ef_sa_match = false; - float ms_min_dltr = 9999.; - float sa_min_dltr = 9999.; - int id_min_msef = -1; - int id_min_saef = -1; - bool ef_active = false; - - if (dr_min_ef >= 0.) { - ef_ms_match = true; // YY for full-scan coding - ef_sa_match = true; // YY for full-scan coding - - - ef_active = combsHLT[id_min_ef].active(); - ATH_MSG_DEBUG("...comb active=" << ef_active ); //i - std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i - if( ef.size() == 1 ) { - - ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_ms_trk; - ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); - - ef_ms_pt = (*iCont)->pt(); - ef_ms_eta = (*iCont)->eta(); - ef_ms_phi = (*iCont)->phi(); // YY - if( ef_ms_trk ){ - if( ef_ms_trk->pt() <= 0.){ - ef_ms_pt = -1.; - ef_ms_eta = 0.; - ef_ms_phi = 0.; // YY - }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - ef_ms_eta = ef_ms_trk->eta(); - ef_ms_phi = ef_ms_trk->phi(); // YY - } - ATH_MSG_DEBUG(" MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No MS track found for last_step " << last_step); - } - - ef_sa_pt = (*iCont)->pt(); - ef_sa_eta = (*iCont)->eta(); - ef_sa_phi = (*iCont)->phi(); // YY - if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ - ef_sa_pt = -1.; - ef_sa_eta = 0.; - ef_sa_phi = 0.; // YY - }else if( ef_ms_trk){ - if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - ef_sa_eta = ef_ms_trk->eta(); - ef_sa_phi = ef_ms_trk->phi(); // YY - } - ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i - } - ATH_MSG_DEBUG(" SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); - } - } - } - } - } else { // full-scan chain - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - ATH_MSG_DEBUG("...comb active=" << ef_active ); //i - if (id_min_ef < 0) continue; - std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i - if( ef.size() == 1 ) { - float dltr; - ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); //i - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" FS ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_ms_trk; - ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); - - ef_ms_pt = (*iCont)->pt(); - ef_ms_eta = (*iCont)->eta(); - ef_ms_phi = (*iCont)->phi(); // YY - if( ef_ms_trk ){ - if( ef_ms_trk->pt() <= 0.){ - ef_ms_pt = -1.; - ef_ms_eta = 0.; - ef_ms_phi = 0.; // YY - }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - float ef_ms_eta_tmp = ef_ms_trk->eta(); - float ef_ms_phi_tmp = ef_ms_trk->phi(); // YY - dltr = CalculateDeltaR(rec_eta, rec_phi, ef_ms_eta_tmp, ef_ms_phi_tmp); - if (dltr < ms_min_dltr) { - ms_min_dltr = dltr; - id_min_msef = iEF; - ef_ms_eta = ef_ms_eta_tmp; - ef_ms_phi = ef_ms_phi_tmp; - } - } - ATH_MSG_DEBUG("FS MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); //i - ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No MS track found for last_step " << last_step); //i - } - - ef_sa_pt = (*iCont)->pt(); - ef_sa_eta = (*iCont)->eta(); - ef_sa_phi = (*iCont)->phi(); // YY - if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ - ef_sa_pt = -1.; - ef_sa_eta = 0.; - ef_sa_phi = 0.; // YY - }else if( ef_ms_trk){ - if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - float ef_sa_eta_tmp = ef_ms_trk->eta(); - float ef_sa_phi_tmp = ef_ms_trk->phi(); // YY - dltr = CalculateDeltaR(rec_eta, rec_phi, ef_sa_eta_tmp, ef_sa_phi_tmp); - if (dltr < sa_min_dltr) { - sa_min_dltr = dltr; - id_min_saef = iEF; - ef_sa_eta = ef_sa_eta_tmp; - ef_sa_phi = ef_sa_phi_tmp; - } - } - ATH_MSG_DEBUG("FS SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i - } - } - } - } - } - } // loop over MSonly EF TEs - if (ms_min_dltr < DR_CUT) { - ef_ms_match = true; - ATH_MSG_DEBUG("MS Delta R, flag " << ms_min_dltr << " " << id_min_msef); //i - } - if (sa_min_dltr < DR_CUT) { - ef_sa_match = true; - if (id_min_saef < 0) { - ATH_MSG_WARNING("inconsistency in SA matching"); - } else { - ef_active = combsHLT[id_min_saef].active(); - ATH_MSG_DEBUG("SA Delta R, flag " << sa_min_dltr << " " << id_min_saef); //i - } - } - } + return retval; +} +StatusCode HLTMuonMonTool::fillChainDQA_standard(const std::string& chainName, const std::string & histcName) +{ + ATH_MSG_DEBUG("----- fillChainDQA_standard: chain=" << chainName << " histname=" <<histcName<< " -----"); - //MS pt/eta checks - if( ef_ms_match && ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) ){ // matching required only for full-scan chains - if (EF_lower_passed) { - ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); - name = histcName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // 2D coverage hist - name = histcName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); - name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - } + using namespace Trig; - //SA pt/eta checks - //if( ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) && - // ef_sa_pt > getPtThresTrigMuonEFSA(thresh, ef_sa_eta) ) - if( ef_sa_match && ef_active ) { // matching required only for full-scan triggers - if (EF_lower_passed) { - ATH_MSG_DEBUG("MSonly last step " << last_step ); - name = histcName + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg2 + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // 2D coverage hist - name = histcName + monalg2 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); - name = histcName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("MSonly last step " << last_step ); - name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - }else{ - ATH_MSG_DEBUG("MSonly not active last step " << last_step ); - } - } + const float DR_CUT = 0.2; // 2012 - } // end of SA loop + //*****************************************// + // add by Yuan // + std::string bestr[2] = {"_Barrel", "_Endcap"}; + std::vector<std::pair<float, int> > RecMuonCB_pt_index; + if(RecMuonCB_pt_index.size()!=0)RecMuonCB_pt_index.clear(); - // + StatusCode sc; + StoreGateSvc* p_detStore; + std::string tag; - return retval; - } + //Set pointer on DetectorStore + sc = service("DetectorStore", p_detStore); + if ( sc.isFailure() ) { + ATH_MSG_FATAL( "DetectorStore service not found !" ) ; + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG( "Found DetectorStore ") ; + + const TagInfo* tagInfo = 0; + sc = p_detStore->retrieve( tagInfo ); + if (sc.isFailure()) { + ATH_MSG_WARNING("Could not get TagInfo"); + return StatusCode::RECOVERABLE; + } else { + tagInfo->findTag("triggerStreamOfFile",tag); + } - StatusCode HLTMuonMonTool::fillChainDQA_standard(const std::string& chainName, const std::string & histcName) - { - ATH_MSG_DEBUG("----- fillChainDQA_standard: chain=" << chainName << " histname=" <<histcName<< " -----"); + if(chainName.find("noL1")!= string::npos){ + if(m_RecMuonCB_pt.size()<=1) return StatusCode::SUCCESS; + m_esvect.clear(); + m_esvect = getESbits(); + std::vector<std::string>::iterator it; + for (it = m_esvect.begin(); it != m_esvect.end(); it++) ATH_MSG_DEBUG("----- express stream trigger :" << *it << " -----"); + + for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { // start the loop on muon + if (!m_RecMuonCB_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); + continue; + } + float rec_pt = m_RecMuonCB_pt[i_rec]; + RecMuonCB_pt_index.push_back(std::make_pair(rec_pt,i_rec)); + } // end the loop on muon + if(RecMuonCB_pt_index.size()<=1) return StatusCode::SUCCESS; + std::sort(RecMuonCB_pt_index.begin(),RecMuonCB_pt_index.end(),my_sort<std::pair<float, int> >()); // sorted the muon pt + if(!m_HI_pp_mode){ + if(RecMuonCB_pt_index[0].first < 4 || RecMuonCB_pt_index[1].first < 1) return StatusCode::SUCCESS; + }else{ + if(RecMuonCB_pt_index[0].first < 18 || RecMuonCB_pt_index[1].first < 3) return StatusCode::SUCCESS; + } + int mu1_index = RecMuonCB_pt_index[0].second; + int mu2_index = RecMuonCB_pt_index[1].second; + + std::string EF_pre_trigger= m_FS_pre_trigger; + std::string EF_pre_trigger_second= m_FS_pre_trigger_second; + + if( tag == "express" && !m_passedES[ESSTD]) return StatusCode::SUCCESS; + if(getTDT()->isPassed(EF_pre_trigger.c_str())!=1 && getTDT()->isPassed(EF_pre_trigger_second.c_str())!=1) return StatusCode::SUCCESS; + std::string name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); + std::string EF_FS_trigger = chainName; + if(getTDT()->isPassed(EF_FS_trigger.c_str())){ + name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); + } - using namespace Trig; + int match_L2_RoI[2]; + int match_L2_RoI_activate[2]; + int match_EF_RoI[2]; + int match_EF_RoI_activate[2]; + for(int i = 0; i<2; i++){ + match_L2_RoI[i] = 0; + match_L2_RoI_activate[i] = 0; + match_EF_RoI[i] = 0; + match_EF_RoI_activate[i] = 0; + } - const float DR_CUT = 0.2; // 2012 - //*****************************************// - // add by Yuan // - std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::vector<std::pair<float, int> > RecMuonCB_pt_index; - if(RecMuonCB_pt_index.size()!=0)RecMuonCB_pt_index.clear(); + //************* check the first pre trigger mu18it_tight *******************// + FeatureContainer my_fHLT = getTDT()->features(m_FS_pre_trigger,TrigDefs::alsoDeactivateTEs); - StatusCode sc; - StoreGateSvc* p_detStore; - std::string tag; + std::vector<Combination> my_combsHLT = my_fHLT.getCombinations(); - //Set pointer on DetectorStore - sc = service("DetectorStore", p_detStore); - if ( sc.isFailure() ) { - ATH_MSG_FATAL( "DetectorStore service not found !" ) ; - return StatusCode::FAILURE; + // to match with the initial ROI at L2 + for(int n_mu = 0; n_mu <2;n_mu ++){ + int mu_index; + if(n_mu == 0) mu_index = mu1_index; + else if(n_mu == 1) mu_index = mu2_index; + float my_dr_min_l2 = 9999; + int my_id_min_l2 = -1; + for(int iL2=0; iL2<(int)my_combsHLT.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_l2 ) { + my_dr_min_l2 = dr; + my_id_min_l2 = iL2; } - ATH_MSG_DEBUG( "Found DetectorStore ") ; - - const TagInfo* tagInfo = 0; - sc = p_detStore->retrieve( tagInfo ); - if (sc.isFailure()) { - ATH_MSG_WARNING("Could not get TagInfo"); - return StatusCode::RECOVERABLE; - } else { - tagInfo->findTag("triggerStreamOfFile",tag); + } + } + if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1) { + + match_L2_RoI[n_mu] = 1; + // check the muon fire mu24_tight ROI or not L2MuonSA + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } } - - if(chainName.find("noL1")!= string::npos){ - if(m_RecMuonCB_pt.size()<=1) return StatusCode::SUCCESS; - m_esvect.clear(); - m_esvect = getESbits(); - std::vector<std::string>::iterator it; - for (it = m_esvect.begin(); it != m_esvect.end(); it++) ATH_MSG_DEBUG("----- express stream trigger :" << *it << " -----"); - - for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { // start the loop on muon - if (!m_RecMuonCB_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); - continue; - } - float rec_pt = m_RecMuonCB_pt[i_rec]; - RecMuonCB_pt_index.push_back(std::make_pair(rec_pt,i_rec)); - } // end the loop on muon - if(RecMuonCB_pt_index.size()<=1) return StatusCode::SUCCESS; - - std::sort(RecMuonCB_pt_index.begin(),RecMuonCB_pt_index.end(),my_sort<std::pair<float, int> >()); // sorted the muon pt - if(!m_HI_pp_mode){ - if(RecMuonCB_pt_index[0].first < 4 || RecMuonCB_pt_index[1].first < 1) return StatusCode::SUCCESS; - }else{ - if(RecMuonCB_pt_index[0].first < 18 || RecMuonCB_pt_index[1].first < 3) return StatusCode::SUCCESS; + } + //if(!mf_active)return StatusCode::SUCCESS; + + bool combMf_active = false; + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); } - int mu1_index = RecMuonCB_pt_index[0].second; - int mu2_index = RecMuonCB_pt_index[1].second; - - std::string EF_pre_trigger= m_FS_pre_trigger; - std::string EF_pre_trigger_second= m_FS_pre_trigger_second; + } + } + //if(!combMf_active)return StatusCode::SUCCESS; + if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; - if( tag == "express" && !m_passedES[ESSTD]) return StatusCode::SUCCESS; - if(getTDT()->isPassed(EF_pre_trigger.c_str())!=1 && getTDT()->isPassed(EF_pre_trigger_second.c_str())!=1) return StatusCode::SUCCESS; - std::string name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); - std::string EF_FS_trigger = chainName; - if(getTDT()->isPassed(EF_FS_trigger.c_str())){ - name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); - } + } - int match_L2_RoI[2]; - int match_L2_RoI_activate[2]; - int match_EF_RoI[2]; - int match_EF_RoI_activate[2]; - for(int i = 0; i<2; i++){ - match_L2_RoI[i] = 0; - match_L2_RoI_activate[i] = 0; - match_EF_RoI[i] = 0; - match_EF_RoI_activate[i] = 0; - } + float my_dr_min_ef = 9999; + int my_id_min_ef = -1; + // to match with the initial ROI at EF + for(int iEF=0; iEF<(int)my_combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_ef ) { + my_dr_min_ef = dr; + my_id_min_ef = iEF; + } + } + } + if(my_dr_min_ef < DR_CUT){ + match_EF_RoI[n_mu] = 1; + bool ef_active = (my_combsHLT[my_id_min_ef]).active(); + //if(!ef_active) return StatusCode::SUCCESS; + if(ef_active) match_EF_RoI_activate[n_mu] = 1; + } - //************* check the first pre trigger mu18it_tight *******************// - FeatureContainer my_fHLT = getTDT()->features(m_FS_pre_trigger,TrigDefs::alsoDeactivateTEs); + } - std::vector<Combination> my_combsHLT = my_fHLT.getCombinations(); + //************* check the second pre trigger mu24i_tight *******************// + FeatureContainer my_fHLT_mu24_imedium = getTDT()->features(m_FS_pre_trigger_second,TrigDefs::alsoDeactivateTEs); + + std::vector<Combination> my_combsHLT_mu24_imedium= my_fHLT_mu24_imedium.getCombinations(); + + // to match with the initial ROI at L2 + for(int n_mu = 0; n_mu <2;n_mu ++){ + int mu_index; + if(n_mu == 0) mu_index = mu1_index; + else if(n_mu == 1) mu_index = mu2_index; + float my_dr_min_l2 = 9999; + int my_id_min_l2 = -1; + for(int iL2=0; iL2<(int)my_combsHLT_mu24_imedium.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_l2 ) { + my_dr_min_l2 = dr; + my_id_min_l2 = iL2; + } + } + } + if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1 ) { + + match_L2_RoI[n_mu] = 1; + // check the muon fire mu24_tight ROI or not L2MuonSA + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } + } + } + //if(!mf_active)return StatusCode::SUCCESS; + + bool combMf_active = false; + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(combMf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); + } + } + } + //if(!combMf_active)return StatusCode::SUCCESS; + if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; - // to match with the initial ROI at L2 - for(int n_mu = 0; n_mu <2;n_mu ++){ - int mu_index; - if(n_mu == 0) mu_index = mu1_index; - else if(n_mu == 1) mu_index = mu2_index; - float my_dr_min_l2 = 9999; - int my_id_min_l2 = -1; - for(int iL2=0; iL2<(int)my_combsHLT.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_l2 ) { - my_dr_min_l2 = dr; - my_id_min_l2 = iL2; - } - } - } - if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1) { + } - match_L2_RoI[n_mu] = 1; - // check the muon fire mu24_tight ROI or not MuFast - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - //if(!mf_active)return StatusCode::SUCCESS; + float my_dr_min_ef = 9999; + int my_id_min_ef = -1; - bool combMf_active = false; - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - //if(!combMf_active)return StatusCode::SUCCESS; - if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; + for(int iEF=0; iEF<(int)my_combsHLT_mu24_imedium.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_ef ) { + my_dr_min_ef = dr; + my_id_min_ef = iEF; + } + } + } + if(my_dr_min_ef < DR_CUT && my_id_min_ef >= 0){ + match_EF_RoI[n_mu] = 1; + bool ef_active = (my_combsHLT_mu24_imedium[my_id_min_ef]).active(); + //if(!ef_active) return StatusCode::SUCCESS; + if(ef_active) match_EF_RoI_activate[n_mu] = 1; + } + } - } - float my_dr_min_ef = 9999; - int my_id_min_ef = -1; - // to match with the initial ROI at EF + // now make a random number for tag muon // + int tag_muon_index = -1; + int probe_muon_index = -1; + bool probe_muon_pass = false; + + int matched_tag_muon_index = -1; + int matched_probe_muon_index = -1; + bool matched_probe_muon_pass = false; + + m_random3.SetSeed(m_event); + double random_number = m_random3.Gaus(0,1); + ATH_MSG_DEBUG(" the random number: "<<random_number); + // to match with the initial ROI at EF + if(random_number > 0) { /// if the random number greater than 0, check the leading muon first + if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon + tag_muon_index = mu1_index; + probe_muon_index = mu2_index; + probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + + if(match_L2_RoI[1] && match_EF_RoI[1]) { + matched_tag_muon_index = mu1_index; + matched_probe_muon_index = mu2_index; + matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + } + }else if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon + tag_muon_index = mu2_index; + probe_muon_index = mu1_index; + probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + + if(match_L2_RoI[0] && match_EF_RoI[0]) { + matched_tag_muon_index = mu2_index; + matched_probe_muon_index = mu1_index; + matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + } + } + }else { /// else if the random number smaller than 0, check the subleading muon first + if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon + tag_muon_index = mu2_index; + probe_muon_index = mu1_index; + probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + + if(match_L2_RoI[0] && match_EF_RoI[0]) { + matched_tag_muon_index = mu2_index; + matched_probe_muon_index = mu1_index; + matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + } + } else if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon + tag_muon_index = mu1_index; + probe_muon_index = mu2_index; + probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + + if(match_L2_RoI[1] && match_EF_RoI[1]) { + matched_tag_muon_index = mu1_index; + matched_probe_muon_index = mu2_index; + matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + } - for(int iEF=0; iEF<(int)my_combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_ef ) { - my_dr_min_ef = dr; - my_id_min_ef = iEF; - } - } - } - if(my_dr_min_ef < DR_CUT){ - match_EF_RoI[n_mu] = 1; - bool ef_active = (my_combsHLT[my_id_min_ef]).active(); - //if(!ef_active) return StatusCode::SUCCESS; - if(ef_active) match_EF_RoI_activate[n_mu] = 1; - } + } + } + const DataHandle<EventInfo> evt; + sc = evtStore()->retrieve(evt); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + return StatusCode::FAILURE; + } + float mean_mu = evt->averageInteractionsPerCrossing(); + // start to dump the probe muon information // + if(tag_muon_index > -1){ + ATH_MSG_DEBUG(" ####### found tag muon ######### "); + // index for Barrel/Endcap + int probe_iBarrelCB = (fabs(m_RecMuonCB_eta[probe_muon_index]) < 1.05) ? 0 : 1; + + // for the Full Scan efficiency // + std::string name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + if(mean_mu <= 15){ + name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else if(mean_mu <= 20){ + name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else { + name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } + if(getTDT()->isPassed(EF_FS_trigger.c_str())){ + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + if(mean_mu <= 15){ + name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else if(mean_mu <= 20){ + name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else { + name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } - } + } - //************* check the second pre trigger mu24i_tight *******************// - FeatureContainer my_fHLT_mu24_imedium = getTDT()->features(m_FS_pre_trigger_second,TrigDefs::alsoDeactivateTEs); - - std::vector<Combination> my_combsHLT_mu24_imedium= my_fHLT_mu24_imedium.getCombinations(); - - // to match with the initial ROI at L2 - for(int n_mu = 0; n_mu <2;n_mu ++){ - int mu_index; - if(n_mu == 0) mu_index = mu1_index; - else if(n_mu == 1) mu_index = mu2_index; - float my_dr_min_l2 = 9999; - int my_id_min_l2 = -1; - for(int iL2=0; iL2<(int)my_combsHLT_mu24_imedium.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_l2 ) { - my_dr_min_l2 = dr; - my_id_min_l2 = iL2; - } - } - } + // for the preselection trigger efficiency // + std::string denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + std::string nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; + if(probe_muon_pass) { + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + // swap the tag and probe muons // + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); + } - if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1 ) { + if(matched_tag_muon_index > -1){ + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); + nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; + if(matched_probe_muon_pass){ + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); + // swap the tag and probe muons // + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); - match_L2_RoI[n_mu] = 1; - // check the muon fire mu24_tight ROI or not MuFast - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - //if(!mf_active)return StatusCode::SUCCESS; + } + } + } - bool combMf_active = false; - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - //if(!combMf_active)return StatusCode::SUCCESS; - if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; + } + //*****************************************// + return StatusCode::SUCCESS; - } +} - float my_dr_min_ef = 9999; - int my_id_min_ef = -1; - // to match with the initial ROI at EF +StatusCode HLTMuonMonTool::fillChainDQA_generic(const std::string& chainName, const std::string& HistchainName, bool isIsolOffline) +{ + ATH_MSG_DEBUG("----- fillChainDQA_generic: chain=" << chainName << " histChain: "<<HistchainName); - for(int iEF=0; iEF<(int)my_combsHLT_mu24_imedium.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_ef ) { - my_dr_min_ef = dr; - my_id_min_ef = iEF; - } - } - } - if(my_dr_min_ef < DR_CUT && my_id_min_ef >= 0){ - match_EF_RoI[n_mu] = 1; - bool ef_active = (my_combsHLT_mu24_imedium[my_id_min_ef]).active(); - //if(!ef_active) return StatusCode::SUCCESS; - if(ef_active) match_EF_RoI_activate[n_mu] = 1; - } + using namespace Trig; - } + bool EF_lower_passed = true; + bool MS_lower_passed = false; + std::vector<std::string>::iterator it; + for (it = m_MSchain.begin(); it != m_MSchain.end(); it++) { + if (getTDT()->isPassed(*it)) { + MS_lower_passed = true; + } + } + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - // now make a random number for tag muon // - int tag_muon_index = -1; - int probe_muon_index = -1; - bool probe_muon_pass = false; - - int matched_tag_muon_index = -1; - int matched_probe_muon_index = -1; - bool matched_probe_muon_pass = false; - - m_random3.SetSeed(m_event); - double random_number = m_random3.Gaus(0,1); - ATH_MSG_DEBUG(" the random number: "<<random_number); - if(random_number > 0) { /// if the random number greater than 0, check the leading muon first - if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon - tag_muon_index = mu1_index; - probe_muon_index = mu2_index; - probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - - if(match_L2_RoI[1] && match_EF_RoI[1]) { - matched_tag_muon_index = mu1_index; - matched_probe_muon_index = mu2_index; - matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - } - }else if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon - tag_muon_index = mu2_index; - probe_muon_index = mu1_index; - probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - - if(match_L2_RoI[0] && match_EF_RoI[0]) { - matched_tag_muon_index = mu2_index; - matched_probe_muon_index = mu1_index; - matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - } - } - }else { /// else if the random number smaller than 0, check the subleading muon first - if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon - tag_muon_index = mu2_index; - probe_muon_index = mu1_index; - probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - - if(match_L2_RoI[0] && match_EF_RoI[0]) { - matched_tag_muon_index = mu2_index; - matched_probe_muon_index = mu1_index; - matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - } - } else if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon - tag_muon_index = mu1_index; - probe_muon_index = mu2_index; - probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - - if(match_L2_RoI[1] && match_EF_RoI[1]) { - matched_tag_muon_index = mu1_index; - matched_probe_muon_index = mu2_index; - matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - } - } - } + FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); - const DataHandle<EventInfo> evt; - sc = evtStore()->retrieve(evt); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - return StatusCode::FAILURE; - } - float mean_mu = evt->averageInteractionsPerCrossing(); - - // start to dump the probe muon information // - if(tag_muon_index > -1){ - ATH_MSG_DEBUG(" ####### found tag muon ######### "); - // index for Barrel/Endcap - int probe_iBarrelCB = (fabs(m_RecMuonCB_eta[probe_muon_index]) < 1.05) ? 0 : 1; - - // for the Full Scan efficiency // - std::string name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - - if(mean_mu <= 15){ - name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else if(mean_mu <= 20){ - name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else { - name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } + std::vector<Combination> combsHLT = fHLT.getCombinations(); + ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); + for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { + ATH_MSG_DEBUG("..." << *it ); + } - if(getTDT()->isPassed(EF_FS_trigger.c_str())){ - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + const float DR_CUT = 0.2; // YY 2012 setting - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + std::string name; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - if(mean_mu <= 15){ - name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else if(mean_mu <= 20){ - name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else { - name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } + // loop on each CB probe - } + //float isolThresh = (isIsolOffline ? 0.1 : 0.5); + //float isolThresh = 0.5; //looser isolation in run2 + float isolThresh = (isIsolOffline ? 0.06 : 0.5); // tighter isolation in run2 - // for the preselection trigger efficiency // - std::string denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - std::string nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; - if(probe_muon_pass) { - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - // swap the tag and probe muons // - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); - } + for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { - if(matched_tag_muon_index > -1){ - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); - nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; - if(matched_probe_muon_pass){ - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); - // swap the tag and probe muons // - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); + if (!m_RecMuonCB_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); + continue; // for LS1, remove cuts on Hits and impact parameter, uncomment for collision. + } - } - } - } + float rec_eta = m_RecMuonCB_eta[i_rec]; + float rec_phi = m_RecMuonCB_phi[i_rec]; + float rec_pt = m_RecMuonCB_pt[i_rec]; + float rec_ptcone30 = m_RecMuonCB_ptcone30[i_rec]; - } - //*****************************************// - return StatusCode::SUCCESS; + // if ((rec_ptcone40*0.001) / rec_pt > 0.5) continue; // tomoe added 09/06/2011 + // if ((rec_ptcone40*0.001) / rec_pt > isolThresh) continue; // tomoe added 09/06/2011 + if ((rec_ptcone30*0.001) / rec_pt > isolThresh) continue; // use cone30 in run2 - } + ATH_MSG_DEBUG("++ i_rec=" << i_rec); + //ATH_MSG_INFO("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + // if( rec_pt > 50. ) rec_pt = 50.; + // if( rec_pt > 100. ) rec_pt = 100.; + // index for Barrel/Endcap + int iBarrelCB = (fabs(rec_eta) < 1.05) ? 0 : 1; - StatusCode HLTMuonMonTool::fillChainDQA_generic(const std::string& chainName, const std::string& HistchainName, bool isIsolOffline) - { - ATH_MSG_DEBUG("----- fillChainDQA_generic: chain=" << chainName << " histChain: "<<HistchainName); + if (EF_lower_passed) { + name = HistchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap (YY 20.05.10) Denominator for "wrtOffline" + name = HistchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - using namespace Trig; + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // New Barrel/endcap for ES L1 + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - bool EF_lower_passed = true; - bool MS_lower_passed = false; - std::vector<std::string>::iterator it; - for (it = m_MSchain.begin(); it != m_MSchain.end(); it++) { - if (getTDT()->isPassed(*it)) { - MS_lower_passed = true; - } + // L2 L2MuonSA and muComb + float dr_min_l2 = 9999; + int id_min_l2 = -1; + std::string monalg = "_L2MuonSA"; + std::string monalg2 = "_MuComb"; + std::string wrtalg = "_L1"; + std::string wrtalg2 = "_L2MuonSA"; + for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { + //std::vector< Feature<TrigRoiDescriptor> > initRois = fHLT.get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("TrigRoiDescriptorCollection size: "<<initRois.size()); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_l2 ) { + dr_min_l2 = dr; + id_min_l2 = iL2; + } + } + } + if( dr_min_l2 < DR_CUT && id_min_l2 != -1) { + if (EF_lower_passed) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap + name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // Barrel/Endcap for L1 : monalg = L2MuonSA, wrtalg = L1 + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // === L2MuonSA === + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + + ATH_MSG_DEBUG(" L2MuonSA container size: "<< mf.size()); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2( mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); } - - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + } + } - FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); + if( mf_active ) { + const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; + float mf_pt = mf_cont->at(0)->pt(); + float mf_eta = mf_cont->at(0)->eta(); + float mf_phi = mf_cont->at(0)->phi(); - std::vector<Combination> combsHLT = fHLT.getCombinations(); - ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); - for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { - ATH_MSG_DEBUG("..." << *it ); + if (EF_lower_passed) { // if EF_lower_passed is always true, it is a catch-all branch. + name = HistchainName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed ) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } + // Barrel/Endcap + name = HistchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - const float DR_CUT = 0.2; // YY 2012 setting - - std::string name; - std::string bestr[2] = {"_Barrel", "_Endcap"}; + // 2D coverage hist + ATH_MSG_DEBUG ( "Offline/L2MuonSA pt" << rec_pt << ", " << mf_pt ); + ATH_MSG_DEBUG ( "Offline/L2MuonSA eta" << rec_eta << ", " << mf_eta ); + ATH_MSG_DEBUG ( "Offline/L2MuonSA phi" << rec_phi << ", " << mf_phi ); + name = HistchainName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + name = HistchainName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + // 1D covarage: L2MuonSA only + name = HistchainName + monalg + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(mf_eta); + name = HistchainName + monalg + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(mf_phi); + } - // loop on each CB probe + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } + // === MuComb === + bool combMf_active = false; + if( mf_active ) { + if (EF_lower_passed) { + name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap + name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - //float isolThresh = (isIsolOffline ? 0.1 : 0.5); - float isolThresh = (isIsolOffline ? 0.06 : 0.5); // tighter isolation in run2 + // - for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = combsHLT[id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if (!m_RecMuonCB_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); - continue; // for LS1, remove cuts on Hits and impact parameter, uncomment for collision. + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2( combMf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); } + } + } - float rec_eta = m_RecMuonCB_eta[i_rec]; - float rec_phi = m_RecMuonCB_phi[i_rec]; - float rec_pt = m_RecMuonCB_pt[i_rec]; - - float rec_ptcone30 = m_RecMuonCB_ptcone30[i_rec]; - // if ((rec_ptcone40*0.001) / rec_pt > 0.5) continue; // tomoe added 09/06/2011 - // if ((rec_ptcone40*0.001) / rec_pt > isolThresh) continue; // tomoe added 09/06/2011 - if ((rec_ptcone30*0.001) / rec_pt > isolThresh) continue; // use cone30 in run2 + if( combMf_active ) { + const xAOD::L2CombinedMuonContainer* combMf_cont = combMf[0]; - ATH_MSG_DEBUG("++ i_rec=" << i_rec); - ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); - // if( rec_pt > 50. ) rec_pt = 50.; - // if( rec_pt > 100. ) rec_pt = 100.; + float combMf_pt = combMf_cont->at(0)->pt(); + float combMf_eta = combMf_cont->at(0)->eta(); + float combMf_phi = combMf_cont->at(0)->phi(); - // index for Barrel/Endcap - int iBarrelCB = (fabs(rec_eta) < 1.05) ? 0 : 1; - if (EF_lower_passed) { - name = HistchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap (YY 20.05.10) Denominator for "wrtOffline" - name = HistchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); + if (EF_lower_passed) { + name = HistchainName + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_Numerator"; hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // New Barrel/endcap for ES L1 - name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + // Barrel/Endcap + name = HistchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - // L2 muFast and muComb - float dr_min_l2 = 9999; - int id_min_l2 = -1; - std::string monalg = "_MuFast"; - std::string monalg2 = "_MuComb"; - std::string wrtalg = "_L1"; - std::string wrtalg2 = "_MuFast"; - - for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { - //std::vector< Feature<TrigRoiDescriptor> > initRois = fHLT.get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("TrigRoiDescriptorCollection size: "<<initRois.size()); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_l2 ) { - dr_min_l2 = dr; - id_min_l2 = iL2; - } - } + // 2D coverage hist + ATH_MSG_DEBUG ( "Offline/muComb pt" << rec_pt << ", " << combMf_pt ); + ATH_MSG_DEBUG ( "Offline/muComb eta" << rec_eta << ", " << combMf_eta ); + ATH_MSG_DEBUG ( "Offline/muComb phi" << rec_phi << ", " << combMf_phi ); + name = HistchainName + monalg2 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); + name = HistchainName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); + } + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - if( dr_min_l2 < DR_CUT && id_min_l2 != -1) { - if (EF_lower_passed) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // Barrel/Endcap for L1 : monalg = MuFast, wrtalg = L1 - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - // === MuFast === - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - - ATH_MSG_DEBUG(" MuFast container size: "<< mf.size()); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - - - if( mf_active ) { - const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; - - float mf_pt = mf_cont->at(0)->pt(); - float mf_eta = mf_cont->at(0)->eta(); - float mf_phi = mf_cont->at(0)->phi(); - - if (EF_lower_passed) { // if EF_lower_passed is always true, it is a catch-all branch. - name = HistchainName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed ) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // Barrel/Endcap - name = HistchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // 2D coverage hist - ATH_MSG_DEBUG ( "Offline/muFast pt" << rec_pt << ", " << mf_pt ); - ATH_MSG_DEBUG ( "Offline/muFast eta" << rec_eta << ", " << mf_eta ); - ATH_MSG_DEBUG ( "Offline/muFast phi" << rec_phi << ", " << mf_phi ); - name = HistchainName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - name = HistchainName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - // 1D covarage: muFast only - name = HistchainName + monalg + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(mf_eta); - name = HistchainName + monalg + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(mf_phi); - } - - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - } - - // === MuComb === - bool combMf_active = false; - if( mf_active ) { - if (EF_lower_passed) { - name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - // - - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = combsHLT[id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - - - if( combMf_active ) { - const xAOD::L2CombinedMuonContainer* combMf_cont = combMf[0]; - - float combMf_pt = combMf_cont->at(0)->pt(); - float combMf_eta = combMf_cont->at(0)->eta(); - float combMf_phi = combMf_cont->at(0)->phi(); - - - - if (EF_lower_passed) { - name = HistchainName + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // Barrel/Endcap - name = HistchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // 2D coverage hist - ATH_MSG_DEBUG ( "Offline/muComb pt" << rec_pt << ", " << combMf_pt ); - ATH_MSG_DEBUG ( "Offline/muComb eta" << rec_eta << ", " << combMf_eta ); - ATH_MSG_DEBUG ( "Offline/muComb phi" << rec_phi << ", " << combMf_phi ); - name = HistchainName + monalg2 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); - name = HistchainName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); - } - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } + } + } + } + } + // == an EF chain == + float dr_min_ef = 9999; + int id_min_ef = -1; + int last_step = -1; + wrtalg = "_MuComb"; + std::string monalg3 = "_EFmuon"; + + //const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails("EF_" + chainName); // sept25 + const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails(chainName); // sept25 + const TrigConf::HLTChain* configChain = 0; + if (chainDetail) { + configChain = chainDetail->getConfigChain(); + //lastStep = chainDetail->getChainStep(); + } + std::vector<const HLT::TriggerElement*>::const_iterator p_te1; + std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; + std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; + std::vector<TrigConf::HLTSignature*> dummylist; + std::vector<TrigConf::HLTSignature*>& siglist = dummylist; + + if (configChain) siglist = configChain->signatureList(); + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + // check RoI <-> rec matching + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg3; // YY changed from monalg -> monalg3 + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_ef ) { + dr_min_ef = dr; + id_min_ef = iEF; + last_step = 0; + + //get last step + //loop over TE + const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); + for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { + bool s = false; + + //loop over signature list + for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { + vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); + for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { + if ( (*p_te1)->getId() == + TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { + s = true; + break; } } - } - - // == an EF chain == - float dr_min_ef = 9999; - int id_min_ef = -1; - int last_step = -1; - wrtalg = "_MuComb"; - std::string monalg3 = "_EFmuon"; - - //const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails("EF_" + chainName); // sept25 - const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails(chainName); // sept25 - const TrigConf::HLTChain* configChain = 0; - if (chainDetail) { - configChain = chainDetail->getConfigChain(); - //lastStep = chainDetail->getChainStep(); - } - std::vector<const HLT::TriggerElement*>::const_iterator p_te1; - std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; - std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; - std::vector<TrigConf::HLTSignature*> dummylist; - std::vector<TrigConf::HLTSignature*>& siglist = dummylist; - - if (configChain) siglist = configChain->signatureList(); - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - // check RoI <-> rec matching - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg3; // YY changed from monalg -> monalg3 - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_ef ) { - dr_min_ef = dr; - id_min_ef = iEF; - last_step = 0; - - //get last step - //loop over TE - const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); - for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { - bool s = false; - - //loop over signature list - for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { - vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); - for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { - if ( (*p_te1)->getId() == - TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { - s = true; - break; - } - } - if (s) { - if ( (int) (*p_sig)->signature_counter() > last_step) - last_step = (int) (*p_sig)->signature_counter(); - break; - } - } - } - } + if (s) { + if ( (int) (*p_sig)->signature_counter() > last_step) + last_step = (int) (*p_sig)->signature_counter(); + break; } } - if( dr_min_ef < DR_CUT && id_min_ef >= 0) { - ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); - - if (EF_lower_passed) { - name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // repeating, with highPT range - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - float ef_cb_pt = 0.; - float ef_cb_eta = 0.; - float ef_cb_phi = 0.; - int ef_cb_mtype = 0; - float tmp_ef_cb_pt = 0.; - float tmp_ef_cb_eta = 0.; - float tmp_ef_cb_phi = 0.; - int tmp_ef_cb_mtype = 0; - - /* bool isPassed_chain = getTDT()->getChainGroup("EF_"+chainName)->isPassed(); */ - bool ef_active = combsHLT[id_min_ef].active(); - ATH_MSG_DEBUG("...comb active=" << ef_active ); - - std::vector< Feature<xAOD::MuonContainer> > efarr[2]; - efarr[0] = fHLT.get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...MuonEFInfo size=" << efarr[0].size() ); - efarr[1] = fHLT.get<xAOD::MuonContainer>("eMuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...eMuonEFInfo size=" << efarr[1].size() ); - float maxdr = 9999.; - for (int ief = 0; ief < 2; ief++) { - if( efarr[ief].size() >= 1 ) { - std::vector< Feature<xAOD::MuonContainer> > ef = efarr[ief]; - - ATH_MSG_DEBUG("...xAOD EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" CB ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_cb_trk; - ef_cb_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::CombinedTrackParticle); - - ef_cb_pt = (*iCont)->pt()/ CLHEP::GeV; - ef_cb_eta = (*iCont)->eta(); - ef_cb_phi = (*iCont)->phi(); - ef_cb_mtype = (*iCont)->muonType(); - if( ef_cb_trk){ - if( ef_cb_trk->pt() == 0.){ - ef_cb_pt = -1.; - ef_cb_eta = 0.; - ef_cb_phi = 0.; // YY - ef_cb_mtype = 0; - }else if( ef_cb_pt < fabs(ef_cb_trk->pt()) / CLHEP::GeV ){ - ef_cb_pt = fabs(ef_cb_trk->pt()) / CLHEP::GeV; - ef_cb_eta = ef_cb_trk->eta(); - ef_cb_phi = ef_cb_trk->phi(); // YY - ef_cb_mtype = (*iCont)->muonType(); - } - ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("CB track found for last_step " << last_step); - }else{ - ATH_MSG_DEBUG("No CB track found for last_step " << last_step); - } - float tmpdr = calc_dR(rec_eta,rec_phi,ef_cb_eta,ef_cb_phi); - if(tmpdr<maxdr){ - maxdr = tmpdr; - tmp_ef_cb_pt = ef_cb_pt ; - tmp_ef_cb_eta = ef_cb_eta ; - tmp_ef_cb_phi = ef_cb_phi ; - tmp_ef_cb_mtype = ef_cb_mtype ; - } - ef_cb_pt = tmp_ef_cb_pt ; - ef_cb_eta = tmp_ef_cb_eta ; - ef_cb_phi = tmp_ef_cb_phi ; - ef_cb_mtype = tmp_ef_cb_mtype ; - - ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); - } - } - } - } - } + } + } + } + } + if( dr_min_ef < DR_CUT && id_min_ef >= 0) { + ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + if (EF_lower_passed) { + name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // repeating, with highPT range + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - //CB pt/eta checks - if( ef_active ){ - //if( pt_cut ){} - if (EF_lower_passed) { - ATH_MSG_DEBUG("last step " << last_step ); - - name = HistchainName + monalg3 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - // 2D coverage hist - ATH_MSG_DEBUG( "Offline/EFCB pt" << rec_pt << ", " << ef_cb_pt ); - ATH_MSG_DEBUG( "Offline/EFCB eta" << rec_eta << ", " << ef_cb_eta ); - ATH_MSG_DEBUG( "Offline/EFCB phi" << rec_phi << ", " << ef_cb_phi ); - name = HistchainName + monalg3 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); - name = HistchainName + monalg3 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); - - if (ef_cb_mtype > 0 and ef_cb_mtype <= 3) { - // MuonType-dependent distribution histos, inclusive - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_pt_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_pt); - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_eta); - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_phi); - name = HistchainName + m_EFAlgName[3] + "_pt_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_pt); - name = HistchainName + m_EFAlgName[3] + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_eta); - name = HistchainName + m_EFAlgName[3] + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_phi); - } else { - ATH_MSG_DEBUG("ef_cb_mtype " << ef_cb_mtype); + float ef_cb_pt = 0.; + float ef_cb_eta = 0.; + float ef_cb_phi = 0.; + int ef_cb_mtype = 0; + float tmp_ef_cb_pt = 0.; + float tmp_ef_cb_eta = 0.; + float tmp_ef_cb_phi = 0.; + int tmp_ef_cb_mtype = 0; + /* bool isPassed_chain = getTDT()->getChainGroup("EF_"+chainName)->isPassed(); */ + bool ef_active = combsHLT[id_min_ef].active(); + ATH_MSG_DEBUG("...comb active=" << ef_active ); + + std::vector< Feature<xAOD::MuonContainer> > efarr[2]; + efarr[0] = fHLT.get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...MuonEFInfo size=" << efarr[0].size() ); + efarr[1] = fHLT.get<xAOD::MuonContainer>("eMuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...eMuonEFInfo size=" << efarr[1].size() ); + float maxdr = 9999.; + for (int ief = 0; ief < 2; ief++) { + if( efarr[ief].size() >= 1 ) { + std::vector< Feature<xAOD::MuonContainer> > ef = efarr[ief]; + + ATH_MSG_DEBUG("...xAOD EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" CB ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_cb_trk; + ef_cb_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::CombinedTrackParticle); + + ef_cb_pt = (*iCont)->pt()/ CLHEP::GeV; + ef_cb_eta = (*iCont)->eta(); + ef_cb_phi = (*iCont)->phi(); + ef_cb_mtype = (*iCont)->muonType(); + if( ef_cb_trk){ + if( ef_cb_trk->pt() == 0.){ + ef_cb_pt = -1.; + ef_cb_eta = 0.; + ef_cb_phi = 0.; // YY + ef_cb_mtype = 0; + }else if( ef_cb_pt < fabs(ef_cb_trk->pt()) / CLHEP::GeV ){ + ef_cb_pt = fabs(ef_cb_trk->pt()) / CLHEP::GeV; + ef_cb_eta = ef_cb_trk->eta(); + ef_cb_phi = ef_cb_trk->phi(); // YY + ef_cb_mtype = (*iCont)->muonType(); } - - // stat info on MuonType - name = HistchainName + "_EFMuonType_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(float(ef_cb_mtype)); - + ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("CB track found for last_step " << last_step); + }else{ + ATH_MSG_DEBUG("No CB track found for last_step " << last_step); } - - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("last step " << last_step ); - name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + float tmpdr = calc_dR(rec_eta,rec_phi,ef_cb_eta,ef_cb_phi); + if(tmpdr<maxdr){ + maxdr = tmpdr; + tmp_ef_cb_pt = ef_cb_pt ; + tmp_ef_cb_eta = ef_cb_eta ; + tmp_ef_cb_phi = ef_cb_phi ; + tmp_ef_cb_mtype = ef_cb_mtype ; } + ef_cb_pt = tmp_ef_cb_pt ; + ef_cb_eta = tmp_ef_cb_eta ; + ef_cb_phi = tmp_ef_cb_phi ; + ef_cb_mtype = tmp_ef_cb_mtype ; - }else{ - ATH_MSG_DEBUG("not active last step " << last_step ); + ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); } - - } - - } // end of CB loop - - // - return retval; + } } - - - - StatusCode HLTMuonMonTool::procChainDQA() - { - ATH_MSG_DEBUG("procChainDQA"); - - StatusCode retval = StatusCode::SUCCESS; - - // YY: 25.05.10 to clear m_checked: - retval.getCode(); - - procTriggerOverlap(); - - std::vector<std::string>::const_iterator it; - for(it=m_histChainMSonly.begin(); it != m_histChainMSonly.end() ; it++ ){ - StatusCode sc = procChainDQA_MSonly(*it); - if(sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_MSonly failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + } + //CB pt/eta checks + if( ef_active ){ + //if( pt_cut ){} + if (EF_lower_passed) { + ATH_MSG_DEBUG("last step " << last_step ); + + name = HistchainName + monalg3 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - - for(it=m_histChainEFFS.begin(); it != m_histChainEFFS.end() ; it++ ){ - StatusCode sc = procChainDQA_standard(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_standard failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + // Barrel/Endcap + name = HistchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - - for(it=m_histChainGeneric.begin(); it != m_histChainGeneric.end() ; it++ ){ - StatusCode sc = procChainDQA_generic(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + // 2D coverage hist + ATH_MSG_DEBUG( "Offline/EFCB pt" << rec_pt << ", " << ef_cb_pt ); + ATH_MSG_DEBUG( "Offline/EFCB eta" << rec_eta << ", " << ef_cb_eta ); + ATH_MSG_DEBUG( "Offline/EFCB phi" << rec_phi << ", " << ef_cb_phi ); + name = HistchainName + monalg3 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); + name = HistchainName + monalg3 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); + + if (ef_cb_mtype > 0 and ef_cb_mtype <= 3) { + // MuonType-dependent distribution histos, inclusive + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_pt_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_pt); + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_eta); + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_phi); + name = HistchainName + m_EFAlgName[3] + "_pt_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_pt); + name = HistchainName + m_EFAlgName[3] + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_eta); + name = HistchainName + m_EFAlgName[3] + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_phi); + } else { + ATH_MSG_DEBUG("ef_cb_mtype " << ef_cb_mtype); } + // stat info on MuonType + name = HistchainName + "_EFMuonType_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(float(ef_cb_mtype)); - for(it=m_histChainEFiso.begin(); it != m_histChainEFiso.end() ; it++ ){ - StatusCode sc = procChainDQA_generic(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } - + } - StatusCode sc = procChainDQA_HighPt(); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_HighPt failed"); - retval = StatusCode::RECOVERABLE; + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("last step " << last_step ); + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } + } + }else{ + ATH_MSG_DEBUG("not active last step " << last_step ); + } - if(endOfRunFlag()){ - //triggers/event - for(std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - std::string name1 = "Number_Of_"+ it->second + "_Passed_Events" ; - std::string name2 = it->second + "_Triggers_Per_Event" ; + } - //hist( name2, m_histdirrateratio ) -> Divide ( hist(name1, m_histdirrate), hist("Number_Of_Events", m_histdirrate)); + } // end of CB loop - } - } + // + return retval; +} +StatusCode HLTMuonMonTool::procChainDQA() +{ + ATH_MSG_DEBUG("procChainDQA"); - return retval; - } + StatusCode retval = StatusCode::SUCCESS; - StatusCode HLTMuonMonTool::procChainDQA_MSonly(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_MSonly"); - - std::string denom; - std::string numer; - std::string effi; - - if( endOfRunFlag() ){ - - std::string monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; - - std::string wrtalg[3]={"_L1", "_MuFast", "_MuFast"}; - std::string bestr[2] = {"_Barrel", "_Endcap"}; - - //wrt SA muon && Upstream trigger - for( int alg = 0 ; alg < 3 ;alg ++ ){ - denom = chainName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - // Uncommented by YY 12.04.10 - - if (true) { // all - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - int ibintmp = iMuFast; - ibin_holx = ibintmp; - } else if (2 == alg) { - int ibintmp = iEFSA; - ibin_holx = ibintmp; - } + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - if (ibin_holx >= 0) { - std::string s = chainName + "_highpt_effsummary_by" + m_vectkwd.at(4); - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } - } + procTriggerOverlap(); - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - // for ES ------------------------------------------------------------------------------------ - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - - if (0 == alg) { - // L1 efficiency: new for 2011 HI runs and afterward - // only division once since it is "the zero-th" algorithm - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidSA"; - // Need to implement barrel and endcap ... - for (int be = 0; be < 2; be++) { - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; - } - } + std::vector<std::string>::const_iterator it; + for(it=m_histChainMSonly.begin(); it != m_histChainMSonly.end() ; it++ ){ + StatusCode sc = procChainDQA_MSonly(*it); + if(sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_MSonly failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; - - // MSonly summary: viewed only by EStag sample - if (ESTAG == i || ESINDEP == i) { - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - int tmp_idx = iMuFast; - ibin_holx = tmp_idx; - } else if (2 == alg) { - int tmp_idx = iEFSA; - ibin_holx = tmp_idx; - } + for(it=m_histChainEFFS.begin(); it != m_histChainEFFS.end() ; it++ ){ + StatusCode sc = procChainDQA_standard(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_standard failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } + for(it=m_histChainGeneric.begin(); it != m_histChainGeneric.end() ; it++ ){ + StatusCode sc = procChainDQA_generic(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - if (ibin_holx >= 0) { - std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } - } - denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - } - // for ES : END ------------------------------------------------------------------------------ + for(it=m_histChainEFiso.begin(); it != m_histChainEFiso.end() ; it++ ){ + StatusCode sc = procChainDQA_generic(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - if (0 == alg || 2 == alg) { // Barrel/Endcap - for (int be = 0; be < 2; be++) { - denom = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + StatusCode sc = procChainDQA_HighPt(); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_HighPt failed"); + retval = StatusCode::RECOVERABLE; + } + if(endOfRunFlag()){ + //triggers/event + for(std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - // Uncommented by YY 12.04.10 + std::string name1 = "Number_Of_"+ it->second + "_Passed_Events" ; + std::string name2 = it->second + "_Triggers_Per_Event" ; - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + //hist( name2, m_histdirrateratio ) -> Divide ( hist(name1, m_histdirrate), hist("Number_Of_Events", m_histdirrate)); - } - } + } + } - } + return retval; +} - for (int ialg = 0; ialg < 3; ialg++) { - denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; - numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; - // ATH_MSG_INFO("denom " << denom << " numer " << numer); - TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); - TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); - refill_2d1d_coarse(h2d, h1d); - } +StatusCode HLTMuonMonTool::procChainDQA_MSonly(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_MSonly"); - } else if( endOfLumiBlockFlag() ){ - } + std::string denom; + std::string numer; + std::string effi; - return StatusCode::SUCCESS; - } + if( endOfRunFlag() ){ - StatusCode HLTMuonMonTool::procChainDQA_standard(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_standard"); + std::string monalg[3]={"_L2MuonSA", "_MuonEFMS", "_MuonEFSA"}; + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_L2MuonSA"}; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::string denom; - std::string numer; - std::string effi; - - int iSTDL = 39; - int iSTDH = 120; - if(!m_HI_pp_mode){ - iSTDL = 17; - iSTDH = 75; - }else{ - iSTDL = 39; - iSTDH = 120; - } + for( int alg = 0 ; alg < 3 ;alg ++ ){ + denom = chainName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + // Uncommented by YY 12.04.10 + + if (true) { // all + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + int ibintmp = iL2MuonSA; + ibin_holx = ibintmp; + } else if (2 == alg) { + int ibintmp = iEFSA; + ibin_holx = ibintmp; + } - if( endOfRunFlag() ){ + if (ibin_holx >= 0) { + std::string s = chainName + "_highpt_effsummary_by" + m_vectkwd.at(4); + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } + } + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + // for ES ------------------------------------------------------------------------------------ + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; - // add by Yuan : to book the histogram // - if(chainName.find("EFFS")!= string::npos){ + if (0 == alg) { + // L1 efficiency: new for 2011 HI runs and afterward + // only division once since it is "the zero-th" algorithm + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidSA"; + // Need to implement barrel and endcap ... + for (int be = 0; be < 2; be++) { + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; + } + } - std::string bestr[2] = {"_Barrel", "_Endcap"}; + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; + + // MSonly summary: viewed only by EStag sample + if (ESTAG == i || ESINDEP == i) { + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + int tmp_idx = iL2MuonSA; + ibin_holx = tmp_idx; + } else if (2 == alg) { + int tmp_idx = iEFSA; + ibin_holx = tmp_idx; + } - denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + if (ibin_holx >= 0) { + std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } + } - numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + } + // for ES : END ------------------------------------------------------------------------------ - effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; + if (0 == alg || 2 == alg) { // Barrel/Endcap + for (int be = 0; be < 2; be++) { + denom = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - for (int be =0; be<2; be++){ + // Uncommented by YY 12.04.10 - denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Denominator"; + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Numerator"; + } + } - effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be]; + } - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - std::string s = chainName + "_EFplateau_wrtOffline" ; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(be+1, sumeff); - hist(s, m_histdireff)->SetBinError(be+1, sumerr); + for (int ialg = 0; ialg < 3; ialg++) { + denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; + numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; + // ATH_MSG_INFO("denom " << denom << " numer " << numer); + TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); + TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); + refill_2d1d_coarse(h2d, h1d); + } + } else if( endOfLumiBlockFlag() ){ + } + return StatusCode::SUCCESS; +} +StatusCode HLTMuonMonTool::procChainDQA_standard(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_standard"); - } + std::string denom; + std::string numer; + std::string effi; + + int iSTDL = 39; + int iSTDH = 120; + if(!m_HI_pp_mode){ + iSTDL = 17; + iSTDH = 75; + }else{ + iSTDL = 75;//25GeV + iSTDH = 120; + } - denom = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + if( endOfRunFlag() ){ + } + // add by Yuan : to book the histogram // + if(chainName.find("EFFS")!= string::npos){ - numer = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - effi = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - denom = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - numer = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; - effi = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB"; + for (int be =0; be<2; be++){ - denom = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Numerator"; - effi = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be]; - std::string mu_range_names[3] = {"_mu0_15", "_mu15_20","_mu20"}; + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + std::string s = chainName + "_EFplateau_wrtOffline" ; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(be+1, sumeff); + hist(s, m_histdireff)->SetBinError(be+1, sumerr); - for (int mu_range =0; mu_range<3; mu_range++){ - denom = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; + } - numer = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + denom = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - effi = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" ; + numer = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - std::string s = chainName + "_EFplateau_wrtOffline_mu_dependence" ; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(mu_range+1, sumeff); - hist(s, m_histdireff)->SetBinError(mu_range+1, sumerr); + effi = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB"; - } + denom = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + numer = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - denom = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + effi = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB"; - numer = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; + denom = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - effi = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB"; + numer = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + effi = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB"; - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; + std::string mu_range_names[3] = {"_mu0_15", "_mu15_20","_mu20"}; + for (int mu_range =0; mu_range<3; mu_range++){ - effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; + numer = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; + effi = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" ; - effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB"; + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + std::string s = chainName + "_EFplateau_wrtOffline_mu_dependence" ; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(mu_range+1, sumeff); + hist(s, m_histdireff)->SetBinError(mu_range+1, sumerr); - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + } - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - effi = "EFFSpre_dimuonTP_L1_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + numer = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; - } + effi = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB"; - } else if( endOfLumiBlockFlag() ){ - } - return StatusCode::SUCCESS; - //*****************************************// - } + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; - StatusCode HLTMuonMonTool::procChainDQA_generic(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_generic"); - - std::string denom; - std::string numer; - std::string effi; - - if( endOfRunFlag() ){ - std::string monalg[3]={"_MuFast", "_MuComb", "_EFmuon"}; - - std::string wrtalg[3]={"_L1", "_MuFast", "_MuComb"}; - std::string bestr[2] = {"_Barrel", "_Endcap"}; - - //wrt CB muon && Upstream trigger - for( int alg = 0 ; alg < 3 ; alg++ ){ - denom = chainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - // for ES ------------------------------------------------------------------------------------ - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - - if (0 == alg) { - // L1 efficiency: new for 2011 HI runs and afterward - // only division once since it is "the zero-th" algorithm - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidCB"; - // Need to implement barrel and endcap ... - for (int be = 0; be < 2; be++) { - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; - - if (ESINDEP == i) { - // integrating over and fill in a summary histogram - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 30-50 GeV - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - - std::string s = chainName + "_L1plateau_wrtOffline_by_ESindep"; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(be+1, sumeff); - hist(s, m_histdireff)->SetBinError(be+1, sumerr); - } - } - } + effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB"; - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - // Summary ESid and ESindep - if (0 == alg || 1 == alg || 2 == alg) { - // if (ESID == i || ESINDEP == i) { - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 40 - 100 GeV - sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - ibin_holx = iMuFast; - } else if (1 == alg) { - ibin_holx = iMuComb; - } else if (2 == alg) { - ibin_holx = iEFCB; - } + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; - denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB"; - } - // for ES : END ------------------------------------------------------------------------------ + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; - // Barrel/Endcap - if (0 == alg || 1 == alg || 2 == alg) { - for (int be = 0; be < 2; be++) { - denom = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - } + effi = "EFFSpre_dimuonTP_L1_Turn_On_Curve_wrt_probe_MuidCB"; - for (int be = 0; be < 2; be++) { - denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; - } + } + return StatusCode::SUCCESS; +//*****************************************// +} - for (int be = 0; be < 2; be++) { - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - } +StatusCode HLTMuonMonTool::procChainDQA_generic(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_generic"); - for (int be = 0; be < 2; be++) { - denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - } + std::string denom; + std::string numer; + std::string effi; - } + if( endOfRunFlag() ){ + std::string monalg[3]={"_L2MuonSA", "_MuComb", "_EFmuon"}; - } - for (int ialg = 0; ialg < 3; ialg++) { - denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; - numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; - // ATH_MSG_INFO("denom " << denom << " numer " << numer); - TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); - TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); - refill_2d1d_coarse(h2d, h1d); - } - } else if( endOfLumiBlockFlag() ){ - } + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_MuComb"}; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - return StatusCode::SUCCESS; - } + //wrt CB muon && Upstream trigger + for( int alg = 0 ; alg < 3 ; alg++ ){ + denom = chainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; + denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - StatusCode HLTMuonMonTool::procChainDQA_HighPt() - { - // YY 2e33 - // std::string charr[4] = {"mu20", "mu20_MG", "mu15i", "mu40_MSonly_barrel"}; - // std::string charr[4] = {"mu22_medium", "mu22_MG_medium", "mu20i_medium", "mu40_MSonly_barrel_medium"}; - // std::string monarr[4] = {"_MuonEFCB", "_MuGirlEF", "_MuonEFCB", "_MuonEFSA"}; - // std::string monL2arr[4] = {"_MuFast", "_MuGirlL2", "_MuIso", "_MuFast"}; - // pp_v4 - - int MAXARR = 0; - std::vector<std::string> charr; - std::vector<std::string> monarr; - std::vector<std::string> monL2arr; - std::vector<bool> isBarrelMon; - std::vector<bool> isMSbMon; - std::vector<bool> monL1; - std::vector<bool> isefIsolation; - for(unsigned int ich = 0; ich < m_chainsGeneric.size(); ich++){ - MAXARR++; - charr.push_back("muChain"+std::to_string(ich+1)); - monarr.push_back("_EFmuon"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(false); - isMSbMon.push_back(true); - monL1.push_back(true); - isefIsolation.push_back(false); - } - for(unsigned int ich = 0; ich < m_chainsEFiso.size(); ich++){ - MAXARR++; - charr.push_back("muChainEFiso"+std::to_string(ich+1)); - monarr.push_back("_EFmuon"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(false); - isMSbMon.push_back(false); - monL1.push_back(true); - isefIsolation.push_back(true); - } - for(unsigned int ich = 0; ich < m_chainsMSonly.size(); ich++){ - MAXARR++; - charr.push_back("muChainMSonly"+std::to_string(ich+1)); - monarr.push_back("_MuonEFSA"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(true); - isMSbMon.push_back(false); - monL1.push_back(false); - isefIsolation.push_back(false); - } + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - // const int MAXARR = 3; - // std::string charr[MAXARR] = {"mu36_tight", "mu24i_tight", "mu50_MSonly_barrel_tight"}; - // std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_MuonEFSA"}; - // std::string monL2arr[MAXARR] = {"_MuFast", "_MuFast", "_MuFast"}; - // bool isBarrelMon[MAXARR] = {false, false, true}; // enable MSonly - // bool isMSbMon[MAXARR] = {true, false, false}; // Skip isol and MSonly - // bool monL1[MAXARR] = {true, true, false}; // Skip MSonly - // bool isefIsolation[MAXARR] = {false, true, false}; // EF isolation add by Yuan - - // YY: dirty fix, should improve by get configuration from Python, but for M4 ... - // if (1) { - // return StatusCode::SUCCESS; - // } - - if (endOfRunFlag()) { - for (int ialg = 0; ialg < MAXARR; ialg++) { - std::string chainName = charr[ialg]; - std::string MoniAlg = monarr[ialg]; - std::string MoniL2Alg = monL2arr[ialg]; - - /* 1. Picking up ztp graph */ - std::string hdirztp = "HLT/MuonMon/MuZTP/" + chainName; - std::string histZtpNum, histZtpDen; - if (!isBarrelMon[ialg]) { - histZtpNum = "muZTP_Pt_4bins_EFfired_" + chainName; - histZtpDen = "muZTP_Pt_4bins_L1fired_" + chainName; - } else { - // make sure you rewrite POSTPROSESSOR !!!!! - histZtpNum = "muZTP_Pt_B_4bins_EFfired_" + chainName; - histZtpDen = "muZTP_Pt_B_4bins_L1fired_" + chainName; - } - if(isefIsolation[ialg]) histZtpNum = "muZTP_Pt_4bins_EFIsofired_" + chainName; // add by Yuan - - /* 2. Filling summary histogram from ZTP values */ - std::string sumhist = chainName + "_highpt3bins_effwrtL1"; - for (int ibin = 2; ibin <= 3; ibin++) { - // at the moment it is not correct if we run the algorithm # 4: mu40_MSonly_barrel . - double sumeff, sumerr; - double sumn = hist(histZtpNum, hdirztp)->Integral(ibin, ibin); - if(isBarrelMon[ialg] || isMSbMon[ialg]) sumn = hist(histZtpNum, hdirztp)->Integral(ibin+1, ibin+1); - double sumd = hist(histZtpDen, hdirztp)->Integral(ibin, ibin); - if(isBarrelMon[ialg] || isMSbMon[ialg]) sumd = hist(histZtpDen, hdirztp)->Integral(ibin+1, ibin+1); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(ibin-1, sumeff); - hist(sumhist, m_histdireff)->SetBinError(ibin-1, sumerr); - } + + // for ES ------------------------------------------------------------------------------------ + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; - /* 3. Picking up chainDQ MSonly graph abandoned!!! */ - /* EF efficiency wrt L1, as for the ztp graph = overall HLT efficiency wrt L1: not possible, wrt offline - if (isMSbMon[ialg]) { // skip muIso and MSonly !!! - std::string histChNum = chainName + m_MSchainName + MoniAlg + "_Turn_On_Curve_Numerator"; - // std::string histChDen = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - std::string histChDen = chainName + m_MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator"; - - // Integrate 100-300 GeV - double sumeff, sumerr; - double sumn = hist(histChNum, m_histdireffnumdenom)->Integral(21, 28); - double sumd = hist(histChDen, m_histdireffnumdenom)->Integral(21, 28); - if (sumd == 0.) { + if (0 == alg) { + // L1 efficiency: new for 2011 HI runs and afterward + // only division once since it is "the zero-th" algorithm + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidCB"; + // Need to implement barrel and endcap ... + for (int be = 0; be < 2; be++) { + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + + if (ESINDEP == i) { + // integrating over and fill in a summary histogram + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 30-50 GeV + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); + if (sumd == 0.) { sumeff = 0.; sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; + } else { + sumeff = (double)sumn / (double)sumd; sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(3, sumeff); - hist(sumhist, m_histdireff)->SetBinError(3, sumerr); - } - */ - - // 4. Fill L1 summary histograms // to be put in the postprocessor!! - if (monL1[ialg]) { // MUST skip muGirl, muIso and MSonly as histograms are not defined!!! - hdirztp = "HLT/MuonMon/MuZTP/" + chainName; - std::string histZtpNumB = "muZTP_Pt_B_L1fired_" + chainName; - std::string histZtpDenB = "muZTP_Pt_B_" + chainName; - std::string histZtpNumE = "muZTP_Pt_EC_L1fired_" + chainName; - std::string histZtpDenE = "muZTP_Pt_EC_" + chainName; - sumhist = chainName + "_highptL1plateau_wrtOffline"; - - double sumeff, sumerr; - double sumn = 0; - double sumd = 0; - if( !m_HI_pp_mode){ - sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 30-50 GeV - sumd = hist(histZtpDenB, hdirztp)->Integral(13, 25); - - }else{ - sumn = hist(histZtpNumB, hdirztp)->Integral(7, 10); // 30-50 GeV - sumd = hist(histZtpDenB, hdirztp)->Integral(7, 10); - } - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(1, sumeff); - hist(sumhist, m_histdireff)->SetBinError(1, sumerr); - - if( !m_HI_pp_mode){ - sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 12-25 GeV - //sumn = hist(histZtpNumB, hdirztp)->Integral(16, 25); // 15-25 GeV - sumn = hist(histZtpDenB, hdirztp)->Integral(13, 25); - //sumn = hist(histZtpDenB, hdirztp)->Integral(16, 25); - }else{ - sumn = hist(histZtpNumE, hdirztp)->Integral(7, 10); - sumd = hist(histZtpDenE, hdirztp)->Integral(7, 10); - } - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(2, sumeff); - hist(sumhist, m_histdireff)->SetBinError(2, sumerr); - - } } - } else if (endOfLumiBlockFlag()) { + std::string s = chainName + "_L1plateau_wrtOffline_by_ESindep"; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(be+1, sumeff); + hist(s, m_histdireff)->SetBinError(be+1, sumerr); } - return StatusCode::SUCCESS; + } + } + + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; + // Summary ESid and ESindep + if (0 == alg || 1 == alg || 2 == alg) { + // if (ESID == i || ESINDEP == i) { + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 40 - 100 GeV + sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + ibin_holx = iL2MuonSA; + } else if (1 == alg) { + ibin_holx = iMuComb; + } else if (2 == alg) { + ibin_holx = iEFCB; } + std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } - double HLTMuonMonTool::calc_dphi(double phi_i, double phi_j) - { - double dphi = fabs(phi_i - phi_j); - if( dphi > CLHEP::pi ) dphi = CLHEP::pi*2 - dphi; - return dphi; - } + denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - double HLTMuonMonTool::calc_dR(double eta_i, double phi_i, double eta_j, double phi_j) - { - double deta = eta_i - eta_j; - double dphi = calc_dphi(phi_i, phi_j); - double dR = pow( (deta*deta + dphi*dphi), 0.5 ); - return dR; - } + } + // for ES : END ------------------------------------------------------------------------------ + + // Barrel/Endcap + if (0 == alg || 1 == alg || 2 == alg) { + for (int be = 0; be < 2; be++) { + denom = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + + } - bool HLTMuonMonTool::checkOfflineSAdR() - { - for(int i_rec1=0; i_rec1<(int)m_RecMuonSA_pt.size(); i_rec1++) { + for (int be = 0; be < 2; be++) { + denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + } - float eta1 = m_RecMuonSA_eta[i_rec1]; - float phi1 = m_RecMuonSA_phi[i_rec1]; + for (int be = 0; be < 2; be++) { + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + } - for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonSA_pt.size(); i_rec2++) { + for (int be = 0; be < 2; be++) { + denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + } - float eta2 = m_RecMuonSA_eta[i_rec2]; - float phi2 = m_RecMuonSA_phi[i_rec2]; + } - float dr = calc_dR(eta1, phi1, eta2, phi2); + } + for (int ialg = 0; ialg < 3; ialg++) { + denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; + numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; + // ATH_MSG_INFO("denom " << denom << " numer " << numer); + TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); + TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); + refill_2d1d_coarse(h2d, h1d); + } + } else if(endOfLumiBlockFlag() ){ + } - if(dr < 0.8 ){ - //ATH_MSG_INFO("checkOfflineSAdR:" << dr); - return false; - } - } - } - return true; - } + return StatusCode::SUCCESS; +} +StatusCode HLTMuonMonTool::procChainDQA_HighPt() +{ + // YY 2e33 + // std::string charr[4] = {"mu20", "mu20_MG", "mu15i", "mu40_MSonly_barrel"}; + // std::string charr[4] = {"mu22_medium", "mu22_MG_medium", "mu20i_medium", "mu40_MSonly_barrel_medium"}; + // std::string monarr[4] = {"_MuonEFCB", "_MuGirlEF", "_MuonEFCB", "_MuonEFSA"}; + // std::string monL2arr[4] = {"_L2MuonSA", "_MuGirlL2", "_MuIso", "_L2MuonSA"}; + // pp_v4 + + int MAXARR = 0; + std::vector<std::string> charr; + std::vector<std::string> monarr; + std::vector<std::string> monL2arr; + std::vector<bool> isBarrelMon; + std::vector<bool> isMSbMon; + std::vector<bool> monL1; + std::vector<bool> isefIsolation; + for(unsigned int ich = 0; ich < m_chainsGeneric.size(); ich++){ + MAXARR++; + charr.push_back("muChain"+std::to_string(ich+1)); + monarr.push_back("_EFmuon"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(false); + isMSbMon.push_back(true); + monL1.push_back(true); + isefIsolation.push_back(false); + } + for(unsigned int ich = 0; ich < m_chainsEFiso.size(); ich++){ + MAXARR++; + charr.push_back("muChainEFiso"+std::to_string(ich+1)); + monarr.push_back("_EFmuon"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(false); + isMSbMon.push_back(false); + monL1.push_back(true); + isefIsolation.push_back(true); + } + for(unsigned int ich = 0; ich < m_chainsMSonly.size(); ich++){ + MAXARR++; + charr.push_back("muChainMSonly"+std::to_string(ich+1)); + monarr.push_back("_MuonEFSA"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(true); + isMSbMon.push_back(false); + monL1.push_back(false); + isefIsolation.push_back(false); + } + + // const int MAXARR = 3; + // std::string charr[MAXARR] = {"mu36_tight", "mu24i_tight", "mu50_MSonly_barrel_tight"}; + // std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_MuonEFSA"}; + // std::string monL2arr[MAXARR] = {"_L2MuonSA", "_L2MuonSA", "_L2MuonSA"}; + // bool isBarrelMon[MAXARR] = {false, false, true}; // enable MSonly + // bool isMSbMon[MAXARR] = {true, false, false}; // Skip isol and MSonly + // bool monL1[MAXARR] = {true, true, false}; // Skip MSonly + // bool isefIsolation[MAXARR] = {false, true, false}; // EF isolation add by Yuan + + // YY: dirty fix, should improve by get configuration from Python, but for M4 ... + // if (1) { + // return StatusCode::SUCCESS; + // } + + if (endOfRunFlag()) { + for (int ialg = 0; ialg < MAXARR; ialg++) { + std::string chainName = charr[ialg]; + std::string MoniAlg = monarr[ialg]; + std::string MoniL2Alg = monL2arr[ialg]; + + /* 1. Picking up ztp graph */ + std::string hdirztp = "HLT/MuonMon/MuZTP/" + chainName; + std::string histZtpNum, histZtpDen; + if (!isBarrelMon[ialg]) { + histZtpNum = "muZTP_Pt_4bins_EFfired_" + chainName; + histZtpDen = "muZTP_Pt_4bins_L1fired_" + chainName; + } else { + // make sure you rewrite POSTPROSESSOR !!!!! + histZtpNum = "muZTP_Pt_B_4bins_EFfired_" + chainName; + histZtpDen = "muZTP_Pt_B_4bins_L1fired_" + chainName; + } + if(isefIsolation[ialg]) histZtpNum = "muZTP_Pt_4bins_EFIsofired_" + chainName; // add by Yuan + + /* 2. Filling summary histogram from ZTP values */ + std::string sumhist = chainName + "_highpt3bins_effwrtL1"; + for (int ibin = 2; ibin <= 3; ibin++) { + // at the moment it is not correct if we run the algorithm # 4: mu40_MSonly_barrel . + double sumeff, sumerr; + double sumn = hist(histZtpNum, hdirztp)->Integral(ibin, ibin); + if(isBarrelMon[ialg] || isMSbMon[ialg]) sumn = hist(histZtpNum, hdirztp)->Integral(ibin+1, ibin+1); + double sumd = hist(histZtpDen, hdirztp)->Integral(ibin, ibin); + if(isBarrelMon[ialg] || isMSbMon[ialg]) sumd = hist(histZtpDen, hdirztp)->Integral(ibin+1, ibin+1); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(ibin-1, sumeff); + hist(sumhist, m_histdireff)->SetBinError(ibin-1, sumerr); + } + + /* 3. Picking up chainDQ MSonly graph abandoned!!! */ + /* EF efficiency wrt L1, as for the ztp graph = overall HLT efficiency wrt L1: not possible, wrt offline + if (isMSbMon[ialg]) { // skip muIso and MSonly !!! + std::string histChNum = chainName + m_MSchainName + MoniAlg + "_Turn_On_Curve_Numerator"; + // std::string histChDen = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + std::string histChDen = chainName + m_MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator"; + + // Integrate 100-300 GeV + double sumeff, sumerr; + double sumn = hist(histChNum, m_histdireffnumdenom)->Integral(21, 28); + double sumd = hist(histChDen, m_histdireffnumdenom)->Integral(21, 28); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(3, sumeff); + hist(sumhist, m_histdireff)->SetBinError(3, sumerr); + } + */ + // 4. Fill L1 summary histograms // to be put in the postprocessor!! + if (monL1[ialg]) { // MUST skip muGirl, muIso and MSonly as histograms are not defined!!! + hdirztp = "HLT/MuonMon/MuZTP/" + chainName; + std::string histZtpNumB = "muZTP_Pt_B_L1fired_" + chainName; + std::string histZtpDenB = "muZTP_Pt_B_" + chainName; + std::string histZtpNumE = "muZTP_Pt_EC_L1fired_" + chainName; + std::string histZtpDenE = "muZTP_Pt_EC_" + chainName; + sumhist = chainName + "_highptL1plateau_wrtOffline"; + + double sumeff, sumerr; + double sumn = 0; + double sumd = 0; + if( !m_HI_pp_mode){ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 30-50 GeV + sumd = hist(histZtpDenB, hdirztp)->Integral(13, 25); + + }else{ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 20); // 60-100 GeV + //sumn = hist(histZtpNumB, hdirztp)->Integral(7, 10); // 30-50 GeV + sumd = hist(histZtpDenB, hdirztp)->Integral(13, 20); + //sumd = hist(histZtpDenB, hdirztp)->Integral(7, 10); + } + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(1, sumeff); + hist(sumhist, m_histdireff)->SetBinError(1, sumerr); + + if( !m_HI_pp_mode){ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 12-25 GeV + //sumn = hist(histZtpNumB, hdirztp)->Integral(16, 25); // 15-25 GeV + sumn = hist(histZtpDenB, hdirztp)->Integral(13, 25); + //sumn = hist(histZtpDenB, hdirztp)->Integral(16, 25); + }else{ + //sumn = hist(histZtpNumE, hdirztp)->Integral(7, 10); + sumn = hist(histZtpNumE, hdirztp)->Integral(13, 20); + sumd = hist(histZtpDenE, hdirztp)->Integral(13, 20); + //sumd = hist(histZtpDenE, hdirztp)->Integral(7, 10); + } + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(2, sumeff); + hist(sumhist, m_histdireff)->SetBinError(2, sumerr); + + } + } + } + return StatusCode::SUCCESS; +} - bool HLTMuonMonTool::checkOfflineCBdR() - { +double HLTMuonMonTool::calc_dphi(double phi_i, double phi_j) +{ + double dphi = fabs(phi_i - phi_j); + if( dphi > CLHEP::pi ) dphi = CLHEP::pi*2 - dphi; + return dphi; +} - for(int i_rec1=0; i_rec1<(int)m_RecMuonCB_pt.size(); i_rec1++) { +double HLTMuonMonTool::calc_dR(double eta_i, double phi_i, double eta_j, double phi_j) +{ + double deta = eta_i - eta_j; + double dphi = calc_dphi(phi_i, phi_j); + double dR = pow( (deta*deta + dphi*dphi), 0.5 ); + return dR; +} - float eta1 = m_RecMuonCB_eta[i_rec1]; - float phi1 = m_RecMuonCB_phi[i_rec1]; +bool HLTMuonMonTool::checkOfflineSAdR() +{ - for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonCB_pt.size(); i_rec2++) { + for(int i_rec1=0; i_rec1<(int)m_RecMuonSA_pt.size(); i_rec1++) { - float eta2 = m_RecMuonCB_eta[i_rec2]; - float phi2 = m_RecMuonCB_phi[i_rec2]; + float eta1 = m_RecMuonSA_eta[i_rec1]; + float phi1 = m_RecMuonSA_phi[i_rec1]; - float dr = calc_dR(eta1, phi1, eta2, phi2); + for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonSA_pt.size(); i_rec2++) { - if(dr < 0.8 ){ - //ATH_MSG_INFO("checkOfflineCBdR:" << dr); - return false; - } - } - } - return true; - } + float eta2 = m_RecMuonSA_eta[i_rec2]; + float phi2 = m_RecMuonSA_phi[i_rec2]; + float dr = calc_dR(eta1, phi1, eta2, phi2); + if(dr < 0.8 ){ + //ATH_MSG_INFO("checkOfflineSAdR:" << dr); + return false; + } + } + } + return true; +} - StatusCode HLTMuonMonTool::fillRecMuon() - { - ATH_MSG_DEBUG("entering fillRecMuon"); +bool HLTMuonMonTool::checkOfflineCBdR() +{ - int nOFL=0; - int nOFLMS=0; - int nOFLSA=0; - int nOFLCB=0; - int nOFLLPT=0; + for(int i_rec1=0; i_rec1<(int)m_RecMuonCB_pt.size(); i_rec1++) { - m_RecMuonSA_pt.clear(); - m_RecMuonSA_eta.clear(); - m_RecMuonSA_phi.clear(); - m_RecMuonSA_d0.clear(); - m_RecMuonSA_z0.clear(); - m_RecMuonSA_charge.clear(); - m_RecMuonSA_hasCB.clear(); - m_RecMuonSA_isGoodCB.clear(); + float eta1 = m_RecMuonCB_eta[i_rec1]; + float phi1 = m_RecMuonCB_phi[i_rec1]; - m_RecMuonCB_pt.clear(); - m_RecMuonCB_eta.clear(); - m_RecMuonCB_phi.clear(); - m_RecMuonCB_charge.clear(); - m_RecMuonCB_isGoodCB.clear(); - m_RecMuonCB_eloss.clear(); //for muIso - m_RecMuonCB_etcone.clear(); //for muIso - m_RecMuonCB_ptcone.clear(); //for muIso - m_RecMuonCB_ptcone30.clear(); //for muIso tomoe added - m_RecMuonCB_etcone30.clear(); //for muIso tomoe added + for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonCB_pt.size(); i_rec2++) { + float eta2 = m_RecMuonCB_eta[i_rec2]; + float phi2 = m_RecMuonCB_phi[i_rec2]; - //const Analysis::MuonContainer* muonCont; - const xAOD::MuonContainer* muonCont; + float dr = calc_dR(eta1, phi1, eta2, phi2); - std::string muonKey = "Muons"; // MuidMuonCollection + if(dr < 0.8 ){ + return false; + } + } + } + return true; +} - StatusCode sc = evtStore()->retrieve(muonCont, muonKey); - if(sc.isFailure()){ - ATH_MSG_WARNING("Container of muon particle with key " << muonKey << " not found in Store Gate"); - return StatusCode::SUCCESS; - } +StatusCode HLTMuonMonTool::fillRecMuon() +{ + ATH_MSG_DEBUG("entering fillRecMuon"); + + int nOFL=0; + int nOFLMS=0; + int nOFLSA=0; + int nOFLCB=0; + int nOFLLPT=0; + + m_RecMuonSA_pt.clear(); + m_RecMuonSA_eta.clear(); + m_RecMuonSA_phi.clear(); + m_RecMuonSA_d0.clear(); + m_RecMuonSA_z0.clear(); + m_RecMuonSA_charge.clear(); + m_RecMuonSA_hasCB.clear(); + m_RecMuonSA_isGoodCB.clear(); + + m_RecMuonCB_pt.clear(); + m_RecMuonCB_eta.clear(); + m_RecMuonCB_phi.clear(); + m_RecMuonCB_charge.clear(); + m_RecMuonCB_isGoodCB.clear(); + m_RecMuonCB_eloss.clear(); //for muIso + m_RecMuonCB_etcone.clear(); //for muIso + m_RecMuonCB_ptcone.clear(); //for muIso + m_RecMuonCB_ptcone30.clear(); //for muIso tomoe added + m_RecMuonCB_etcone30.clear(); //for muIso tomoe added + + + //const Analysis::MuonContainer* muonCont; + const xAOD::MuonContainer* muonCont; + + std::string muonKey = "Muons"; // MuidMuonCollection + StatusCode sc = m_storeGate->retrieve(muonCont, muonKey); + if(sc.isFailure()){ + ATH_MSG_WARNING("Container of muon particle with key " << muonKey << " not found in Store Gate"); + return StatusCode::SUCCESS; + } - ATH_MSG_DEBUG("Container of muon particle with key " << muonKey << " found in Store Gate with size " << muonCont->size()); + ATH_MSG_DEBUG("Container of muon particle with key " << muonKey << " found in Store Gate with size " << muonCont->size()); - // get vertex - // std::string vxKey = "VxPrimaryCandidate"; // attention - std::string vxKey = "HLT_xAOD__VertexContainer_xPrimVx"; // May change to Offline Vx container key if possible - const xAOD::VertexContainer* vxCont = 0; - sc = evtStore()->retrieve(vxCont, vxKey); - if (sc.isFailure()) { - ATH_MSG_INFO("Container of muon particle with key " << vxKey << " not found in Store Gate"); - return StatusCode::SUCCESS; - } + // get vertex + // std::string vxKey = "VxPrimaryCandidate"; // attention + std::string vxKey = "HLT_xAOD__VertexContainer_xPrimVx"; // May change to Offline Vx container key if possible + const xAOD::VertexContainer* vxCont = 0; + sc = m_storeGate->retrieve(vxCont, vxKey); + if (sc.isFailure()) { + ATH_MSG_INFO("Container of muon particle with key " << vxKey << " not found in Store Gate"); + return StatusCode::SUCCESS; + } - // need to select vertex!!! - xAOD::VertexContainer::const_iterator p; - const xAOD::Vertex* vtx = 0; - for (p = vxCont->begin(); p != vxCont->end(); ++p) { - //reject dummy vertex. - //note1: Trk::NoVtx(=0) means dummy vertex. - //note2: There are mainly Trk::PriVtx(=1) but also there may be - // other type of vertex (like Trk::PileUp(=3)). - // Keep these vertex stored. - if ((*p)->vertexType() == xAOD::VxType::NoVtx) { - continue; - } else { - //vtx = &((*p)->recVertex()); - vtx = (*p); - ATH_MSG_DEBUG("MuonHLTMon: vertex found" << (vtx->position()).x() + // need to select vertex!!! + xAOD::VertexContainer::const_iterator p; + const xAOD::Vertex* vtx = 0; + for (p = vxCont->begin(); p != vxCont->end(); ++p) { + //reject dummy vertex. + //note1: Trk::NoVtx(=0) means dummy vertex. + //note2: There are mainly Trk::PriVtx(=1) but also there may be + // other type of vertex (like Trk::PileUp(=3)). + // Keep these vertex stored. + if ((*p)->vertexType() == xAOD::VxType::NoVtx) { + continue; + } else { + //vtx = &((*p)->recVertex()); + vtx = (*p); + ATH_MSG_DEBUG("MuonHLTMon: vertex found" << (vtx->position()).x() << " " << (vtx->position()).y() << " " << (vtx->position()).z()); - break; - } - } - if (vtx == 0) { - ATH_MSG_DEBUG("MuonHLTMon: no vertex found"); - } + break; + } + } + if (vtx == 0) { + ATH_MSG_DEBUG("MuonHLTMon: no vertex found"); + } - xAOD::MuonContainer::const_iterator muonItr = muonCont->begin(); - xAOD::MuonContainer::const_iterator muonItrE = muonCont->end(); + xAOD::MuonContainer::const_iterator muonItr = muonCont->begin(); + xAOD::MuonContainer::const_iterator muonItrE = muonCont->end(); - // Offline + // Offline - //const float ZERO_LIMIT = 0.0001; + //const float ZERO_LIMIT = 0.0001; - const float SA_PT_CUT = 2.5; // GeV - const float SA_ETA_CUT = 2.4; - const float SA_Z0_CUT = 500; + const float SA_PT_CUT = 2.5; // GeV + const float SA_ETA_CUT = 2.4; + const float SA_Z0_CUT = 500; - const float CB_PT_CUT = 2.5; // GeV - const float CB_ETA_CUT = 2.4; + const float CB_PT_CUT = 2.5; // GeV + const float CB_ETA_CUT = 2.4; - int isCombined=0; - for ( ; muonItr != muonItrE; ++muonItr) { - nOFL++; - float pt = fabs((*muonItr)->pt())/CLHEP::GeV; - ATH_MSG_DEBUG("Muon : " + int isCombined=0; + for ( ; muonItr != muonItrE; ++muonItr) { + nOFL++; + float pt = fabs((*muonItr)->pt())/CLHEP::GeV; + ATH_MSG_DEBUG("Muon : " << " eta = " << (*muonItr)->eta() << " phi = " << (*muonItr)->phi() << " pt = " << fabs((*muonItr)->pt())/CLHEP::GeV << " Standalone = " << ((*muonItr)->muonType()==xAOD::Muon::MuonStandAlone) << " Combined = " << ((*muonItr)->muonType()==xAOD::Muon::Combined) << " Low pt = " << ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0)); - // << " Low pt = " << (*muonItr)->isLowPtReconstructedMuon() ); // method deprecated - - if( (*muonItr)->muonSpectrometerTrackParticleLink().isValid() ){ - ATH_MSG_DEBUG(" count MS muon"); - nOFLMS++; - const xAOD::TrackParticle* ms_trk=0; - ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); - pt = ms_trk->pt() / CLHEP::GeV ; - if( pt > 4 ) - hist("Number_Of_Moore_MS_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Moore_MS_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - } - - if((*muonItr)->muonSpectrometerTrackParticleLink().isValid()){ - if((*muonItr)->muonType()!=xAOD::Muon::MuonStandAlone && (*muonItr)->muonType()!=xAOD::Muon::Combined) continue; - ATH_MSG_DEBUG(" count SA muon"); - nOFLSA++; - const xAOD::TrackParticle* ms_trk=0; - ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); - if(!ms_trk) continue; - //pt = ms_trk->pt() / CLHEP::GeV ; - pt = fabs((*muonItr)->pt())/CLHEP::GeV; // there seem to be bug in MS trk pt, so use rec pt now - if( pt > 4 ) - hist("Number_Of_Moore_SA_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Moore_SA_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - float eta = ms_trk->eta(); - float phi = ms_trk->phi(); - float d0 = 0.; - float z0 = 0.; - float charge = ms_trk->charge(); - const Trk::Perigee& ms_measPerigee = ms_trk->perigeeParameters(); - d0 = ms_measPerigee.parameters()[Trk::d0]; - z0 = ms_measPerigee.parameters()[Trk::z0]; - - // YY: CB, isGoodCB; - bool hasCB = ((*muonItr)->muonType()==xAOD::Muon::Combined); - bool isGoodCB = false; - if (hasCB) { - const xAOD::TrackParticle* comb=0; - comb = *((*muonItr)->combinedTrackParticleLink()); - if (!comb) { - ATH_MSG_INFO("HLTMuonMon: is a combined offline muon but no pointer to TrackParticle"); - } else { - pt = comb->pt()/CLHEP::GeV; - const Trk::Perigee measPerigee = comb->perigeeParameters(); - float d0comb = measPerigee.parameters()[Trk::d0]; - float z0comb = measPerigee.parameters()[Trk::z0]; - uint8_t nPixcomb = 0; - comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); - uint8_t nSCTcomb = 0; - comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); - if (vtx != 0) { - // if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement - if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { - isGoodCB = true; - } - ATH_MSG_DEBUG("HLTMuonMon: SA: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb - << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); - } - } - } - - //if( fabs(d0) > ZERO_LIMIT || fabs(z0) > ZERO_LIMIT ) { // remove extrapolation-failed tracks, current value d0,z0 seem wrong - if( fabs(eta) < SA_ETA_CUT && fabs(pt) > SA_PT_CUT && fabs(z0) < SA_Z0_CUT ) { - m_RecMuonSA_pt.push_back(pt); - m_RecMuonSA_eta.push_back(eta); - m_RecMuonSA_phi.push_back(phi); - m_RecMuonSA_d0.push_back(d0); - m_RecMuonSA_z0.push_back(z0); - m_RecMuonSA_charge.push_back(charge); - m_RecMuonSA_hasCB.push_back(hasCB); - m_RecMuonSA_isGoodCB.push_back(isGoodCB); - ATH_MSG_DEBUG("HLTMuonMon: SA: isgood " << isGoodCB << " pt " << pt); - } - //} - } - - // if((*muonItr)->isLowPtReconstructedMuon()) nOFLLPT++; // YY method deprecated - if ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0) nOFLLPT++; - if((*muonItr)->combinedTrackParticleLink()){ - ATH_MSG_DEBUG(" count CB muon"); - nOFLCB++; - const xAOD::TrackParticle* comb=0; - comb = *((*muonItr)->combinedTrackParticleLink()); - float pt = comb->pt() / CLHEP::GeV ; - if( pt > 4 ) - hist("Number_Of_Muid_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Muid_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - - float eta = comb->eta(); - float phi = comb->phi(); - float charge = comb->charge(); - - bool isGoodCB = false; - const Trk::Perigee measPerigee = comb->perigeeParameters(); - float d0comb = measPerigee.parameters()[Trk::d0]; - float z0comb = measPerigee.parameters()[Trk::z0]; - uint8_t nPixcomb = 0; - comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); - uint8_t nSCTcomb = 0; - comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); - - if (vtx != 0) { - //if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement - if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { - isGoodCB = true; - } - ATH_MSG_DEBUG("HLTMuonMon: CB: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb - << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); - } - - if( fabs(eta) < CB_ETA_CUT && fabs(pt) > CB_PT_CUT ) { - m_RecMuonCB_pt.push_back(pt); - m_RecMuonCB_eta.push_back(eta); - m_RecMuonCB_phi.push_back(phi); - m_RecMuonCB_charge.push_back(charge); - m_RecMuonCB_isGoodCB.push_back(isGoodCB); - ATH_MSG_DEBUG("HLTMuonMon: CB: isgood " << isGoodCB << " pt " << pt); - //m_RecMuonCB_eloss.push_back( (*muonItr)->energyLoss().first ); - m_RecMuonCB_eloss.push_back( (*muonItr)->energyLossType() ); - float ptcone20; - (*muonItr)->isolation(ptcone20, xAOD::Iso::ptcone20); - m_RecMuonCB_ptcone.push_back( ptcone20 ); - float etcone20; - (*muonItr)->isolation(etcone20, xAOD::Iso::etcone20); - m_RecMuonCB_etcone.push_back( etcone20 ); - float etcone30; - (*muonItr)->isolation(etcone30, xAOD::Iso::etcone30); - m_RecMuonCB_etcone30.push_back( etcone30 ); - float ptcone30; - (*muonItr)->isolation(ptcone30, xAOD::Iso::ptcone30); - m_RecMuonCB_ptcone30.push_back( ptcone30 ); - - isCombined++; - } - } - } - - if(nOFL >10) nOFL=10; - if(nOFLMS >10) nOFLMS=10; - if(nOFLSA >10) nOFLSA=10; - if(nOFLLPT >10) nOFLLPT=10; - if(nOFLCB >10) nOFLCB=10; - if(isCombined >10) isCombined=10; - - ATH_MSG_DEBUG(" fill nMuon"); - hist("Offline_Number_Of_Muon", m_histdir )->Fill(nOFL); - hist("Offline_Number_Of_MS_Muon", m_histdir )->Fill(nOFLMS); - hist("Offline_Number_Of_SA_Muon", m_histdir )->Fill(nOFLSA); - hist("Offline_Number_Of_LPT_Muon", m_histdir )->Fill(nOFLLPT); - hist("Offline_Number_Of_CB_Muon", m_histdir )->Fill(nOFLCB); - hist("Offline_Number_Of_Selected_CB_Muon", m_histdir )->Fill(isCombined); - - if(nOFL) hist("Common_Counter", m_histdir )->Fill((float)OFLFOUND); - if(nOFLMS) hist("Common_Counter", m_histdir )->Fill((float)OFLMSFOUND); - if(nOFLSA) hist("Common_Counter", m_histdir )->Fill((float)OFLSAFOUND); - if(nOFLLPT) hist("Common_Counter", m_histdir )->Fill((float)OFLLPTFOUND); - if(nOFLCB) hist("Common_Counter", m_histdir )->Fill((float)OFLCBFOUND); - if(isCombined) hist("Common_Counter", m_histdir )->Fill((float)OFLCBSELFOUND); - - - return StatusCode::SUCCESS; - } + // << " Low pt = " << (*muonItr)->isLowPtReconstructedMuon() ); // method deprecated + if( (*muonItr)->muonSpectrometerTrackParticleLink().isValid() ){ + ATH_MSG_DEBUG(" count MS muon"); + nOFLMS++; + const xAOD::TrackParticle* ms_trk=0; + ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); + pt = ms_trk->pt() / CLHEP::GeV ; + if( pt > 4 ) + hist("Number_Of_Moore_MS_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Moore_MS_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + } - //--------------------------------------------------------------------------------------- - bool HLTMuonMonTool::isPassedES(std::vector<std::string>& vectES, std::string& ESChainName) - { - std::vector<std::string>::iterator it; - for (it = vectES.begin(); it != vectES.end(); it++) { - if (*it == ESChainName) { - return true; - } + if((*muonItr)->muonSpectrometerTrackParticleLink().isValid()){ + if((*muonItr)->muonType()!=xAOD::Muon::MuonStandAlone && (*muonItr)->muonType()!=xAOD::Muon::Combined) continue; + ATH_MSG_DEBUG(" count SA muon"); + nOFLSA++; + const xAOD::TrackParticle* ms_trk=0; + ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); + if(!ms_trk) continue; + //pt = ms_trk->pt() / CLHEP::GeV ; + pt = fabs((*muonItr)->pt())/CLHEP::GeV; // there seem to be bug in MS trk pt, so use rec pt now + if( pt > 4 ) + hist("Number_Of_Moore_SA_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Moore_SA_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + float eta = ms_trk->eta(); + float phi = ms_trk->phi(); + float d0 = 0.; + float z0 = 0.; + float charge = ms_trk->charge(); + const Trk::Perigee& ms_measPerigee = ms_trk->perigeeParameters(); + d0 = ms_measPerigee.parameters()[Trk::d0]; + z0 = ms_measPerigee.parameters()[Trk::z0]; + + // YY: CB, isGoodCB; + bool hasCB = ((*muonItr)->muonType()==xAOD::Muon::Combined); + bool isGoodCB = false; + if (hasCB) { + const xAOD::TrackParticle* comb=0; + comb = *((*muonItr)->combinedTrackParticleLink()); + if (!comb) { + ATH_MSG_INFO("HLTMuonMon: is a combined offline muon but no pointer to TrackParticle"); + } else { + pt = comb->pt()/CLHEP::GeV; + const Trk::Perigee measPerigee = comb->perigeeParameters(); + float d0comb = measPerigee.parameters()[Trk::d0]; + float z0comb = measPerigee.parameters()[Trk::z0]; + uint8_t nPixcomb = 0; + comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); + uint8_t nSCTcomb = 0; + comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); + if (vtx != 0) { + // if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement + if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { + isGoodCB = true; } - return false; + ATH_MSG_DEBUG("HLTMuonMon: SA: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb + << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); } + } + } - //--------------------------------------------------------------------------------------- - std::vector<std::string> HLTMuonMonTool::getESbits() - { - static int errcnt = 0; - - std::vector<std::string> retvect; - retvect.push_back(m_nullstr); - // Uncomment here for release! - /* if (errcnt > 0) { - // 07.03.2011 - // if already error, do nothing but returning null_terminated vector of string - // for saving time in storegate operation - return retvect; - } */ - - // - // Process current event - // - const DataHandle<EventInfo> event_handle; - if(evtStore() -> retrieve(event_handle).isFailure()) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to read EventInfo"); - errcnt++; - } - return retvect; - } - - // - // Print EventInfo and stream tags - // - const TriggerInfo *trig = event_handle->trigger_info(); - if(!trig) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to get TriggerInfo"); - errcnt++; - } - return retvect; - } + //if( fabs(d0) > ZERO_LIMIT || fabs(z0) > ZERO_LIMIT ) { // remove extrapolation-failed tracks, current value d0,z0 seem wrong + if( fabs(eta) < SA_ETA_CUT && fabs(pt) > SA_PT_CUT && fabs(z0) < SA_Z0_CUT ) { + m_RecMuonSA_pt.push_back(pt); + m_RecMuonSA_eta.push_back(eta); + m_RecMuonSA_phi.push_back(phi); + m_RecMuonSA_d0.push_back(d0); + m_RecMuonSA_z0.push_back(z0); + m_RecMuonSA_charge.push_back(charge); + m_RecMuonSA_hasCB.push_back(hasCB); + m_RecMuonSA_isGoodCB.push_back(isGoodCB); + ATH_MSG_DEBUG("HLTMuonMon: SA: isgood " << isGoodCB << " pt " << pt); + } + //} + } + // if((*muonItr)->isLowPtReconstructedMuon()) nOFLLPT++; // YY method deprecated + if ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0) nOFLLPT++; + if((*muonItr)->combinedTrackParticleLink()){ + ATH_MSG_DEBUG(" count CB muon"); + nOFLCB++; + const xAOD::TrackParticle* comb=0; + comb = *((*muonItr)->combinedTrackParticleLink()); + float pt = comb->pt() / CLHEP::GeV ; + if( pt > 4 ) + hist("Number_Of_Muid_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Muid_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + + float eta = comb->eta(); + float phi = comb->phi(); + float charge = comb->charge(); + + bool isGoodCB = false; + const Trk::Perigee measPerigee = comb->perigeeParameters(); + float d0comb = measPerigee.parameters()[Trk::d0]; + float z0comb = measPerigee.parameters()[Trk::z0]; + uint8_t nPixcomb = 0; + comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); + uint8_t nSCTcomb = 0; + comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); + + if (vtx != 0) { + //if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement + if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { + isGoodCB = true; + } + ATH_MSG_DEBUG("HLTMuonMon: CB: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb + << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); + } - const std::vector<TriggerInfo::StreamTag> &streams = trig->streamTags(); + if( fabs(eta) < CB_ETA_CUT && fabs(pt) > CB_PT_CUT ) { + m_RecMuonCB_pt.push_back(pt); + m_RecMuonCB_eta.push_back(eta); + m_RecMuonCB_phi.push_back(phi); + m_RecMuonCB_charge.push_back(charge); + m_RecMuonCB_isGoodCB.push_back(isGoodCB); + ATH_MSG_DEBUG("HLTMuonMon: CB: isgood " << isGoodCB << " pt " << pt); + //m_RecMuonCB_eloss.push_back( (*muonItr)->energyLoss().first ); + m_RecMuonCB_eloss.push_back( (*muonItr)->energyLossType() ); + float ptcone20; + (*muonItr)->isolation(ptcone20, xAOD::Iso::ptcone20); + m_RecMuonCB_ptcone.push_back( ptcone20 ); + float etcone20; + (*muonItr)->isolation(etcone20, xAOD::Iso::etcone20); + m_RecMuonCB_etcone.push_back( etcone20 ); + float etcone30; + (*muonItr)->isolation(etcone30, xAOD::Iso::etcone30); + m_RecMuonCB_etcone30.push_back( etcone30 ); + float ptcone30; + (*muonItr)->isolation(ptcone30, xAOD::Iso::ptcone30); + m_RecMuonCB_ptcone30.push_back( ptcone30 ); + + isCombined++; + } + } + } - bool found_express_stream = false; - for(unsigned i = 0; i < streams.size(); ++i) { - const TriggerInfo::StreamTag &stag = streams.at(i); - if(stag.type() == "express" && stag.name() == "express") { - found_express_stream = true; - break; - } - } + if(nOFL >10) nOFL=10; + if(nOFLMS >10) nOFLMS=10; + if(nOFLSA >10) nOFLSA=10; + if(nOFLLPT >10) nOFLLPT=10; + if(nOFLCB >10) nOFLCB=10; + if(isCombined >10) isCombined=10; + + ATH_MSG_DEBUG(" fill nMuon"); + hist("Offline_Number_Of_Muon", m_histdir )->Fill(nOFL); + hist("Offline_Number_Of_MS_Muon", m_histdir )->Fill(nOFLMS); + hist("Offline_Number_Of_SA_Muon", m_histdir )->Fill(nOFLSA); + hist("Offline_Number_Of_LPT_Muon", m_histdir )->Fill(nOFLLPT); + hist("Offline_Number_Of_CB_Muon", m_histdir )->Fill(nOFLCB); + hist("Offline_Number_Of_Selected_CB_Muon", m_histdir )->Fill(isCombined); + + if(nOFL) hist("Common_Counter", m_histdir )->Fill((float)OFLFOUND); + if(nOFLMS) hist("Common_Counter", m_histdir )->Fill((float)OFLMSFOUND); + if(nOFLSA) hist("Common_Counter", m_histdir )->Fill((float)OFLSAFOUND); + if(nOFLLPT) hist("Common_Counter", m_histdir )->Fill((float)OFLLPTFOUND); + if(nOFLCB) hist("Common_Counter", m_histdir )->Fill((float)OFLCBFOUND); + if(isCombined) hist("Common_Counter", m_histdir )->Fill((float)OFLCBSELFOUND); - if(!found_express_stream) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to find express stream tag"); - errcnt++; - } - return retvect; - } - /* ATH_MSG_INFO (">>>>>>>>>>>>>>>>" - << " run #" << event_handle->event_ID()->run_number() - << " lumi #" << event_handle->event_ID()->lumi_block() - << " event #" << event_handle->event_ID()->event_number() - << " has express stream tag"); */ + return StatusCode::SUCCESS; +} - //const std::string key = "HLT_EXPRESS_OPI_HLT"; - const std::string key = "HLT_TrigOperationalInfoCollection_EXPRESS_OPI_HLT"; +//--------------------------------------------------------------------------------------- +bool HLTMuonMonTool::isPassedES(std::vector<std::string>& vectES, std::string& ESChainName) +{ + std::vector<std::string>::iterator it; + for (it = vectES.begin(); it != vectES.end(); it++) { + if (*it == ESChainName) { + return true; + } + } + return false; +} +//--------------------------------------------------------------------------------------- +std::vector<std::string> HLTMuonMonTool::getESbits() +{ + static int errcnt = 0; + + std::vector<std::string> retvect; + retvect.push_back(m_nullstr); + // Uncomment here for release! + /* if (errcnt > 0) { + // 07.03.2011 + // if already error, do nothing but returning null_terminated vector of string + // for saving time in storegate operation + return retvect; + } */ + + // + // Process current event + // + + const EventInfo* event_handle(nullptr); + if(StatusCode::FAILURE==evtStore() -> retrieve(event_handle)){ + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to read EventInfo"); + errcnt++; + } + return retvect; + } - if (!evtStore()->contains<TrigOperationalInfoCollection>(key)) { - if (errcnt < 1) { - ATH_MSG_INFO("Missing TrigOperationalInfoCollection with key=" << key); - errcnt++; - } - return retvect; - } + // + // Print EventInfo and stream tags + // + const TriggerInfo *trig = event_handle->trigger_info(); + if(!trig) { + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to get TriggerInfo"); + errcnt++; + } + return retvect; + } + const std::vector<TriggerInfo::StreamTag> &streams = trig->streamTags(); + + bool found_express_stream = false; + for(unsigned i = 0; i < streams.size(); ++i) { + const TriggerInfo::StreamTag &stag = streams.at(i); + if(stag.type() == "express" && stag.name() == "express") { + found_express_stream = true; + break; + } + } - const TrigOperationalInfoCollection *opi = 0; - if (!evtStore()->retrieve<TrigOperationalInfoCollection>(opi, key).isSuccess()) { - if (errcnt < 1) { - ATH_MSG_INFO("Failed to retreive TrigOperationalInfoCollection with key=" << key); - return retvect; - } - } + if(!found_express_stream) { + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to find express stream tag"); + errcnt++; + } + return retvect; + } - std::vector<std::string> resvect; - if (opi->begin() == opi->end()) { - if (errcnt < 1) { - ATH_MSG_DEBUG("getESbits: no entry"); - errcnt++; - } - resvect.push_back(m_nullstr); // set the vector that it is empty - } else { + /* ATH_MSG_INFO (">>>>>>>>>>>>>>>>" + << " run #" << event_handle->event_ID()->run_number() + << " lumi #" << event_handle->event_ID()->lumi_block() + << " event #" << event_handle->event_ID()->event_number() + << " has express stream tag"); */ - for(TrigOperationalInfoCollection::const_iterator it = opi->begin(); it != opi->end(); ++it) { - const TrigOperationalInfo *ptr = *it; - if(!ptr) continue; + //const std::string key = "HLT_EXPRESS_OPI_HLT"; + const std::string key = "HLT_TrigOperationalInfoCollection_EXPRESS_OPI_HLT"; - const std::pair<std::vector<std::string>, std::vector<float> > infos = ptr->infos(); - resvect.insert(resvect.end(), infos.first.begin(), infos.first.end()); + if (!m_storeGate->contains<TrigOperationalInfoCollection>(key)) { + if (errcnt < 1) { + ATH_MSG_INFO("Missing TrigOperationalInfoCollection with key=" << key); + errcnt++; + } + return retvect; + } - } - } + const TrigOperationalInfoCollection *opi = 0; + if (!m_storeGate->retrieve<TrigOperationalInfoCollection>(opi, key).isSuccess()) { + if (errcnt < 1) { + ATH_MSG_INFO("Failed to retreive TrigOperationalInfoCollection with key=" << key); + return retvect; + } + } - return resvect; - } + std::vector<std::string> resvect; + if (opi->begin() == opi->end()) { + if (errcnt < 1) { + ATH_MSG_DEBUG("getESbits: no entry"); + errcnt++; + } + resvect.push_back(m_nullstr); // set the vector that it is empty + } else { + for(TrigOperationalInfoCollection::const_iterator it = opi->begin(); it != opi->end(); ++it) { + const TrigOperationalInfo *ptr = *it; + if(!ptr) continue; - void - HLTMuonMonTool::fillTriggerOverlap() - { + const std::pair<std::vector<std::string>, std::vector<float> > infos = ptr->infos(); + resvect.insert(resvect.end(), infos.first.begin(), infos.first.end()); - TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); - TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + } + } - //Trigger - for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ + return resvect; +} +void +HLTMuonMonTool::fillTriggerOverlap() +{ - bool t1 = getTDT()->isPassed( m_chainsOverlap[i] ); - bool t1pt = getTDT()->isPassed( m_chainsOverlap[i], TrigDefs::passedThrough ); + TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); + TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); - if( !t1 && !t1pt )continue; + //Trigger + for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ - for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ + bool t1 = getTDT()->isPassed( m_chainsOverlap[i] ); + bool t1pt = getTDT()->isPassed( m_chainsOverlap[i], TrigDefs::passedThrough ); - bool t2 = getTDT()->isPassed( m_chainsOverlap[j] ); - bool t2pt = getTDT()->isPassed( m_chainsOverlap[j], TrigDefs::passedThrough ); + if( !t1 && !t1pt )continue; - if( !t2 && !t2pt ) continue; + for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ - //if both chains are passed or passed through - h_olpt->Fill(i,j); + bool t2 = getTDT()->isPassed( m_chainsOverlap[j] ); + bool t2pt = getTDT()->isPassed( m_chainsOverlap[j], TrigDefs::passedThrough ); - //if both chains are passed - if( t1 && t2 ) h_ol->Fill(i,j); + if( !t2 && !t2pt ) continue; - } - } + //if both chains are passed or passed through + h_olpt->Fill(i,j); - } + //if both chains are passed + if( t1 && t2 ) h_ol->Fill(i,j); - void - HLTMuonMonTool::procTriggerOverlap() - { + } + } +} +void +HLTMuonMonTool::procTriggerOverlap() +{ + TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); + TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + TH2* h_olf = hist2( "Trigger_Overlap_Fraction", m_histdir ); + TH2* h_olfpt = hist2( "Trigger_Overlap_Fraction_Including_Passthrough", m_histdir ); + //Trigger + for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ - TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); - TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + Float_t diag = h_ol->GetBinContent(i+1, i+1); + Float_t diagpt = h_olpt->GetBinContent(i+1, i+1); - TH2* h_olf = hist2( "Trigger_Overlap_Fraction", m_histdir ); - TH2* h_olfpt = hist2( "Trigger_Overlap_Fraction_Including_Passthrough", m_histdir ); + for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ - //Trigger - for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ + Float_t offdiag = h_ol->GetBinContent(i+1, j+1); + Float_t offdiagpt = h_olpt->GetBinContent(i+1, j+1); - Float_t diag = h_ol->GetBinContent(i+1, i+1); - Float_t diagpt = h_olpt->GetBinContent(i+1, i+1); + Float_t frac = 0.; + Float_t efrac = 0.; - for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ + if( diag != 0. ){ + frac = offdiag/diag; + efrac = sqrt(frac*(1.-frac)/diag); + } - Float_t offdiag = h_ol->GetBinContent(i+1, j+1); - Float_t offdiagpt = h_olpt->GetBinContent(i+1, j+1); + Float_t fracpt = 0.; + Float_t efracpt = 0.; - Float_t frac = 0.; - Float_t efrac = 0.; + if( diagpt != 0. ){ + fracpt = offdiagpt/diagpt; + efracpt = sqrt(fracpt*(1.-fracpt)/diagpt); + } - if( diag != 0. ){ - frac = offdiag/diag; - efrac = sqrt(frac*(1.-frac)/diag); - } + h_olf->SetBinContent(i+1,j+1, frac); + h_olf->SetBinError(i+1,j+1, efrac); - Float_t fracpt = 0.; - Float_t efracpt = 0.; + h_olfpt->SetBinContent(i+1,j+1, fracpt); + h_olfpt->SetBinError(i+1,j+1, efracpt); - if( diagpt != 0. ){ - fracpt = offdiagpt/diagpt; - efracpt = sqrt(fracpt*(1.-fracpt)/diagpt); - } + } + } +} - h_olf->SetBinContent(i+1,j+1, frac); - h_olf->SetBinError(i+1,j+1, efrac); - h_olfpt->SetBinContent(i+1,j+1, fracpt); - h_olfpt->SetBinError(i+1,j+1, efracpt); +// +void HLTMuonMonTool::refill_2d1d_coarse(TH2F *h2, TH1F *h1) +{ - } - } - } + for (int ieta = 1; ieta <= s_eta_cnbins; ieta++) { + for (int iphi = 1; iphi <= s_phi_cnbins; iphi++) { + int ibin = (ieta - 1) * s_phi_cnbins + iphi; + // ATH_MSG_INFO("ibin " << ibin << "Histname " << h2->GetName() << " and " << h1->GetName()); + Double_t bincont = h2->GetBinContent(ieta, iphi); + Double_t binerr = h2->GetBinError(ieta, iphi); + Double_t area = (m_bins_eta[ieta] - m_bins_eta[ieta-1])*TMath::Pi()/8.; + bincont = bincont / area; + binerr = binerr / area; + h1->SetBinContent(ibin, bincont); + h1->SetBinError(ibin, binerr); + } + } - // - void HLTMuonMonTool::refill_2d1d_coarse(TH2F *h2, TH1F *h1) - { - - for (int ieta = 1; ieta <= s_eta_cnbins; ieta++) { - for (int iphi = 1; iphi <= s_phi_cnbins; iphi++) { - int ibin = (ieta - 1) * s_phi_cnbins + iphi; - // ATH_MSG_INFO("ibin " << ibin << "Histname " << h2->GetName() << " and " << h1->GetName()); - Double_t bincont = h2->GetBinContent(ieta, iphi); - Double_t binerr = h2->GetBinError(ieta, iphi); - Double_t area = (m_bins_eta[ieta] - m_bins_eta[ieta-1])*TMath::Pi()/8.; - bincont = bincont / area; - binerr = binerr / area; - h1->SetBinContent(ibin, bincont); - h1->SetBinError(ibin, binerr); - } - } +} +// - } - // +float CalculateDeltaR(float off_eta, float off_phi,float on_eta, float on_phi) { - float CalculateDeltaR(float off_eta, float off_phi,float on_eta, float on_phi) { + float deta = off_eta - on_eta; + float dphi = off_phi - on_phi; + float dR=0; + if (dphi > acos(-1.)) dphi -= 2.*acos(-1.); + if (dphi < -acos(-1.)) dphi += 2.*acos(-1.); + dR = sqrt( deta*deta + dphi*dphi ) ; - float deta = off_eta - on_eta; - float dphi = off_phi - on_phi; - float dR=0; - if (dphi > acos(-1.)) dphi -= 2.*acos(-1.); - if (dphi < -acos(-1.)) dphi += 2.*acos(-1.); - dR = sqrt( deta*deta + dphi*dphi ) ; + return dR; +} - return dR; - } +StatusCode HLTMuonMonTool::fillL1MuRoI() +{ + StatusCode sc; - StatusCode HLTMuonMonTool::fillL1MuRoI() - { - StatusCode sc; + const xAOD::MuonRoIContainer* lvl1Roi; - const xAOD::MuonRoIContainer* lvl1Roi; + std::string muonKey = "LVL1MuonRoIs"; // MuidMuonCollection - std::string muonKey = "LVL1MuonRoIs"; // MuidMuonCollection + sc = evtStore()->retrieve(lvl1Roi, muonKey); + if ( sc.isFailure() ) { + ATH_MSG_DEBUG(" Cannot retrieve LVL1 Muon container"); + return StatusCode::FAILURE; + } - sc = evtStore()->retrieve(lvl1Roi, muonKey); - if ( sc.isFailure() ) { - ATH_MSG_DEBUG(" Cannot retrieve LVL1 Muon container"); - return StatusCode::FAILURE; - } + const DataHandle<EventInfo> eventInfo; + sc = evtStore()->retrieve(eventInfo); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - const DataHandle<EventInfo> eventInfo; - sc = evtStore()->retrieve(eventInfo); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } - EventID::number_type bcid = eventInfo->event_ID()->bunch_crossing_id(); + EventID::number_type bcid = eventInfo->event_ID()->bunch_crossing_id(); - bool filled = m_bunchTool->isFilled(bcid); - bool unpaired = m_bunchTool->isUnpaired(bcid); + bool filled = m_bunchTool->isFilled(bcid); + bool unpaired = m_bunchTool->isUnpaired(bcid); - xAOD::MuonRoIContainer::const_iterator muItr = lvl1Roi->begin(); - xAOD::MuonRoIContainer::const_iterator muEnd = lvl1Roi->end(); + xAOD::MuonRoIContainer::const_iterator muItr = lvl1Roi->begin(); + xAOD::MuonRoIContainer::const_iterator muEnd = lvl1Roi->end(); - // if (m_bunchTool->isFilled(bcid) && !(m_bunchTool->isUnpaired(bcid))) { + // if (m_bunchTool->isFilled(bcid) && !(m_bunchTool->isUnpaired(bcid))) { - if (m_bunchTool->isFilled(bcid)) { - std::string name = "L1RoI_etaphi"; + if (m_bunchTool->isFilled(bcid)) { + std::string name = "L1RoI_etaphi"; - int nBarrelRoi = 0; - int nEndcapRoi = 0; - int nForwardRoi = 0; - for ( ; muItr != muEnd; ++muItr) { - hist2(name, m_histdirdist2d)->Fill((*muItr)->eta(), (*muItr)->phi()); + int nBarrelRoi = 0; + int nEndcapRoi = 0; + int nForwardRoi = 0; + for ( ; muItr != muEnd; ++muItr) { + hist2(name, m_histdirdist2d)->Fill((*muItr)->eta(), (*muItr)->phi()); - if (!(*muItr)->isVetoed()) { // YY for removing MuCTPI overlap-removed RoIs - if (xAOD::MuonRoI::Barrel == (*muItr)->getSource()) { - nBarrelRoi++; - } else if (xAOD::MuonRoI::Endcap == (*muItr)->getSource()) { - nEndcapRoi++; - } else if (xAOD::MuonRoI::Forward == (*muItr)->getSource()) { - nForwardRoi++; - } - } - } + if (!(*muItr)->isVetoed()) { // YY for removing MuCTPI overlap-removed RoIs + if (xAOD::MuonRoI::Barrel == (*muItr)->getSource()) { + nBarrelRoi++; + } else if (xAOD::MuonRoI::Endcap == (*muItr)->getSource()) { + nEndcapRoi++; + } else if (xAOD::MuonRoI::Forward == (*muItr)->getSource()) { + nForwardRoi++; + } + } + } - bool mub = false; - bool mue = false; - if (getTDT()->isPassedBits("L1_MUB") & TrigDefs::L1_isPassedBeforePrescale) { - mub = true; - } - if (getTDT()->isPassedBits("L1_MUE") & TrigDefs::L1_isPassedBeforePrescale) { - mue = true; - } + bool mub = false; + bool mue = false; + if (getTDT()->isPassedBits("L1_MUB") & TrigDefs::L1_isPassedBeforePrescale) { + mub = true; + } + if (getTDT()->isPassedBits("L1_MUE") & TrigDefs::L1_isPassedBeforePrescale) { + mue = true; + } - ATH_MSG_DEBUG("mu Roi Barrel: " << nBarrelRoi << " Endcap: " << nEndcapRoi << " Forward: " << nForwardRoi); - ATH_MSG_DEBUG("mub: " << mub << " mue: " << mue); + ATH_MSG_DEBUG("mu Roi Barrel: " << nBarrelRoi << " Endcap: " << nEndcapRoi << " Forward: " << nForwardRoi); + ATH_MSG_DEBUG("mub: " << mub << " mue: " << mue); - int nEC_F_Roi = nEndcapRoi + nForwardRoi; + int nEC_F_Roi = nEndcapRoi + nForwardRoi; - name = "L1_MUB_L1_MUE_match_muon_RoIs"; + name = "L1_MUB_L1_MUE_match_muon_RoIs"; - if (mub && nBarrelRoi > 0) { - hist(name, m_histdirrate)->Fill(3.); - } - if (mue && nEC_F_Roi > 0) { - hist(name, m_histdirrate)->Fill(4.); - } - if (!mub && nBarrelRoi == 0) { - hist(name, m_histdirrate)->Fill(1.); - } - if (!mue && nEC_F_Roi == 0) { - hist(name, m_histdirrate)->Fill(2.); - } - if (!mub && nBarrelRoi > 0) { // no L1_MUB hit - hist(name, m_histdirrate)->Fill(5.); - ATH_MSG_DEBUG("L1_MUB: 5"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (!mue && nEC_F_Roi > 0) { // no L1_MUE hit - hist(name, m_histdirrate)->Fill(6.); - ATH_MSG_DEBUG("L1_MUE: 6"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (mub && nBarrelRoi == 0) { // L1_MUB fired while no RoI - hist(name, m_histdirrate)->Fill(7.); - ATH_MSG_DEBUG("L1_MUB: 7"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (mue && nEC_F_Roi == 0) { // L1_MUE fired while no RoI - hist(name, m_histdirrate)->Fill(8.); - ATH_MSG_DEBUG("L1_MUE: 8"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - } + if (mub && nBarrelRoi > 0) { + hist(name, m_histdirrate)->Fill(3.); + } + if (mue && nEC_F_Roi > 0) { + hist(name, m_histdirrate)->Fill(4.); + } + if (!mub && nBarrelRoi == 0) { + hist(name, m_histdirrate)->Fill(1.); + } + if (!mue && nEC_F_Roi == 0) { + hist(name, m_histdirrate)->Fill(2.); + } + if (!mub && nBarrelRoi > 0) { // no L1_MUB hit + hist(name, m_histdirrate)->Fill(5.); + ATH_MSG_DEBUG("L1_MUB: 5"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (!mue && nEC_F_Roi > 0) { // no L1_MUE hit + hist(name, m_histdirrate)->Fill(6.); + ATH_MSG_DEBUG("L1_MUE: 6"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (mub && nBarrelRoi == 0) { // L1_MUB fired while no RoI + hist(name, m_histdirrate)->Fill(7.); + ATH_MSG_DEBUG("L1_MUB: 7"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (mue && nEC_F_Roi == 0) { // L1_MUE fired while no RoI + hist(name, m_histdirrate)->Fill(8.); + ATH_MSG_DEBUG("L1_MUE: 8"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + } - return StatusCode::SUCCESS; - } + return StatusCode::SUCCESS; +} diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx index c78f808f240..3e4e2bd1d75 100755 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx @@ -37,7 +37,7 @@ using namespace std; /** Constructor, calls base class constructor with parameters * - * several properties are "declared" here, allowing selection + * several properties are "declared" here, allowing selectio * of the filepath for histograms, the first and second plane * numbers to be used, and the timebin. */ @@ -51,7 +51,7 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, m_bunchTool("Trig::TrigConfBunchCrossingTool/BunchCrossingTool") // m_muonSelectorTool("Rec::MuonSelectorTool") // YY added -> removed - //initialization of muFast parameters + //initialization of L2MuonSA parameters //initialization of muComb parameters @@ -74,12 +74,27 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, declareProperty("monitoring_muonIso", m_chainsEFiso); declareProperty("monitoring_MSonly", m_chainsMSonly); declareProperty("monitoring_muonEFFS", m_chainsEFFS); + declareProperty("monitoring_muonLowpt", m_chainsLowpt); declareProperty("monitoring_muon_Support", m_chainSupport); declareProperty("HI_pp_mode", m_HI_pp_mode); - - //construction of muFast parameters + + declareProperty("AccessHypoTEs", m_access_hypoTE=true); + //construction of L2MuonSA parameters + declareProperty("monitoring_muonNonIso_L2SAHypo", m_hyposGeneric_L2SA); + declareProperty("monitoring_muonIso_L2SAHypo", m_hyposEFiso_L2SA); + declareProperty("monitoring_MSonly_L2SAHypo", m_hyposMSonly_L2SA); + declareProperty("monitoring_muonEFFS_L2SAHypo", m_hyposEFFS_L2SA); + declareProperty("monitoring_muonLowpt_L2SAHypo", m_hyposLowpt_L2SA); + declareProperty("monitoring_muon_Support_L2SAHypo", m_hyposSupport_L2SA); //construction of muComb parameters + declareProperty("monitoring_muonNonIso_L2CBHypo", m_hyposGeneric_L2CB); + declareProperty("monitoring_muonIso_L2CBHypo", m_hyposEFiso_L2CB); + declareProperty("monitoring_MSonly_L2CBHypo", m_hyposMSonly_L2CB); + declareProperty("monitoring_muonEFFS_L2CBHypo", m_hyposEFFS_L2CB); + declareProperty("monitoring_muonLowpt_L2CBHypo", m_hyposLowpt_L2CB); + declareProperty("monitoring_muon_Support_L2CBHypo", m_hyposSupport_L2CB); + //construction of muIso parameters @@ -101,7 +116,7 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, m_maxindep = 0; m_maxESbr = 0; m_requestESchains = 0; - m_fMuFast = 0; + m_fL2MuonSA = 0; m_fMuComb = 0; m_fEFCB = 0; m_fMuGirl = 0; @@ -121,7 +136,7 @@ HLTMuonMonTool::~HLTMuonMonTool() ATH_MSG_VERBOSE(" destruction of HLTMuonMonTool"); //destruction of common parameters - //destruction of muFast parameters + //destruction of L2MuonSA parameters //destruction of muComb parameters @@ -146,7 +161,6 @@ StatusCode HLTMuonMonTool::init() ATH_MSG_DEBUG("init being called"); // some switches and flags m_requestESchains = true; - //initialization for common tools StatusCode scAS; @@ -191,6 +205,8 @@ StatusCode HLTMuonMonTool::init() m_histChainGeneric.push_back("muChain"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsGeneric[ich], 0)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsGeneric[ich], "muChain"+std::to_string(ich+1))); + if(ich<m_hyposGeneric_L2SA.size()) m_hypomapL2SA[m_chainsGeneric[ich]] = m_hyposGeneric_L2SA[ich]; + if(ich<m_hyposGeneric_L2CB.size()) m_hypomapL2CB[m_chainsGeneric[ich]] = m_hyposGeneric_L2CB[ich]; } // Generic (Isolated muons) @@ -201,6 +217,8 @@ StatusCode HLTMuonMonTool::init() m_histChainEFiso.push_back("muChainEFiso"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsEFiso[ich], 1)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsEFiso[ich], "muChainEFiso"+std::to_string(ich+1))); + if(ich<m_hyposEFiso_L2SA.size()) m_hypomapL2SA[m_chainsEFiso[ich]] = m_hyposEFiso_L2SA[ich]; + if(ich<m_hyposEFiso_L2CB.size()) m_hypomapL2CB[m_chainsEFiso[ich]] = m_hyposEFiso_L2CB[ich]; } @@ -214,6 +232,8 @@ StatusCode HLTMuonMonTool::init() m_histChainMSonly.push_back("muChainMSonly"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsMSonly[ich], 0)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsMSonly[ich], "muChainMSonly"+std::to_string(ich+1))); + if(ich<m_hyposMSonly_L2SA.size()) m_hypomapL2SA[m_chainsMSonly[ich]] = m_hyposMSonly_L2SA[ich]; + if(ich<m_hyposMSonly_L2CB.size()) m_hypomapL2CB[m_chainsMSonly[ich]] = m_hyposMSonly_L2CB[ich]; } @@ -477,7 +497,7 @@ StatusCode HLTMuonMonTool::init() m_allESchain.push_back("HLT_Jpsimumu_idperf"); // initialising algorithm index for summary histos - m_fMuFast = (float)iMuFast; + m_fL2MuonSA = (float)iL2MuonSA; m_fMuComb = (float)iMuComb; m_fEFCB = (float)iEFCB; m_fEFSA = (float)iEFSA; @@ -496,10 +516,10 @@ StatusCode HLTMuonMonTool::init() m_iMSL = 54; // 60 GeV m_iMSH = 75; // 100 GeV }else{ - m_iSTDL = 91; // 40 GeV - m_iSTDH = 120; // 100 GeV - m_iMSL = 105; // 60 GeV - m_iMSH = 120; // 100 GeV + m_iSTDL = 105;//60GeV 91; // 40 GeV + m_iSTDH = 120; // 100 GeV + m_iMSL = 105; // 60 GeV + m_iMSH = 120; // 100 GeV /* m_iSTDL = 71; // 22.5 GeV m_iSTDH = 100; // 50 GeV m_iMSL = 91; // 40 GeV @@ -557,11 +577,11 @@ StatusCode HLTMuonMonTool::init() m_bins_phi[iphi] = (dphi*static_cast<Double_t>(iphi)-(TMath::Pi())); } - //muFast - StatusCode scMuFast; - scMuFast=initMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("initMuFastDQA failed"); + //L2MuonSA + StatusCode scL2MuonSA; + scL2MuonSA=initL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("initL2MuonSADQA failed"); } //muComb StatusCode scMuComb; @@ -600,8 +620,16 @@ StatusCode HLTMuonMonTool::init() ATH_MSG_VERBOSE("initMuZTPDQA failed"); } - StatusCode sc = scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } @@ -614,7 +642,7 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_DEBUG("book being called"); m_histdir="HLT/MuonMon/Common"; - m_histdirmufast="HLT/MuonMon/muFast"; + m_histdirmufast="HLT/MuonMon/L2MuonSA"; m_histdirmucomb="HLT/MuonMon/muComb"; m_histdirmuiso="HLT/MuonMon/muIso"; m_histdirtilemu="HLT/MuonMon/TileMu"; @@ -666,11 +694,11 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_VERBOSE("bookChainDQA failed"); } - //muFast - StatusCode scMuFast; - scMuFast=bookMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("bookMuFastDQA failed"); + //L2MuonSA + StatusCode scL2MuonSA; + scL2MuonSA=bookL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("bookL2MuonSADQA failed"); } //muComb StatusCode scMuComb; @@ -709,8 +737,15 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_VERBOSE("bookMuZTPDQA failed"); } - StatusCode sc = scCommon & scChain & scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scCommon & scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } /*---------------------------------------------------------*/ @@ -734,13 +769,12 @@ StatusCode HLTMuonMonTool::fill() } hist("Common_Counter", m_histdir )->Fill((float)EVENT); if(!m_HI_pp_mode)hist("HI_PP_Flag", m_histdir)->Fill(0); - /* auto chainGroup = getTDT()->getChainGroup("HLT_mu.*"); for(auto &trig : chainGroup->getListOfTriggers()) { auto cg = getTDT()->getChainGroup(trig); std::string thisTrig = trig; - std::cout<<"testchenyhlt chainlist "<<thisTrig.c_str()<<std::endl; + ATH_MSG_DEBUG("muonhlt chainlist "<<thisTrig.c_str()); }*/ std::vector<std::string>::const_iterator it; int itr; @@ -750,6 +784,7 @@ StatusCode HLTMuonMonTool::fill() for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ) mchainlist.push_back((*it).c_str()); for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ) mchainlist.push_back((*it).c_str()); for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++, itr++ )mchainlist.push_back((*it).c_str()); + for(it=m_chainsLowpt.begin(), itr=0; it != m_chainsLowpt.end() ; it++, itr++ )mchainlist.push_back((*it).c_str()); for(int i=0; i<(int)mchainlist.size(); i++){ TString s=mchainlist[i]; hist("Monitoring_Chain",m_histdir)->GetXaxis()->SetBinLabel(i+1,s); @@ -771,17 +806,17 @@ StatusCode HLTMuonMonTool::fill() scChain=StatusCode::RECOVERABLE; } - // muFast - StatusCode scMuFast; + // L2MuonSA + StatusCode scL2MuonSA; try { - scMuFast=fillMuFastDQA(); - if( scMuFast.isFailure() ) { - ATH_MSG_VERBOSE("fillMuFastDQA failed"); + scL2MuonSA=fillL2MuonSADQA(); + if( scL2MuonSA.isFailure() ) { + ATH_MSG_VERBOSE("fillL2MuonSADQA failed"); } } catch(...) { - ATH_MSG_ERROR("Exception thrown by fillMuFastDQA"); - scMuFast=StatusCode::RECOVERABLE; + ATH_MSG_ERROR("Exception thrown by fillL2MuonSADQA"); + scL2MuonSA=StatusCode::RECOVERABLE; } // muComb @@ -863,12 +898,12 @@ StatusCode HLTMuonMonTool::fill() scMuZTP=StatusCode::RECOVERABLE; } - StatusCode sc = scCommon & scRecMuon & scChain & scMuFast & scMuComb & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scCommon & scRecMuon & scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; ATH_MSG_DEBUG( " scCommon " << scCommon << " scRecMuon " << scRecMuon << " scChain " << scChain - << " scMuFast " << scMuFast + << " scL2MuonSA " << scL2MuonSA << " scMuComb " << scMuComb << " scMuIso " << scMuIso << " scTileMu " << scTileMu @@ -876,8 +911,15 @@ StatusCode HLTMuonMonTool::fill() << " scMuGirl " << scMuGirl << " scMuZTP " << scMuZTP << " sc " << sc); - return sc; + + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } /*---------------------------------------------------------*/ @@ -901,17 +943,17 @@ StatusCode HLTMuonMonTool::proc() scChain=StatusCode::RECOVERABLE; } - // muFast - StatusCode scMuFast; + // L2MuonSA + StatusCode scL2MuonSA; try { - scMuFast=procMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("procMuFastDQA failed"); + scL2MuonSA=procL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("procL2MuonSADQA failed"); } } catch(...) { - ATH_MSG_ERROR("Exception thrown by procMuFastDQA"); - scMuFast=StatusCode::RECOVERABLE; + ATH_MSG_ERROR("Exception thrown by procL2MuonSADQA"); + scL2MuonSA=StatusCode::RECOVERABLE; } // muComb @@ -994,6 +1036,34 @@ StatusCode HLTMuonMonTool::proc() // - StatusCode sc = scChain & scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; +} + + +const HLT::TriggerElement* HLTMuonMonTool :: getDirectSuccessorHypoTEForL2(const HLT::TriggerElement *te, std::string step, std::string chainname){ + + //m_ExpertMethods->enable(); + std::string hyponame = ""; + if(step=="L2MuonSA") hyponame = m_hypomapL2SA[chainname]; + if(step=="L2muComb") hyponame = m_hypomapL2CB[chainname]; + const HLT::TriggerElement *hypote = NULL; + std::vector<HLT::TriggerElement*> TEsuccessors = m_ExpertMethods->getNavigation()->getDirectSuccessors(te); + for(auto te2 : TEsuccessors){ + //ATH_MSG_DEBUG("[" << chainname <<"] ::TE2: " << te2->getId() << " " << Trig::getTEName(*te2) ); + if(Trig::getTEName(*te2)==hyponame){ + ATH_MSG_DEBUG("[" << chainname<< "] selected HypoTE: " << te2->getId() << " " << Trig::getTEName(*te2) << " isPassed=" << te2->getActiveState() ); + hypote = te2; + } + } + + + return hypote; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx index 06d5322308a..cd53bdae1e2 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx @@ -12,7 +12,6 @@ #include "GaudiKernel/IJobOptionsSvc.h" #include "AthenaMonitoring/AthenaMonManager.h" #include "AthenaMonitoring/ManagedMonitorToolTest.h" - #include "TrigMuonEvent/CombinedMuonFeatureContainer.h" #include "TROOT.h" @@ -50,7 +49,6 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() { //histograms in each 10LBs if( newRunFlag() || newLowStatFlag()){ - addHistogram( new TH2F("muComb_eta_vs_phi_in_10LBs", "muComb eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); } @@ -66,13 +64,13 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() addHistogram( new TH2F("muComb_eta_vs_phi_MCmatching_success", "muComb eta vs phi (MC match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); addHistogram( new TH2F("muComb_eta_vs_phi_OFFmatching_failure", "muComb eta vs phi (MC match success Off match failure); #eta ; #phi",108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); - addHistogram( new TH2F("muFast_eta_vs_phi_MCmatching_failure", "muFast eta vs phi (MC match failure Off match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi_MCmatching_failure", "L2MuonSA eta vs phi (MC match failure Off match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); - // comparison muComb vs muFast - addHistogram( new TH1F("muComb_ptratio_toMF", "muComb pt / muFast pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dR_toMF", "muComb delta R to muFast; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); - addHistogram( new TH1F("muComb_deta_toMF", "muComb delta eta to muFast; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dphi_toMF", "muComb delta phi to muFast; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + // comparison muComb vs L2MuonSA + addHistogram( new TH1F("muComb_ptratio_toMF", "muComb pt / L2MuonSA pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dR_toMF", "muComb delta R to L2MuonSA; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); + addHistogram( new TH1F("muComb_deta_toMF", "muComb delta eta to L2MuonSA; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dphi_toMF", "muComb delta phi to L2MuonSA; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); addHistogram( new TH1F("muComb_MF_error", "muComb pointer to MuonFeature Error", 5,0,5), m_histdirmucomb ); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(1,"No error"); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(2,"Missing Pointer to MF"); @@ -80,11 +78,11 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(4,"CB ContainerSize Error"); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(5,"MF ContainerSize Error"); - // comparison IDtrk vs muFast - addHistogram( new TH1F("muComb_ptratio_TRKtoMF", "muComb Trk pt / muFast pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dR_TRKtoMF", "muComb delta R TRK to muFast; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); - addHistogram( new TH1F("muComb_deta_TRKtoMF", "muComb delta eta TRK to muFast; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dphi_TRKtoMF", "muComb delta phi TRK to muFast; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + // comparison IDtrk vs L2MuonSA + addHistogram( new TH1F("muComb_ptratio_TRKtoMF", "muComb Trk pt / L2MuonSA pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dR_TRKtoMF", "muComb delta R TRK to L2MuonSA; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); + addHistogram( new TH1F("muComb_deta_TRKtoMF", "muComb delta eta TRK to L2MuonSA; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dphi_TRKtoMF", "muComb delta phi TRK to L2MuonSA; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); // ID variables addHistogram( new TH1F("muComb_TRKpt", "muComb Trk pt (GeV/c); p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); @@ -94,9 +92,9 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() addHistogram( new TH1F("muComb_TRKchi2", "muComb Trk chi2; #chi^{2}; Entries", 50, 0, 10), m_histdirmucomb ); // in case of failure - addHistogram( new TH1F("muComb_failed_MFpt", "muFast pt (GeV/c) for muComb fails; p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); - addHistogram( new TH1F("muComb_failed_MFeta", "muFast eta for muComb fails; #eta; Entries", 108, -2.7, 2.7), m_histdirmucomb ); - addHistogram( new TH1F("muComb_failed_MFphi", "muFast phi for muComb fails; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFpt", "L2MuonSA pt (GeV/c) for muComb fails; p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFeta", "L2MuonSA eta for muComb fails; #eta; Entries", 108, -2.7, 2.7), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFphi", "L2MuonSA phi for muComb fails; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); // Comparison to Offline addHistogram( new TH1F("muComb_dR_toOffl", "dR between muComb and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmucomb ); @@ -165,7 +163,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() // ----------------------------- // Retrieve L2CombinedMuonContainer // ----------------------------- - const DataHandle<xAOD::L2CombinedMuonContainer> combContainer; const DataHandle<xAOD::L2CombinedMuonContainer> lastcombContainer; StatusCode sc_comb = evtStore()->retrieve(combContainer,lastcombContainer); @@ -174,10 +171,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() return StatusCode::SUCCESS; } - if ( !combContainer ) { - ATH_MSG_INFO( "CombinedMuonFeatureContainer not found. Truncated?" ); - } - ATH_MSG_DEBUG( " ====== START HLTMuon muComb MonTool ====== " ); // ----------------------------- @@ -186,12 +179,12 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() std::vector<const xAOD::L2CombinedMuon*> vec_combinedMuon; - for(; combContainer != lastcombContainer; combContainer++) { - xAOD::L2CombinedMuonContainer::const_iterator comb = combContainer->begin(); - xAOD::L2CombinedMuonContainer::const_iterator lastcomb = combContainer->end(); - for(; comb != lastcomb; comb++) { - if( (*comb)==0 ) continue; - vec_combinedMuon.push_back( *comb ); + for(auto itr=combContainer; itr != lastcombContainer; itr++) { + const xAOD::L2CombinedMuonContainer* comb(nullptr); + ATH_CHECK( evtStore()->retrieve(comb, itr.key())); + for(auto jtr=comb->begin();jtr!=comb->end();jtr++) { + if( (*jtr)==nullptr ) continue; + vec_combinedMuon.push_back( *jtr ); } } @@ -211,7 +204,7 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() // get MF - const xAOD::L2StandAloneMuon* ptr_mf = 0; + const xAOD::L2StandAloneMuon* ptr_mf = nullptr; if( (*itComb)->muSATrackLink().isValid() ) { ptr_mf = (*itComb)->muSATrack(); } @@ -225,10 +218,25 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } // get IDTrack - const xAOD::TrackParticle *ptr_trk = 0; - if( (*itComb)->idTrackLink().isValid() ) { + bool ID_con=false; + std::string ID_con_name="HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Muon_FTF"; + const xAOD::TrackParticle *ptr_trk = nullptr; + const xAOD::TrackParticleContainer* Idcbtrk = nullptr; + StatusCode sc_idcb = m_storeGate->retrieve(Idcbtrk, ID_con_name.c_str()); + if (!sc_idcb.isFailure()) { + ATH_MSG_DEBUG("the container: "<<ID_con_name<<" size:"<<Idcbtrk->size()); + if( Idcbtrk->size() > 0){ + ID_con=true; + }else{ + ATH_MSG_DEBUG("HLTMuon: found the container of "<<ID_con_name<<", but the size: zero "); + } + }else{ + ATH_MSG_DEBUG("HLTMuon can not find the container: "<<ID_con_name); + } + if( ID_con && (*itComb)->idTrackLink().isValid() ) { ptr_trk = (*itComb)->idTrack(); } + float trk_pt = 0.; float trk_eta = 0; float trk_phi = 0; @@ -325,7 +333,7 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() hist("muComb_dR_toMF", m_histdirmucomb)->Fill(dR); } - // TRK, TRK vs muFast + // TRK, TRK vs L2MuonSA hist("muComb_TRKpt", m_histdirmucomb)->Fill(trk_pt_hist); if( ptr_trk != 0 ) { hist("muComb_TRKeta", m_histdirmucomb)->Fill(trk_eta); @@ -349,7 +357,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } // loop over vecCombinedMuon - // ----------------------------- // Loop for each chain (Domae) // ----------------------------- @@ -428,13 +435,12 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } if(mf_eta != 0 && mf_phi != 0) { //tomoe added 10/06/2011 if(!mc_success && off_mf_match){ - hist2("muFast_eta_vs_phi_MCmatching_failure", m_histdirmucomb)->Fill(mf_eta,mf_phi); + hist2("L2MuonSA_eta_vs_phi_MCmatching_failure", m_histdirmucomb)->Fill(mf_eta,mf_phi); } } } } - //For passHLT chains for(unsigned int nchain=0;nchain<m_chainsL2passHLT.size();nchain++) { Trig::FeatureContainer fc = getTDT()->features(m_chainsL2passHLT[nchain]); @@ -483,7 +489,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } } - // ----------------------------- // Comparision wrt Offline // ----------------------------- diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx index 27e9251ceaf..b0b03db9d42 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx @@ -2,7 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -/** @Afile MuFastMon.cxx +/** @Afile L2MuonSAMon.cxx * * authors: Akimasa Ishikawa (akimasa.ishikawa@cern.ch) * Kunihiro Nagano (nagano@mail.cern.ch) @@ -42,166 +42,166 @@ using namespace std; -StatusCode HLTMuonMonTool::initMuFastDQA() +StatusCode HLTMuonMonTool::initL2MuonSADQA() { return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::bookMuFastDQA() +StatusCode HLTMuonMonTool::bookL2MuonSADQA() { //histograms in each 10LBs - if( newRunFlag() || newLowStatFlag() ){ +if( newRunFlag() || newLowStatFlag()){ - addHistogram( new TH2F("muFast_eta_vs_phi_in_10LBs", "muFast eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi_in_10LBs", "L2MuonSA eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); } if( newRunFlag() ){ // basic EDM variables - addHistogram( new TH1F("muFast_pt_all", "muFast pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_all_barrel", "muFast pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_all_endcap", "muFast pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt", "muFast pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_barrel", "muFast pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_endcap", "muFast pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_eta", "muFast eta; #eta; Entries", 108, -2.7, 2.7), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi", "muFast phi; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi_barrel", "muFast phi barrel; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi_endcap", "muFast phi endcap; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH2F("muFast_eta_vs_phi", "muFast eta vs phi; #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all", "L2MuonSA pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all_barrel", "L2MuonSA pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all_endcap", "L2MuonSA pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt", "L2MuonSA pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_barrel", "L2MuonSA pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_endcap", "L2MuonSA pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_eta", "L2MuonSA eta; #eta; Entries", 108, -2.7, 2.7), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi", "L2MuonSA phi; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi_barrel", "L2MuonSA phi barrel; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi_endcap", "L2MuonSA phi endcap; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi", "L2MuonSA eta vs phi; #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); // position and superpoint - addHistogram( new TH1F("muFast_saddr", "muFast station address; address; Entries", 6, -1, 5), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDTpoints_z_vs_r", "muFast MDT superpoint Z vs R (mm); Z[mm]; R[mm]", 200, -24000, 24000, 200, -14000, 14000), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_saddr", "L2MuonSA station address; address; Entries", 6, -1, 5), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDTpoints_z_vs_r", "L2MuonSA MDT superpoint Z vs R (mm); Z[mm]; R[mm]", 200, -24000, 24000, 200, -14000, 14000), m_histdirmufast ); // RoI ID in case mF failed - addHistogram( new TH1F("muFast_failed_roiId", "muFast roiId in case of failure; RoIID; Entries", 100, 0, 100000), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_failed_roiId", "L2MuonSA roiId in case of failure; RoIID; Entries", 100, 0, 100000), m_histdirmufast ); // RoI descriptor - addHistogram( new TH1F("muFast_forID_dR_toRecMuonCB_mu6", "muFast forID RoI, dR to offline CB; dR(forID vs offl CB); Entries", 100, 0, 0.5), m_histdirmufast ); - addHistogram( new TH2F("muFast_forID_deta_vs_eta_toRecMuonCB_mu6", "muFast forID RoI wrt Offline CB muon, d#eta ; offl CB #eta; d#eta(forID vs offl CB)", + addHistogram( new TH1F("L2MuonSA_forID_dR_toRecMuonCB_mu6", "L2MuonSA forID RoI, dR to offline CB; dR(forID vs offl CB); Entries", 100, 0, 0.5), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_forID_deta_vs_eta_toRecMuonCB_mu6", "L2MuonSA forID RoI wrt Offline CB muon, d#eta ; offl CB #eta; d#eta(forID vs offl CB)", 54, -2.7, 2.7, 60, -0.3, 0.3), m_histdirmufast ); - addHistogram( new TH2F("muFast_forID_dphi_vs_eta_toRecMuonCB_mu6", "muFast forID RoI wrt Offline CB muon, d#phi ; offl CB #eta; d#phi(forID vs offl CB)", + addHistogram( new TH2F("L2MuonSA_forID_dphi_vs_eta_toRecMuonCB_mu6", "L2MuonSA forID RoI wrt Offline CB muon, d#phi ; offl CB #eta; d#phi(forID vs offl CB)", 54, -2.7, 2.7, 44, -0.02, 0.2), m_histdirmufast ); // MuonFeatureDetails - addHistogram( new TH1F("muFast_proc_flow", "muFast process flow;; Entries", 6, 1, 7), m_histdirmufast ); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(1,"input"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(2,"n L1 hits > 0"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(3,"L1 emu ok at trigger layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(4,"n MDT hits > 0 at middle layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(5,"MDT fit ok at middle layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(6,"MDT fit ok at >= 2 layers"); + addHistogram( new TH1F("L2MuonSA_proc_flow", "L2MuonSA process flow;; Entries", 6, 1, 7), m_histdirmufast ); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(1,"input"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(2,"n L1 hits > 0"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(3,"L1 emu ok at trigger layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(4,"n MDT hits > 0 at middle layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(5,"MDT fit ok at middle layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(6,"MDT fit ok at >= 2 layers"); - addHistogram( new TH1F("muFast_RPC_Pad_N", "muFast RPC number of hits; RPC number of hits; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_RPC_Pad_N", "L2MuonSA RPC number of hits; RPC number of hits; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_rho_chi2", "muFast TGC big wheel rho fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_phi_chi2", "muFast TGC big wheel phi fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_rho_chi2", "L2MuonSA TGC big wheel rho fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_phi_chi2", "L2MuonSA TGC big wheel phi fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_rho_N", "muFast TGC big wheel number of hits in rho; TGC BW rho nhits; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_phi_N", "muFast TGC big wheel number of hits in eta; TGC BW phi nhtis; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_rho_N", "L2MuonSA TGC big wheel number of hits in rho; TGC BW rho nhits; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_phi_N", "L2MuonSA TGC big wheel number of hits in eta; TGC BW phi nhtis; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Inn_rho_N", "muFast TGC small wheel number of hits in rho; TGC SW rho nhits; Entries", 10, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Inn_phi_N", "muFast TGC small wheel number of hits in eta; TGC SW phi nhtis; Entries", 10, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Inn_rho_N", "L2MuonSA TGC small wheel number of hits in rho; TGC SW rho nhits; Entries", 10, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Inn_phi_N", "L2MuonSA TGC small wheel number of hits in eta; TGC SW phi nhtis; Entries", 10, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_fit_chi2_barrel", "muFast barrel MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_fit_chi2_barrel", "muFast barrel MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_fit_chi2_barrel", "muFast barrel MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_fit_chi2_endcap", "muFast endcap MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_fit_chi2_endcap", "muFast endcap MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_fit_chi2_endcap", "muFast endcap MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_N_barrel", "muFast barrel MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_N_endcap", "muFast endcap MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_residual_barrel", "muFast barrel MDT Inner station residual; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_barrel", "muFast barrel MDT Middle station residual; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_barrel", "muFast barrel MDT Outer station residual; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_residual_barrel_OffMatch", "muFast barrel MDT Inner station residual matched with Offline; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_barrel_OffMatch", "muFast barrel MDT Middle station residual matched with Offline; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_barrel_OffMatch", "muFast barrel MDT Outer station residual matched with Offline; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_N_barrel", "muFast barrel MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_N_barrel", "muFast barrel MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Out_N_barrel", "muFast barrel MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Inn_residual_barrel_vs_LB", "muFast barrel MDT Inner station residual vs LB; LB; MDT Inner barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Mid_residual_barrel_vs_LB", "muFast barrel MDT Middle station residual vs LB; LB; MDT Middle barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Out_residual_barrel_vs_LB", "muFast barrel MDT Outer station residual vs LB; LB; MDT Outer barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_residual_endcap", "muFast endcap MDT Inner station residual; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_endcap", "muFast endcap MDT Middle station residual; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_endcap", "muFast endcap MDT Outer station residual; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_residual_endcap_OffMatch", "muFast endcap MDT Inner station residual matched with Offline; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_endcap_OffMatch", "muFast endcap MDT Middle station residual matched with Offline; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_endcap_OffMatch", "muFast endcap MDT Outer station residual matched with Offline; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_N_endcap", "muFast endcap MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_N_endcap", "muFast endcap MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_N_endcap", "muFast endcap MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Inn_residual_endcap_vs_LB", "muFast endcap MDT Inner station residual vs LB; LB; MDT Inner endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Mid_residual_endcap_vs_LB", "muFast endcap MDT Middle station residual vs LB; LB; MDT Middle endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Out_residual_endcap_vs_LB", "muFast endcap MDT Outer station residual vs LB; LB; MDT Outer endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_fit_chi2_barrel", "L2MuonSA barrel MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_fit_chi2_barrel", "L2MuonSA barrel MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_fit_chi2_barrel", "L2MuonSA barrel MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_fit_chi2_endcap", "L2MuonSA endcap MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_fit_chi2_endcap", "L2MuonSA endcap MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_fit_chi2_endcap", "L2MuonSA endcap MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_N_barrel", "L2MuonSA barrel MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_N_endcap", "L2MuonSA endcap MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_barrel", "L2MuonSA barrel MDT Inner station residual; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_barrel", "L2MuonSA barrel MDT Middle station residual; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_barrel", "L2MuonSA barrel MDT Outer station residual; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_barrel_OffMatch", "L2MuonSA barrel MDT Inner station residual matched with Offline; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_barrel_OffMatch", "L2MuonSA barrel MDT Middle station residual matched with Offline; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_barrel_OffMatch", "L2MuonSA barrel MDT Outer station residual matched with Offline; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_N_barrel", "L2MuonSA barrel MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_N_barrel", "L2MuonSA barrel MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Out_N_barrel", "L2MuonSA barrel MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Inn_residual_barrel_vs_LB", "L2MuonSA barrel MDT Inner station residual vs LB; LB; MDT Inner barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Mid_residual_barrel_vs_LB", "L2MuonSA barrel MDT Middle station residual vs LB; LB; MDT Middle barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Out_residual_barrel_vs_LB", "L2MuonSA barrel MDT Outer station residual vs LB; LB; MDT Outer barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_endcap", "L2MuonSA endcap MDT Inner station residual; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_endcap", "L2MuonSA endcap MDT Middle station residual; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_endcap", "L2MuonSA endcap MDT Outer station residual; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_endcap_OffMatch", "L2MuonSA endcap MDT Inner station residual matched with Offline; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_endcap_OffMatch", "L2MuonSA endcap MDT Middle station residual matched with Offline; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_endcap_OffMatch", "L2MuonSA endcap MDT Outer station residual matched with Offline; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_N_endcap", "L2MuonSA endcap MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_N_endcap", "L2MuonSA endcap MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_N_endcap", "L2MuonSA endcap MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Inn_residual_endcap_vs_LB", "L2MuonSA endcap MDT Inner station residual vs LB; LB; MDT Inner endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Mid_residual_endcap_vs_LB", "L2MuonSA endcap MDT Middle station residual vs LB; LB; MDT Middle endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Out_residual_endcap_vs_LB", "L2MuonSA endcap MDT Outer station residual vs LB; LB; MDT Outer endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); // Comparison to Offline - addHistogram( new TH1F("muFast_dR_toRecMuonCB", "dR between muFast and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB", "muFast pT resolution wrt Offline; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos", "muFast pT resolution wrt Offline positive muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg", "muFast pT resolution wrt Offline negative muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_BR", "muFast pT resolution wrt Offline Barrel; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC1", "muFast pT resolution wrt Offline EndCap1; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC2", "muFast pT resolution wrt Offline EndCap2; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC3", "muFast pT resolution wrt Offline EndCap3; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_BR_A", "muFast pT resolution wrt Offline pos muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_BR_A", "muFast pT resolution wrt Offline neg muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC1_A", "muFast pT resolution wrt Offline pos muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC1_A", "muFast pT resolution wrt Offline neg muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC2_A", "muFast pT resolution wrt Offline pos muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC2_A", "muFast pT resolution wrt Offline neg muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC3_A", "muFast pT resolution wrt Offline pos muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC3_A", "muFast pT resolution wrt Offline neg muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_BR_C", "muFast pT resolution wrt Offline pos muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_BR_C", "muFast pT resolution wrt Offline neg muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC1_C", "muFast pT resolution wrt Offline pos muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC1_C", "muFast pT resolution wrt Offline neg muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC2_C", "muFast pT resolution wrt Offline pos muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC2_C", "muFast pT resolution wrt Offline neg muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC3_C", "muFast pT resolution wrt Offline pos muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC3_C", "muFast pT resolution wrt Offline neg muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_dR_toRecMuonCB", "dR between L2MuonSA and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB", "L2MuonSA pT resolution wrt Offline; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos", "L2MuonSA pT resolution wrt Offline positive muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg", "L2MuonSA pT resolution wrt Offline negative muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_BR", "L2MuonSA pT resolution wrt Offline Barrel; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC1", "L2MuonSA pT resolution wrt Offline EndCap1; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC2", "L2MuonSA pT resolution wrt Offline EndCap2; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC3", "L2MuonSA pT resolution wrt Offline EndCap3; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_BR_A", "L2MuonSA pT resolution wrt Offline pos muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_BR_A", "L2MuonSA pT resolution wrt Offline neg muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_BR_C", "L2MuonSA pT resolution wrt Offline pos muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_BR_C", "L2MuonSA pT resolution wrt Offline neg muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta", "muFast pT resolution wrt Offline in eta; #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT4_6", "muFast pT resolution wrt Offline in eta (pT4GeV-6GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT6_8", "muFast pT resolution wrt Offline in eta (pT6GeV-8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT8_x", "muFast pT resolution wrt Offline in eta (pT over 8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta", "L2MuonSA pT resolution wrt Offline in eta; #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT4_6", "L2MuonSA pT resolution wrt Offline in eta (pT4GeV-6GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT6_8", "L2MuonSA pT resolution wrt Offline in eta (pT6GeV-8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT8_x", "L2MuonSA pT resolution wrt Offline in eta (pT over 8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_barrel_A", "muFast barrel A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_barrel_C", "muFast barrel C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_endcap_A", "muFast endcap A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_endcap_C", "muFast endcap C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_A", "L2MuonSA barrel A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_C", "L2MuonSA barrel C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_A", "L2MuonSA endcap A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_C", "L2MuonSA endcap C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); // Efficiency wrt Offline - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt", "muFast effi pt (GeV/c); p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_numer", "muFast effi pt (GeV/c) numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_denom", "muFast effi pt (GeV/c) denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel", "muFast effi pt (GeV/c) barrel; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel_numer", "muFast effi pt (GeV/c) barrel numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel_denom", "muFast effi pt (GeV/c) barrel denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap", "muFast effi pt (GeV/c) endcap; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap_numer", "muFast effi pt (GeV/c) endcap numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap_denom", "muFast effi pt (GeV/c) endcap denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt", "L2MuonSA effi pt (GeV/c); p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_numer", "L2MuonSA effi pt (GeV/c) numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_denom", "L2MuonSA effi pt (GeV/c) denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel", "L2MuonSA effi pt (GeV/c) barrel; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", "L2MuonSA effi pt (GeV/c) barrel numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", "L2MuonSA effi pt (GeV/c) barrel denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap", "L2MuonSA effi pt (GeV/c) endcap; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", "L2MuonSA effi pt (GeV/c) endcap numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", "L2MuonSA effi pt (GeV/c) endcap denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta", "muFast effi eta; #eta; Efficiency", 32, -3.2, 3.2), m_histdireff ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta_numer", "muFast effi eta numer; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta_denom", "muFast effi eta denom; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta", "L2MuonSA effi eta; #eta; Efficiency", 32, -3.2, 3.2), m_histdireff ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta_numer", "L2MuonSA effi eta numer; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta_denom", "L2MuonSA effi eta denom; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi", "muFast effi phi; #phi[rad]; Efficiency", 32, -CLHEP::pi, CLHEP::pi), m_histdireff ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi_numer", "muFast effi phi numer; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi_denom", "muFast effi phi denom; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi", "L2MuonSA effi phi; #phi[rad]; Efficiency", 32, -CLHEP::pi, CLHEP::pi), m_histdireff ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi_numer", "L2MuonSA effi phi numer; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi_denom", "L2MuonSA effi phi denom; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); } @@ -210,7 +210,7 @@ StatusCode HLTMuonMonTool::bookMuFastDQA() return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::fillMuFastDQA() +StatusCode HLTMuonMonTool::fillL2MuonSADQA() { hist("Common_Counter", m_histdir )->Fill((float)MUFAST); @@ -233,33 +233,32 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() // ----------------------------- // Retrieve L2StandAloneMuonContainer // ----------------------------- - const DataHandle<xAOD::L2StandAloneMuonContainer> mfContainer; const DataHandle<xAOD::L2StandAloneMuonContainer> lastmfContainer; StatusCode sc_mf = evtStore()->retrieve(mfContainer,lastmfContainer); if ( sc_mf.isFailure() ) { - ATH_MSG_VERBOSE( "Failed to retrieve HLT muFast container" ); + ATH_MSG_VERBOSE( "Failed to retrieve HLT L2MuonSA container" ); return StatusCode::SUCCESS; } - ATH_MSG_DEBUG( " ====== START HLTMuon muFast MonTool ====== " ); + ATH_MSG_DEBUG( " ====== START HLTMuon L2MuonSA MonTool ====== " ); // ----------------------------- // Dump muonFeature info // ----------------------------- std::vector<const xAOD::L2StandAloneMuon*> vec_muonFeatures; - - for(; mfContainer != lastmfContainer; mfContainer++) { - xAOD::L2StandAloneMuonContainer::const_iterator mf = mfContainer->begin(); - xAOD::L2StandAloneMuonContainer::const_iterator lastmf = mfContainer->end(); - for(; mf != lastmf; mf++) { - if( (*mf) == 0 ) continue; - vec_muonFeatures.push_back( *mf ); + vec_muonFeatures.clear(); + for(auto itr=mfContainer;itr != lastmfContainer; itr++) { + const xAOD::L2StandAloneMuonContainer* mf(nullptr); + ATH_CHECK( evtStore()->retrieve(mf, itr.key())); + for(auto jtr=mf->begin(); jtr!=mf->end(); jtr++){ + if( (*jtr)==nullptr ) continue; + vec_muonFeatures.push_back( *jtr ); } } - int nMuFast = vec_muonFeatures.size(); + int nL2MuonSA = vec_muonFeatures.size(); std::vector<const xAOD::L2StandAloneMuon*>::const_iterator itMf; @@ -267,8 +266,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() for(itMf=vec_muonFeatures.begin(); itMf != vec_muonFeatures.end(); itMf++) { //nmf++; int id = (*itMf)->algoId(); - // if( id != 0 ) continue;//muFast_900GeV - // if( id != 1 ) continue;//muFast_Muon + // if( id != 0 ) continue;//L2MuonSA_900GeV + // if( id != 1 ) continue;//L2MuonSA_Muon float pt = (*itMf)->pt(); float eta = (*itMf)->eta(); float phi = (*itMf)->phi(); @@ -311,34 +310,34 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() else { pt_hist = -PT_OVFL; } } - hist("muFast_pt_all", m_histdirmufast)->Fill(pt_hist); - if( isEndcap ) { hist("muFast_pt_all_endcap", m_histdirmufast)->Fill(pt_hist); } - else { hist("muFast_pt_all_barrel", m_histdirmufast)->Fill(pt_hist); } + hist("L2MuonSA_pt_all", m_histdirmufast)->Fill(pt_hist); + if( isEndcap ) { hist("L2MuonSA_pt_all_endcap", m_histdirmufast)->Fill(pt_hist); } + else { hist("L2MuonSA_pt_all_barrel", m_histdirmufast)->Fill(pt_hist); } if( ! mf_success ) { - hist("muFast_failed_roiId", m_histdirmufast)->Fill(roiId+0.01); + hist("L2MuonSA_failed_roiId", m_histdirmufast)->Fill(roiId+0.01); continue; } // basic histos - hist("muFast_pt", m_histdirmufast)->Fill(pt_hist); - hist("muFast_eta", m_histdirmufast)->Fill(eta); - hist("muFast_phi", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_eta", m_histdirmufast)->Fill(eta); + hist("L2MuonSA_phi", m_histdirmufast)->Fill(phi); if( mf_success ){ - hist2("muFast_eta_vs_phi", m_histdirmufast)->Fill(eta,phi); - hist2("muFast_eta_vs_phi_in_10LBs", m_histdircoverage)->Fill(eta,phi); + hist2("L2MuonSA_eta_vs_phi", m_histdirmufast)->Fill(eta,phi); + hist2("L2MuonSA_eta_vs_phi_in_10LBs", m_histdircoverage)->Fill(eta,phi); } if( isEndcap ) { - hist("muFast_pt_endcap", m_histdirmufast)->Fill(pt_hist); - hist("muFast_phi_endcap", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt_endcap", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_phi_endcap", m_histdirmufast)->Fill(phi); } else { - hist("muFast_pt_barrel", m_histdirmufast)->Fill(pt_hist); - hist("muFast_phi_barrel", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt_barrel", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_phi_barrel", m_histdirmufast)->Fill(phi); } // position, superpoints - hist("muFast_saddr", m_histdirmufast )->Fill(saddr+0.01); + hist("L2MuonSA_saddr", m_histdirmufast )->Fill(saddr+0.01); std::vector<float> sp_r; std::vector<float> sp_z; if( fabs((*itMf)->superPointR(inner)) > ZERO_LIMIT ) { @@ -356,13 +355,12 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() float sign = 1; if( phi < 0 ) sign = -1; for(int i=0; i<(int)sp_r.size(); i++) { - hist2("muFast_MDTpoints_z_vs_r", m_histdirmufast)->Fill( sp_z[i], sign*sp_r[i] ); + hist2("L2MuonSA_MDTpoints_z_vs_r", m_histdirmufast)->Fill( sp_z[i], sign*sp_r[i] ); } } // loop over vecMuonFeatures - - int nMuFastD = vec_muonFeatures.size(); + int nL2MuonSAD = vec_muonFeatures.size(); std::vector<const xAOD::L2StandAloneMuon*>::const_iterator itMfd; @@ -373,8 +371,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() bool off_match = false; //nmfd++; // int id = (*itMfd)->algoId(); - //if( id != 0 ) continue;//muFast_900GeV //attention - //if( id != 1 ) continue;//muFast_Muon + //if( id != 0 ) continue;//L2MuonSA_900GeV //attention + //if( id != 1 ) continue;//L2MuonSA_Muon //if( id < 10 ) nmfd10++; int systemID = (*itMfd)->roiSystem();//0:barrel,1:endcap,2:forward // (YY commented out for suppressing warning) float pt = (*itMfd)->Pt(); @@ -456,8 +454,6 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() int n_mdt_hits_outer = 0; - // if muFast succeeded segment reconstruction. - //std::cout << "L1_MBTS_2 " << getTDT()->isPassed( "L1_MBTS_2" ) << " L1_MU0 " << getTDT()->isPassed( "L1_MU0" ) << std::endl; if( !isEndcap ){//barrel for(int i_tube=0; i_tube<n_mdt_hits; i_tube++) { @@ -474,26 +470,26 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if ( imr == inner ) { n_mdt_hits_inner++; - hist("muFast_MDT_Inn_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Inn_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Inn_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Inn_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Inn_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Inn_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == middle ) { n_mdt_hits_middle++; - hist("muFast_MDT_Mid_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Mid_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Mid_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Mid_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Mid_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Mid_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == outer ) { n_mdt_hits_outer++; - hist("muFast_MDT_Out_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Out_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Out_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Out_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Out_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Out_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } } @@ -520,26 +516,26 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if ( imr == inner ) { n_mdt_hits_inner++; - hist("muFast_MDT_Inn_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Inn_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Inn_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Inn_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Inn_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Inn_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == middle ) { n_mdt_hits_middle++; - hist("muFast_MDT_Mid_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Mid_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Mid_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Mid_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Mid_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Mid_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == outer ) { n_mdt_hits_outer++; - hist("muFast_MDT_Out_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Out_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Out_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Out_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Out_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Out_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } } @@ -565,46 +561,46 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() ATH_MSG_DEBUG("isMDThitThere/FitOkForTriggerPlane/FitOkFor2Plane=" << isMDThitThereForTriggerPlane << " / " << isMDTFitOkForTriggerPlane << " / " << isMDTFitOkFor2Plane); - hist("muFast_proc_flow",m_histdirmufast)->Fill(1+0.01); - if( isL1hitThere ) hist("muFast_proc_flow",m_histdirmufast)->Fill(2+0.01); - if( isL1emuOkForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(3+0.01); - if( isMDThitThereForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(4+0.01); - if( isMDTFitOkForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(5+0.01); - if( isMDTFitOkFor2Plane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(6+0.01); + hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(1+0.01); + if( isL1hitThere ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(2+0.01); + if( isL1emuOkForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(3+0.01); + if( isMDThitThereForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(4+0.01); + if( isMDTFitOkForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(5+0.01); + if( isMDTFitOkFor2Plane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(6+0.01); // fill if( systemID==0 ){//barrel - hist("muFast_RPC_Pad_N", m_histdirmufast)->Fill(nRPC); + hist("L2MuonSA_RPC_Pad_N", m_histdirmufast)->Fill(nRPC); - hist("muFast_MDT_Inn_fit_chi2_barrel", m_histdirmufast)->Fill(MDTInnChi2); - hist("muFast_MDT_Mid_fit_chi2_barrel", m_histdirmufast)->Fill(MDTMidChi2); - hist("muFast_MDT_Out_fit_chi2_barrel", m_histdirmufast)->Fill(MDTOutChi2); + hist("L2MuonSA_MDT_Inn_fit_chi2_barrel", m_histdirmufast)->Fill(MDTInnChi2); + hist("L2MuonSA_MDT_Mid_fit_chi2_barrel", m_histdirmufast)->Fill(MDTMidChi2); + hist("L2MuonSA_MDT_Out_fit_chi2_barrel", m_histdirmufast)->Fill(MDTOutChi2); - hist("muFast_MDT_N_barrel", m_histdirmufast)->Fill(n_mdt_hits+0.01); + hist("L2MuonSA_MDT_N_barrel", m_histdirmufast)->Fill(n_mdt_hits+0.01); - hist("muFast_MDT_Inn_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); - hist("muFast_MDT_Mid_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); - hist("muFast_MDT_Out_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); + hist("L2MuonSA_MDT_Inn_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); + hist("L2MuonSA_MDT_Mid_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); + hist("L2MuonSA_MDT_Out_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); }else{//endcap - hist("muFast_TGC_Mid_rho_N", m_histdirmufast)->Fill(nTGCMidRho+0.01); - hist("muFast_TGC_Mid_phi_N", m_histdirmufast)->Fill(nTGCMidPhi+0.01); - hist("muFast_TGC_Inn_rho_N", m_histdirmufast)->Fill(nTGCInnRho+0.01); - hist("muFast_TGC_Inn_phi_N", m_histdirmufast)->Fill(nTGCInnPhi+0.01); + hist("L2MuonSA_TGC_Mid_rho_N", m_histdirmufast)->Fill(nTGCMidRho+0.01); + hist("L2MuonSA_TGC_Mid_phi_N", m_histdirmufast)->Fill(nTGCMidPhi+0.01); + hist("L2MuonSA_TGC_Inn_rho_N", m_histdirmufast)->Fill(nTGCInnRho+0.01); + hist("L2MuonSA_TGC_Inn_phi_N", m_histdirmufast)->Fill(nTGCInnPhi+0.01); - hist("muFast_TGC_Mid_rho_chi2", m_histdirmufast)->Fill(TGCMidRhoChi2); - hist("muFast_TGC_Mid_phi_chi2", m_histdirmufast)->Fill(TGCMidPhiChi2); + hist("L2MuonSA_TGC_Mid_rho_chi2", m_histdirmufast)->Fill(TGCMidRhoChi2); + hist("L2MuonSA_TGC_Mid_phi_chi2", m_histdirmufast)->Fill(TGCMidPhiChi2); - hist("muFast_MDT_Inn_fit_chi2_endcap", m_histdirmufast)->Fill(MDTInnChi2); - hist("muFast_MDT_Mid_fit_chi2_endcap", m_histdirmufast)->Fill(MDTMidChi2); - hist("muFast_MDT_Out_fit_chi2_endcap", m_histdirmufast)->Fill(MDTOutChi2); + hist("L2MuonSA_MDT_Inn_fit_chi2_endcap", m_histdirmufast)->Fill(MDTInnChi2); + hist("L2MuonSA_MDT_Mid_fit_chi2_endcap", m_histdirmufast)->Fill(MDTMidChi2); + hist("L2MuonSA_MDT_Out_fit_chi2_endcap", m_histdirmufast)->Fill(MDTOutChi2); - hist("muFast_MDT_N_endcap", m_histdirmufast)->Fill(n_mdt_hits); + hist("L2MuonSA_MDT_N_endcap", m_histdirmufast)->Fill(n_mdt_hits); - hist("muFast_MDT_Inn_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); - hist("muFast_MDT_Mid_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); - hist("muFast_MDT_Out_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); + hist("L2MuonSA_MDT_Inn_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); + hist("L2MuonSA_MDT_Mid_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); + hist("L2MuonSA_MDT_Out_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); } } // end of loop MuonFeture @@ -640,15 +636,15 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if( signed_pt_offl_hist > EFFI_PT_HISTMAX ) signed_pt_offl_hist = EFFI_PT_OVFL; else if( signed_pt_offl_hist < -EFFI_PT_HISTMAX ) signed_pt_offl_hist = -EFFI_PT_OVFL; - hist("muFast_effi_toRecMuonCB_pt_denom", m_histdirmufast)->Fill(pt_offl_hist); - hist("muFast_effi_toRecMuonCB_eta_denom", m_histdirmufast)->Fill(eta_offl); - hist("muFast_effi_toRecMuonCB_phi_denom", m_histdirmufast)->Fill(phi_offl); + hist("L2MuonSA_effi_toRecMuonCB_pt_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_eta_denom", m_histdirmufast)->Fill(eta_offl); + hist("L2MuonSA_effi_toRecMuonCB_phi_denom", m_histdirmufast)->Fill(phi_offl); if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast)->Fill(pt_offl_hist); } else { - hist("muFast_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast)->Fill(pt_offl_hist); } // check whether matching muonFeature is there @@ -668,8 +664,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() } - hist("muFast_dR_toRecMuonCB", m_histdirmufast)->Fill(dRmin); - if( dRmin > DR_MATCHED ) continue; // not matched to muFast + hist("L2MuonSA_dR_toRecMuonCB", m_histdirmufast)->Fill(dRmin); + if( dRmin > DR_MATCHED ) continue; // not matched to L2MuonSA // efficiencies, resolutions float ptresol = 0; @@ -682,113 +678,113 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() } if( fabs(ptresol) > PTRESOL_HISTMAX ) ptresol_hist = ptresol_hist / fabs(ptresol_hist) * PTRESOL_OVFL; - hist("muFast_ptresol_toRecMuonCB", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg", m_histdirmufast)->Fill(invptresol_signed); } - hist2("muFast_ptresol_toRecMuonCB_eta", m_histdirmufast)->Fill(eta_offl, ptresol_hist); - hist("muFast_effi_toRecMuonCB_pt_numer", m_histdirmufast)->Fill(pt_offl_hist); - hist("muFast_effi_toRecMuonCB_eta_numer", m_histdirmufast)->Fill(eta_offl); - hist("muFast_effi_toRecMuonCB_phi_numer", m_histdirmufast)->Fill(phi_offl); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_numer", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_eta_numer", m_histdirmufast)->Fill(eta_offl); + hist("L2MuonSA_effi_toRecMuonCB_phi_numer", m_histdirmufast)->Fill(phi_offl); if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast)->Fill(pt_offl_hist); - if(eta_offl>0) hist2("muFast_ptresol_toRecMuonCB_pt_barrel_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); - else hist2("muFast_ptresol_toRecMuonCB_pt_barrel_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast)->Fill(pt_offl_hist); + if(eta_offl>0) hist2("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + else hist2("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); } else { - hist("muFast_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast)->Fill(pt_offl_hist); - if(eta_offl>0) hist2("muFast_ptresol_toRecMuonCB_pt_endcap_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); - else hist2("muFast_ptresol_toRecMuonCB_pt_endcap_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast)->Fill(pt_offl_hist); + if(eta_offl>0) hist2("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + else hist2("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); } if (eta_offl >= 0) { if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_BR_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_BR_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_BR_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_BR_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP1){ - hist("muFast_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC1_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC1_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP2){ - hist("muFast_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC2_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC2_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP3){ - hist("muFast_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC3_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC3_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_A", m_histdirmufast)->Fill(invptresol_signed); } } } else { if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_BR_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_BR_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_BR_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_BR_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP1){ - hist("muFast_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC1_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC1_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP2){ - hist("muFast_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC2_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC2_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP3){ - hist("muFast_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC3_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC3_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_C", m_histdirmufast)->Fill(invptresol_signed); } } } if( fabs(pt_offl) > 4 ) { if( fabs(pt_offl) < 6 ){ - hist2("muFast_ptresol_toRecMuonCB_eta_pT4_6", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT4_6", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } else if( fabs(pt_offl) < 8 ){ - hist2("muFast_ptresol_toRecMuonCB_eta_pT6_8", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT6_8", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } else{ - hist2("muFast_ptresol_toRecMuonCB_eta_pT8_x", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT8_x", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } } @@ -820,9 +816,9 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() ATH_MSG_DEBUG("mu6(MF): dR matched=" << dRmin_mu6); ATH_MSG_DEBUG(" : forID RoI eta/phi=" << forIDroi_eta_mu6 << " / " << forIDroi_phi_mu6); ATH_MSG_DEBUG(" : forID RoI dR/deta/dphi wrt Offl CB=" << dr << " / " << deta << " / " << dphi); - hist("muFast_forID_dR_toRecMuonCB_mu6", m_histdirmufast)->Fill(dr); - hist2("muFast_forID_deta_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,deta); - hist2("muFast_forID_dphi_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,dphi); + hist("L2MuonSA_forID_dR_toRecMuonCB_mu6", m_histdirmufast)->Fill(dr); + hist2("L2MuonSA_forID_deta_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,deta); + hist2("L2MuonSA_forID_dphi_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,dphi); } } // end of offline muon loop @@ -831,32 +827,32 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() // end // ----------------------------- - if(nMuFast)hist("Common_Counter", m_histdir)->Fill((float)MUFASTFOUND); - if(nMuFastD)hist("Common_Counter", m_histdir)->Fill((float)MUFASTDFOUND); + if(nL2MuonSA)hist("Common_Counter", m_histdir)->Fill((float)MUFASTFOUND); + if(nL2MuonSAD)hist("Common_Counter", m_histdir)->Fill((float)MUFASTDFOUND); return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::procMuFastDQA() +StatusCode HLTMuonMonTool::procL2MuonSADQA() { if( endOfRunFlag() ){ // efficiency histograms - hist("muFast_effi_toRecMuonCB_pt", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_pt_barrel", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt_barrel", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_pt_endcap", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt_endcap", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_eta", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_eta", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_eta_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_eta_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_eta", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_eta", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_eta_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_eta_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_phi", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_phi", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_phi_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_phi_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_phi", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_phi", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_phi_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_phi_denom", m_histdirmufast), 1, 1, "B" ); } //else if( endOfLumiBlockFlag() ){ } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx index c3675e029c2..d1ca17e0d08 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx @@ -48,8 +48,6 @@ StatusCode HLTMuonMonTool::initMuGirlDQA() StatusCode HLTMuonMonTool::bookMuGirlDQA() { - //if( newRunFlag() ){ } - //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; } @@ -60,7 +58,5 @@ StatusCode HLTMuonMonTool::fillMuGirlDQA() StatusCode HLTMuonMonTool::procMuGirlDQA() { - //if( m_endOfRun ){ } - //else if( m_endOfLumiBlock ){ } return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx index 08552c1bed1..78d8514bb01 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx @@ -121,13 +121,13 @@ StatusCode HLTMuonMonTool::fillMuIsoDQA() // ----------------------------- std::vector<const IsoMuonFeature*> vec_isoMuonFeatures; - - for(; isoContainer != lastisoContainer; isoContainer++) { - IsoMuonFeatureContainer::const_iterator iso = isoContainer->begin(); - IsoMuonFeatureContainer::const_iterator lastiso = isoContainer->end(); - for(; iso != lastiso; iso++) { - if( (*iso)==0 ) continue; - vec_isoMuonFeatures.push_back( *iso ); + vec_isoMuonFeatures.clear(); + for(auto itr=isoContainer; itr!= lastisoContainer; itr++) { + const IsoMuonFeatureContainer* iso(nullptr); + ATH_CHECK( evtStore()->retrieve(iso, itr.key())); + for(auto jtr=iso->begin(); jtr!= iso->end(); jtr++) { + if( (*jtr)==nullptr ) continue; + vec_isoMuonFeatures.push_back( *jtr ); } } @@ -256,7 +256,6 @@ StatusCode HLTMuonMonTool::procMuIsoDQA() hist("muIso_effi_toOffl_pt", m_histdireff)->Sumw2(); hist("muIso_effi_toOffl_pt", m_histdireff)->Divide( hist("muIso_effi_toOffl_pt_numer", m_histdirmuiso ), hist("muIso_effi_toOffl_pt_denom", m_histdirmuiso ), 1, 1, "B" ); - } //else if ( endOfLumiBlockFlag() ) { } return StatusCode::SUCCESS; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx index fdf18a10d64..55fa2e69bfb 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx @@ -143,7 +143,7 @@ StatusCode HLTMuonMonTool::bookMuZTPDQA() }else{ ptbins[0] = 0; ptbins[1] = 30; - ptbins[2] = 50; + ptbins[2] = 60; ptbins[3] = 100; ptbins[4] = 500; } @@ -249,7 +249,6 @@ StatusCode HLTMuonMonTool::bookMuZTPDQA() if(isefisochain) ratio.push_back("EFIsowrtEF"); }//var }//trigger vector - } //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; @@ -470,8 +469,8 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() // end the code add by Yuan // 2 Oct 2014 YY: not simple to find an active TE? think about it - // bool L2CBActive = false; - // bool L2SAActive = false; + bool L2CBActive = false; + bool L2SAActive = false; /////// L2 ///////////// // 2 Oct 2014 - YY: getting CombinedMuonFeature from HLT combinations @@ -481,36 +480,52 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() // if(!ismuIsochain) std::vector<Trig::Feature<xAOD::L2CombinedMuonContainer> > muCombL2Feature = (*jL2).get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if (muCombL2Feature.size()!=1) { - ATH_MSG_DEBUG( "Vector of L2 muComb InfoContainers size is not 1" ); - } else { - const xAOD::L2CombinedMuonContainer* muCombL2 = muCombL2Feature[0]; + for (auto &fCB : muCombL2Feature){ + const xAOD::L2CombinedMuonContainer* muCombL2 = fCB.cptr(); if (!muCombL2) { ATH_MSG_DEBUG( "No muComb track found" ); } else { ATH_MSG_DEBUG( " muComb muon exists " ); - // L2CBActive = muCombL2.te()->getActiveState(); - L2Cbpt.push_back(muCombL2->at(0)->pt()); - L2Cbeta.push_back(muCombL2->at(0)->eta()); - L2Cbphi.push_back(muCombL2->at(0)->phi()); + L2CBActive = fCB.te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*fCB.te()) << " / " << L2CBActive); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(fCB.te(), "L2muComb", itmap->first); + if(hypo){ + L2CBActive = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*hypo) << " / " << L2CBActive); + } + } + if(L2CBActive){ + L2Cbpt.push_back(muCombL2->at(0)->pt()); + L2Cbeta.push_back(muCombL2->at(0)->eta()); + L2Cbphi.push_back(muCombL2->at(0)->phi()); + } } } }//!isMSonlychain - //muFast - std::vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > muFastL2Feature = (*jL2).get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if (muFastL2Feature.size() != 1) { - ATH_MSG_DEBUG( "Vector of L2 muFast InfoContainers size is not 1" ); - } else { - const xAOD::L2StandAloneMuonContainer* muFastL2 = muFastL2Feature[0]; - if (!muFastL2) { + //L2MuonSA + std::vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > L2MuonSAL2Feature = (*jL2).get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + for (auto &fSA : L2MuonSAL2Feature){ + const xAOD::L2StandAloneMuonContainer* L2MuonSAL2 = fSA.cptr(); + if (!L2MuonSAL2) { ATH_MSG_DEBUG( "No mufast track found" ); } else { - ATH_MSG_DEBUG( " muFast muon exists " ); - // L2SAActive = muFastL2.te()->getActiveState(); - L2Expt.push_back( muFastL2->at(0)->pt()); - L2Exeta.push_back(muFastL2->at(0)->eta()); - L2Exphi.push_back(muFastL2->at(0)->phi()); + ATH_MSG_DEBUG( " L2MuonSA muon exists " ); + L2SAActive = fSA.te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*fSA.te()) << " / " << L2SAActive); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(fSA.te(), "L2MuonSA", itmap->first); + if(hypo){ + L2SAActive = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*hypo) << " / " << L2SAActive); + } + } + if(L2SAActive){ + L2Expt.push_back( L2MuonSAL2->at(0)->pt()); + L2Exeta.push_back(L2MuonSAL2->at(0)->eta()); + L2Exphi.push_back(L2MuonSAL2->at(0)->phi()); + } } } }//jL2 @@ -644,7 +659,7 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() if (recMuon->combinedTrackParticleLink()!=0 ){ ATH_MSG_DEBUG( "CB muon found" ); - if(recMuon->muonType() != xAOD::Muon::MuonType::Combined) ATH_MSG_WARNING( " Combined track link found, but not a combined muon!!!!"); + if(recMuon->muonType() != xAOD::Muon::MuonType::Combined) ATH_MSG_DEBUG( " Combined track link found, but not a combined muon!!!!"); n_RecCBmuon++; @@ -769,7 +784,7 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() hist2(("muZTP_EtaPhi_L1_" + itmap->second).c_str(), histdirmuztp)->Fill(probeeta, probephi); } //L2 - if(isTriggered_L2 && isMSonlychain && passedSAchainL2[probe] && passedchainL1[probe]) { //muFast + if(isTriggered_L2 && isMSonlychain && passedSAchainL2[probe] && passedchainL1[probe]) { //L2MuonSA hist(("muZTP_Pt_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); hist(("muZTP_Pt_4bins_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); if( isEndcap ) hist(("muZTP_Pt_EC_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); @@ -996,7 +1011,6 @@ StatusCode HLTMuonMonTool::procMuZTPDQA() //RELATIVE }//var } - } //else if( endOfLumiBlockFlag() ){ } return StatusCode::SUCCESS; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx index b04112cd286..d936efd5d0c 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx @@ -51,6 +51,7 @@ using namespace std; + StatusCode HLTMuonMonTool::initMuonEFDQA() { return StatusCode::SUCCESS; @@ -149,15 +150,15 @@ StatusCode HLTMuonMonTool::bookMuonEFDQA() addHistogram(new TH1F("RecAwareCBmuon_eta", "RecCBmuon_eta ; #eta", 200,-5.,5.), m_histdirmuonef); addHistogram(new TH1F("RecAwareCBmuon_phi", "RecCBmuon_phi ; #phi[rad]", 100,-3.15,3.15), m_histdirmuonef); - // correlation histograms -- EFMS vs Reco muons which passed LVL2 MuFast - addHistogram(new TH2F("EF_SAwrtRecL2Aware_PtCor", "PtCor_SAwrtRecMuFastAware ; RecSAmuon_Pt [GeV/c]; EFSAmuon_Pt [GeV/c]", 100, 0.,100., 100, 0.,100.), m_histdirmuonef); - addHistogram(new TH2F("EF_SAwrtRecL2Aware_EtaCor", "EtaCor_SAwrtRecMuFastAware ; RecSAmuon_Eta ; EFSAmuon_Eta", 100,-3.2,3.2, 100,-3.2,3.2), m_histdirmuonef); - addHistogram(new TH2F("EF_SAwrtRecL2Aware_PhiCor", "PhiCor_SAwrtRecMuFastAware ; RecSAmuon_Phi [rad]; EFSAmuon_Phi [rad]", 100,-3.15,3.15, 100,-3.15,3.15), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPt", "dPt_SAwrtRecMuFastAware ; dPt [GeV/c]", 100,-0.5,0.5), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dEta", "dEta_SAwrtRecMuFastAware ; dEta", 200,-5.,5.), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPhi", "dPhi_SAwrtRecMuFastAware ; dPhi [rad]", 100,-3.15,3.15), m_histdirmuonef); + // correlation histograms -- EFMS vs Reco muons which passed LVL2 L2MuonSA + addHistogram(new TH2F("EF_SAwrtRecL2Aware_PtCor", "PtCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Pt [GeV/c]; EFSAmuon_Pt [GeV/c]", 100, 0.,100., 100, 0.,100.), m_histdirmuonef); + addHistogram(new TH2F("EF_SAwrtRecL2Aware_EtaCor", "EtaCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Eta ; EFSAmuon_Eta", 100,-3.2,3.2, 100,-3.2,3.2), m_histdirmuonef); + addHistogram(new TH2F("EF_SAwrtRecL2Aware_PhiCor", "PhiCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Phi [rad]; EFSAmuon_Phi [rad]", 100,-3.15,3.15, 100,-3.15,3.15), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPt", "dPt_SAwrtRecL2MuonSAAware ; dPt [GeV/c]", 100,-0.5,0.5), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dEta", "dEta_SAwrtRecL2MuonSAAware ; dEta", 200,-5.,5.), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPhi", "dPhi_SAwrtRecL2MuonSAAware ; dPhi [rad]", 100,-3.15,3.15), m_histdirmuonef); - // Muon EF SA Efficiencies: SA Muons wrt Reco muons which passed LVL2 MuFast + // Muon EF SA Efficiencies: SA Muons wrt Reco muons which passed LVL2 L2MuonSA addHistogram(new TH1F("EffSA_L2Aware_pt", "pt ; p_{T}[GeV/c]", 100,0.,100.), m_histdirmuonef); addHistogram(new TH1F("EffSA_L2Aware_eta", "eta ; #eta", 200,-5.,5.), m_histdirmuonef); addHistogram(new TH1F("EffSA_L2Aware_phi", "phi ; #phi[rad]", 100,-3.15,3.15), m_histdirmuonef); @@ -226,8 +227,21 @@ StatusCode HLTMuonMonTool::bookMuonEFDQA() addHistogram( new TH1F("EF_SA_Over_Moore_SA_10GeV_Cut", "EF_SA_Over_Moore_SA_10GeV_Cut; LB ; Ratio", 400, 1., 801.), m_histdirrateratio ); addHistogram( new TH1F("EF_CB_Over_Muid_10GeV_Cut", "EF_CB_Over_Muid_10GeV_Cut; LB ; Ratio", 400, 1., 801.), m_histdirrateratio ); + //single chain monitoring ATR-17713 + std::vector<string> triggerlist; + triggerlist.insert(triggerlist.end(), m_chainsGeneric.begin(), m_chainsGeneric.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFiso.begin(), m_chainsEFiso.end()); + triggerlist.insert(triggerlist.end(), m_chainsMSonly.begin(), m_chainsMSonly.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFFS.begin(), m_chainsEFFS.end()); + triggerlist.insert(triggerlist.end(), m_chainsLowpt.begin(), m_chainsLowpt.end()); + for (std::string trig : triggerlist){ + addHistogram( new TH1F(Form("EF_pt_%s",trig.c_str()), Form("TrigMuonEF pT %s; p_{T}; Entries", trig.c_str()), 105, 0., 105.), m_histdirmuonef ); + addHistogram( new TH1F(Form("EF_eta_%s",trig.c_str()), Form("TrigMuonEF #eta %s; #eta; Entries", trig.c_str()), 108, -2.7, 2.7), m_histdirmuonef ); + addHistogram( new TH1F(Form("EF_phi_%s",trig.c_str()), Form("TrigMuonEF #phi[rad] %s; #phi [rad]; Entries", trig.c_str()), 96, -CLHEP::pi,CLHEP::pi), m_histdirmuonef ); + } + } - //else if( newLumiBlockFlag() ){ } + //else if( endOfLumiBlockFlag() ){ } return StatusCode::SUCCESS; } @@ -300,7 +314,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() int nMuonEFiMS=0, nMuonEFiSA=0, nMuonEFiCB=0; int nMuonEFMS=0, nMuonEFSA=0, nMuonEFCB=0; int nmethod = 0; - // Section 1: simple histograms // First try from xAOD::Muon const xAOD::MuonContainer* muonEFcontainer(0); @@ -320,8 +333,8 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() //float signed_pt = float(std::abs(muon->pt())/CLHEP::GeV * ((*muon).charge())) ; const xAOD::TrackParticle* trk = muon->primaryTrackParticle(); if(!trk) { - ATH_MSG_WARNING("Could not retrieve linked primary track particle"); - continue; + ATH_MSG_WARNING("Could not retrieve linked primary track particle"); + continue; } float signed_pt = float(std::abs(muon->pt())/CLHEP::GeV *trk->charge()); float eta = float(muon->eta()); @@ -685,7 +698,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() xAOD::MuonContainer::const_iterator contItr = muonCont->begin(); xAOD::MuonContainer::const_iterator contItrE = muonCont->end(); - for (; contItr != contItrE; contItr++){ float pt = - 999999.; @@ -745,7 +757,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF TrackBuilder for(int i_offl=0;i_offl<(int)m_pt_RecMSmuon.size();i_offl++) { - float pt_offl = m_pt_RecMSmuon.at(i_offl); float eta_offl = m_eta_RecMSmuon.at(i_offl); float phi_offl = m_phi_RecMSmuon.at(i_offl); @@ -793,7 +804,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF Extrapolator for(int i_offl=0;i_offl<(int)m_pt_RecSAmuon.size();i_offl++) { - float pt_offl = m_pt_RecSAmuon.at(i_offl); float eta_offl = m_eta_RecSAmuon.at(i_offl); float phi_offl = m_phi_RecSAmuon.at(i_offl); @@ -842,7 +852,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF Combiner for(int i_offl=0;i_offl<(int)m_pt_RecCBmuon.size();i_offl++) { - float pt_offl = m_pt_RecCBmuon.at(i_offl); float eta_offl = m_eta_RecCBmuon.at(i_offl); float phi_offl = m_phi_RecCBmuon.at(i_offl); @@ -907,18 +916,17 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() const DataHandle<xAOD::L2StandAloneMuonContainer> lastmfContainer; StatusCode sc_mf = evtStore()->retrieve(mfContainer,lastmfContainer); if ( sc_mf.isFailure() ) { - ATH_MSG_WARNING( "Failed to retrieve HLT muFast container" ); + ATH_MSG_WARNING( "Failed to retrieve HLT L2MuonSA container" ); return StatusCode::SUCCESS; } // Loop over muonFeatureContainer - int nMuFast=0; - for(; mfContainer != lastmfContainer; mfContainer++) { + int nL2MuonSA=0; + for(auto jtr=mfContainer; jtr != lastmfContainer; jtr++) { - xAOD::L2StandAloneMuonContainer::const_iterator mf = mfContainer->begin(); - xAOD::L2StandAloneMuonContainer::const_iterator lastmf = mfContainer->end(); - - for(; mf != lastmf; mf++) { + const xAOD::L2StandAloneMuonContainer* lastmf(nullptr); + ATH_CHECK( evtStore()->retrieve(lastmf, jtr.key())); + for(auto mf=lastmf->begin(); mf!=lastmf->end(); mf++) { if( (*mf)==0 ) continue; @@ -927,7 +935,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() float phi = (*mf)->phi(); if( fabs(pt)>FAILED_PT_THRES ){ - nMuFast++; + nL2MuonSA++; m_pt_LVL2FASTmuon.push_back(pt); m_eta_LVL2FASTmuon.push_back(eta); m_phi_LVL2FASTmuon.push_back(phi); @@ -937,14 +945,14 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // loop over muonFeatureContainer - // SELECTION OF RECO MUON OBJECTS WICH PASSED LVL2 MuFast + // SELECTION OF RECO MUON OBJECTS WICH PASSED LVL2 L2MuonSA - int n_Recmuons_PassesdLVL2MuFast = 0; + int n_Recmuons_PassesdLVL2L2MuonSA = 0; // Safe condition in case of MuComb container is empty - if(nMuFast != 0 && n_RecSAmuon != 0){ + if(nL2MuonSA != 0 && n_RecSAmuon != 0){ - for (int j=0; j<nMuFast; j++) { + for (int j=0; j<nL2MuonSA; j++) { double deltaR = 999.; double dR = 0, dphi = 0., deta = 0.; @@ -972,7 +980,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() eta_ToUPDATE = m_eta_RecSAmuon.at(kmin); phi_ToUPDATE = m_phi_RecSAmuon.at(kmin); - n_Recmuons_PassesdLVL2MuFast++; + n_Recmuons_PassesdLVL2L2MuonSA++; } m_pt_lvl2_RecoSA_corr.push_back(pt_ToUPDATE); @@ -982,8 +990,8 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() }//end of loop on j } - // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 MuFast *************************************** - // Efficiency of EF wrt Reco muons which passed LVL2 MuFast + // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA *************************************** + // Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA // (YY commented for suppressing warning) int n_L2AwareMuons_passedEFSA = 0; @@ -995,9 +1003,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFSAtoLoop = nMuonEFSA; } // Safe condition - if(n_Recmuons_PassesdLVL2MuFast != 0 && nMuonEFSAtoLoop != 0){ + if(n_Recmuons_PassesdLVL2L2MuonSA != 0 && nMuonEFSAtoLoop != 0){ - for (int j=0; j<nMuFast; j++) { + for (int j=0; j<nL2MuonSA; j++) { if (m_index_lvl2_RecoSA_corr.at(j) < 0) continue; @@ -1049,8 +1057,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } } - - // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 MuFast *************************************** + // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA *************************************** // Retrieve L2CombinedMuonContainer @@ -1063,17 +1070,16 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() return StatusCode::SUCCESS; } - // Loop over CombinedMuonFeatureContainer int nMuComb=0; - for(; combContainer != lastcombContainer; combContainer++) { + for(auto itr=combContainer; itr != lastcombContainer; itr++) { - xAOD::L2CombinedMuonContainer::const_iterator comb = combContainer->begin(); - xAOD::L2CombinedMuonContainer::const_iterator lastcomb = combContainer->end(); + const xAOD::L2CombinedMuonContainer *lastcomb(nullptr); + ATH_CHECK( evtStore()->retrieve(lastcomb, itr.key())); - for(; comb != lastcomb; comb++) { + for(auto comb=lastcomb->begin(); comb != lastcomb->end(); comb++) { - if( (*comb)==0 ) continue; + if( (*comb)==nullptr ) continue; float pt = (*comb)->pt() / 1000.; // convert to GeV float eta = (*comb)->eta(); @@ -1089,7 +1095,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } } - int n_Recmuons_PassesdLVL2MuComb = 0; // Safe condition in case of MuComb container is empty @@ -1132,14 +1137,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() m_index_lvl2_RecoCB_corr.push_back(kmin); }//end of loop on j } - - - // Efficiency of EF wrt Reco muons which passed LVL2 MuComb - - // (YY commented for suppressing warning) int n_L2AwareMuons_passedEFCB = 0; int nMuonEFCBtoLoop = 0; @@ -1220,7 +1220,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFMStoLoop = nMuonEFMS; } - // Safe condition in case of MuonEF container is empty if(nMuonEFMStoLoop != 0 && n_RecMSmuon != 0){ @@ -1275,13 +1274,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } - // return StatusCode::SUCCESS; //} - - - // Beginning of Muon Stand Alone Correlations @@ -1294,7 +1289,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFSAtoLoop = nMuonEFSA; } - // Safe condition in case of MuonEF container is empty if(nMuonEFSAtoLoop != 0 && n_RecSAmuon != 0){ @@ -1349,14 +1343,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } - // return StatusCode::SUCCESS; //} - - - - // Beginning of Muon Combined Correlation @@ -1370,7 +1359,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFCBtoLoop = nMuonEFCB; } - // Safe condition in case of MuonEF container is empty if(nMuonEFCBtoLoop != 0 && n_RecCBmuon != 0){ @@ -1425,9 +1413,23 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } + + //single chain monitoring ATR-17713 + std::vector<string> triggerlist; + triggerlist.insert(triggerlist.end(), m_chainsGeneric.begin(), m_chainsGeneric.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFiso.begin(), m_chainsEFiso.end()); + triggerlist.insert(triggerlist.end(), m_chainsMSonly.begin(), m_chainsMSonly.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFFS.begin(), m_chainsEFFS.end()); + triggerlist.insert(triggerlist.end(), m_chainsLowpt.begin(), m_chainsLowpt.end()); + + sc = fillEFSingleChainHistos(triggerlist); + if ( sc.isFailure() ) { + ATH_MSG_WARNING( "fillEFSingleChainHistos() failed." ); + return StatusCode::SUCCESS; + } return StatusCode::SUCCESS; -} +}//fillMuonEFDQA StatusCode HLTMuonMonTool::procMuonEFDQA() @@ -1482,6 +1484,29 @@ StatusCode HLTMuonMonTool::procMuonEFDQA() } - //else if( endOfLumiBlockFlag() ){ } + //else if(endOfLumiBlockFlag()){ } + return StatusCode::SUCCESS; +}//procMuonEFDQA + + +StatusCode HLTMuonMonTool :: fillEFSingleChainHistos(const std::vector<std::string> &triggerlist ){ + + for(std::string trig : triggerlist){ + ATH_MSG_DEBUG("Retrieving feature container for " << trig); + const Trig::FeatureContainer fc = getTDT()->features( trig, TrigDefs::alsoDeactivateTEs); + const std::vector< Trig::Feature<xAOD::MuonContainer> > fEFs = fc.get<xAOD::MuonContainer>( "", TrigDefs::alsoDeactivateTEs ); + for(const Trig::Feature<xAOD::MuonContainer> &fEF : fEFs){ + const xAOD::MuonContainer *cont = fEF.cptr(); + for( const xAOD::Muon* ef : *cont ){ + const HLT::TriggerElement *efTE = fEF.te(); + if(efTE->getActiveState()){//pass + hist(Form("EF_pt_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->pt()/CLHEP::GeV ); + hist(Form("EF_eta_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->eta() ); + hist(Form("EF_phi_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->phi() ); + } + } + } + } + return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx index 1d8575babc0..0b8c0a2e914 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx @@ -133,6 +133,7 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() StatusCode sc_TileMu = evtStore()->retrieve( TileMuFeat, TileMuFeatEnd ); if( sc_TileMu.isFailure() ){ ATH_MSG_VERBOSE( "Failed to retrieve HLT TileMu" ); + return StatusCode::SUCCESS; } else { ATH_MSG_DEBUG( " ====== START HLTMuon TileMu MonTool ====== " ); } @@ -141,13 +142,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() float NTileMu = 0.; - for( ; TileMuFeat != TileMuFeatEnd ; ++TileMuFeat ) { - - TileMuFeatureContainer::const_iterator TileMuItr = TileMuFeat->begin(); - TileMuFeatureContainer::const_iterator TileMuItrE = TileMuFeat->end(); - - for(;TileMuItr != TileMuItrE; ++TileMuItr){ - + for( auto itr=TileMuFeat; itr!= TileMuFeatEnd ; itr++ ) { + const TileMuFeatureContainer* TileMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileMuItrE, itr.key())); + for(auto TileMuItr=TileMuItrE->begin(); TileMuItr != TileMuItrE->end();TileMuItr++){ + if ( (*TileMuItr)==nullptr ) continue; // Extract the variables and fill the histograms float eta = (*TileMuItr)->eta(); float phi = (*TileMuItr)->phi(); @@ -170,12 +169,13 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() // Retrieve muons from TileTrackMuFeatureContainer - const DataHandle< TileTrackMuFeatureContainer > TileTrackMu; - const DataHandle< TileTrackMuFeatureContainer > lastTileTrackMu; + SG::ConstIterator< TileTrackMuFeatureContainer > TileTrackMu; + SG::ConstIterator< TileTrackMuFeatureContainer > lastTileTrackMu; StatusCode sc = evtStore()->retrieve(TileTrackMu, lastTileTrackMu); if (sc.isFailure()) { ATH_MSG_VERBOSE( "Failed to retrieve HLT TileTrackMu" ); + return StatusCode::SUCCESS; } else { ATH_MSG_DEBUG( " ====== START HLTMuon TileTrackMu MonTool ====== " ); } @@ -184,13 +184,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() float NTileTrackMu = 0.; - for( ; TileTrackMu != lastTileTrackMu ; ++TileTrackMu ) { - - TileTrackMuFeatureContainer::const_iterator TileTrackMuItr = TileTrackMu->begin(); - TileTrackMuFeatureContainer::const_iterator TileTrackMuItrE= TileTrackMu->end(); - - for( ; TileTrackMuItr != TileTrackMuItrE; ++TileTrackMuItr ) { - + for( auto jtr=TileTrackMu; jtr != lastTileTrackMu ; jtr++ ) { + const TileTrackMuFeatureContainer* TileTrackMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileTrackMuItrE, jtr.key())); + for(auto TileTrackMuItr =TileTrackMuItrE->begin(); TileTrackMuItr != TileTrackMuItrE->end(); TileTrackMuItr++ ) { + if( (*TileTrackMuItr)==nullptr ) continue; float absPtTrk = std::abs((*TileTrackMuItr)->PtTR_Trk()); ElementLink<TileMuFeatureContainer> TileMuEL = (*TileTrackMuItr)->TileMuLink(); @@ -280,10 +278,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() ATH_MSG_WARNING( "Failed to retrieve HLT TileMu" ); return StatusCode::SUCCESS; } - for( ; TileMuFeat != TileMuFeatEnd ; ++TileMuFeat ) { - TileMuFeatureContainer::const_iterator TileMuItr = TileMuFeat->begin(); - TileMuFeatureContainer::const_iterator TileMuItrE = TileMuFeat->end(); - for(;TileMuItr != TileMuItrE; ++TileMuItr){ + for( auto itr=TileMuFeat; itr!= TileMuFeatEnd ; itr++ ) { + const TileMuFeatureContainer* TileMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileMuItrE, itr.key())); + for(auto TileMuItr=TileMuItrE->begin(); TileMuItr != TileMuItrE->end();TileMuItr++){ + if ( (*TileMuItr)==nullptr ) continue; m_eta_Tile.push_back( (*TileMuItr)->eta() ); m_phi_Tile.push_back( (*TileMuItr)->phi() ); NTileMu++; @@ -322,10 +321,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() ATH_MSG_WARNING( "Failed to retrieve HLT TileTrackMu" ); return StatusCode::SUCCESS; } - for( ; TileTrackMu != lastTileTrackMu ; ++TileTrackMu ) { - TileTrackMuFeatureContainer::const_iterator TileTrackMuItr = TileTrackMu->begin(); - TileTrackMuFeatureContainer::const_iterator TileTrackMuItrE= TileTrackMu->end(); - for( ; TileTrackMuItr != TileTrackMuItrE; ++TileTrackMuItr ) { + for( auto itr=TileTrackMu; itr!= lastTileTrackMu ; itr++ ) { + const TileTrackMuFeatureContainer* TileTrackMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileTrackMuItrE, itr.key())); + for(auto TileTrackMuItr=TileTrackMuItrE->begin(); TileTrackMuItr != TileTrackMuItrE->end();TileTrackMuItr++){ + if ( (*TileTrackMuItr)==nullptr ) continue; m_eta_TileTrack.push_back( (*TileTrackMuItr)->EtaTR_Trk() ); m_phi_TileTrack.push_back( (*TileTrackMuItr)->PhiTR_Trk() ); m_pt_TileTrack.push_back( (*TileTrackMuItr)->PtTR_Trk() ); @@ -380,7 +380,7 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() StatusCode HLTMuonMonTool::procTileMuDQA() { - if( endOfRunFlag() ){ + if(endOfRunFlag()){ // TileMuFeature efficiency on eta hist("TileMu_RecCBMuon_EffEta", m_histdireff)->Sumw2(); diff --git a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx index f5b4c8a7792..887ba44e0d8 100644 --- a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx +++ b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx @@ -23,12 +23,14 @@ TrigMuonRoITool::TrigMuonRoITool(const std::string& type, m_time_stamp(0), m_time_stamp_ns_offset(0), m_lumi_block(0), - m_robDataProviderSvc( "ROBDataProviderSvc", name ) + m_robDataProviderSvc( "ROBDataProviderSvc", name ), + m_decodeMuCTPiFromROB(false) { declareInterface <ITrigMuonRoITool> ( this ); // Declare the properties declareProperty("DaqMuCTPiROBid",m_daqMuCTPiROBid=0x760000); + declareProperty("DecodeMuCTPiFromROB",m_decodeMuCTPiFromROB=false); } @@ -92,15 +94,17 @@ std::vector< std::pair<ROIB::MuCTPIRoI,int> >::const_iterator TrigMuonRoITool::e /// helper to decode MuCTPi information void TrigMuonRoITool::decodeMuCTPi() { + // save input stream flags std::ios_base::fmtflags log_flags_save = (msg().stream()).flags(); char log_fill_char_save = (msg().stream()).fill(); + ///////////////////////////////////// // check if data are still valid + ///////////////////////////////////// + // retrieve the event info information and check its validity - // get EventInfo const EventInfo* p_EventInfo(0); - // StatusCode sc = m_storeGateSvc->retrieve(p_EventInfo); StatusCode sc = evtStore()->retrieve(p_EventInfo); if ((sc.isFailure()) || (p_EventInfo == 0)) { msg(MSG::WARNING) << "Can't get EventInfo object for checking data validity." << endmsg; @@ -112,70 +116,29 @@ void TrigMuonRoITool::decodeMuCTPi() { // in L2 the event number = L1 ID, which may be identical to a previous one after an ECR. // Only if all parameters match the present info is still valid if ( (m_run_no == p_EventInfo->event_ID()->run_number()) && - (m_event_number == p_EventInfo->event_ID()->event_number()) && - (m_bunch_crossing_id == p_EventInfo->event_ID()->bunch_crossing_id()) && - (m_time_stamp == p_EventInfo->event_ID()->time_stamp()) && - (m_time_stamp_ns_offset == p_EventInfo->event_ID()->time_stamp_ns_offset()) && - (m_lumi_block == p_EventInfo->event_ID()->lumi_block()) ) { + (m_event_number == p_EventInfo->event_ID()->event_number()) && + (m_bunch_crossing_id == p_EventInfo->event_ID()->bunch_crossing_id()) && + (m_time_stamp == p_EventInfo->event_ID()->time_stamp()) && + (m_time_stamp_ns_offset == p_EventInfo->event_ID()->time_stamp_ns_offset()) && + (m_lumi_block == p_EventInfo->event_ID()->lumi_block()) ) { // information is still valid - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " decodeMuCTPi: Stored information is still valid. Complete EventID = " - << *(p_EventInfo->event_ID()) << endmsg; - } - return ; + ATH_MSG_DEBUG(" decodeMuCTPi: Stored information is still valid. Complete EventID = " << *(p_EventInfo->event_ID())); + return; // no need to decode again MUCTPI, already done for current event } else { // information is outdated - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " decodeMuCTPi: Stored information needs to be updated. Complete EventID = " - << *(p_EventInfo->event_ID()) << endmsg; - } + ATH_MSG_DEBUG(" decodeMuCTPi: Stored information needs to be updated. Complete EventID = " << *(p_EventInfo->event_ID())); } } - // - // --- Update information from DAQ ROB - // + ///////////////////////////////////// + // decode MUCTPI + ///////////////////////////////////// + // reset the containers and fill them with new data m_inTime_muCTPIRoIs.clear(); m_outOfTime_muCTPIRoIs.clear(); - // in L2 the DAQ muCTPi ROB needs to be retreived first from the ROS - m_robDataProviderSvc->addROBData(m_muCTPiRobIds); - - // get the muCTPi ROB fragment - std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> muCTPiRobFragmentVec; - muCTPiRobFragmentVec.reserve(m_muCTPiRobIds.size()); - m_robDataProviderSvc->getROBData(m_muCTPiRobIds,muCTPiRobFragmentVec); - if (muCTPiRobFragmentVec.size()==0) { - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " decodeMuCTPi: No muCTPi ROB found." << endmsg; - return; - } - - // check for received ROB id and return if it doesn't match the DAQ MuCTPI ROB - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) - << " decodeMuCTPi: ROB id = 0x" - << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec - << endmsg; - } - - if (muCTPiRobFragmentVec[0]->source_id() != (uint32_t)m_daqMuCTPiROBid.value()) { - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) - << " decodeMuCTPi: received ROB id = 0x" - << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec - << " does not match requested ROB id = 0x" - << std::setw(6) << MSG::hex << m_daqMuCTPiROBid.value() << MSG::dec - << endmsg; - } - // reset msg() stream flags to original values - msg().flags(log_flags_save); - return; - } - - // - // --- Save event parameters - // + // save event parameters m_run_no = p_EventInfo->event_ID()->run_number(); m_event_number = p_EventInfo->event_ID()->event_number(); m_bunch_crossing_id = p_EventInfo->event_ID()->bunch_crossing_id(); @@ -183,74 +146,108 @@ void TrigMuonRoITool::decodeMuCTPi() { m_time_stamp_ns_offset = p_EventInfo->event_ID()->time_stamp_ns_offset(); m_lumi_block = p_EventInfo->event_ID()->lumi_block(); - // decode now the ROB - uint32_t formatVersion = muCTPiRobFragmentVec[0]->rod_version(); - uint32_t evtNum = muCTPiRobFragmentVec[0]->rod_lvl1_id(); - uint32_t robFragSize = muCTPiRobFragmentVec[0]->fragment_size_word(); - uint32_t rodFragSize = muCTPiRobFragmentVec[0]->rod_fragment_size_word(); - uint32_t robId = muCTPiRobFragmentVec[0]->source_id(); - uint32_t rodId = muCTPiRobFragmentVec[0]->rod_source_id(); - const uint32_t bcId = muCTPiRobFragmentVec[0]->rod_bc_id(); - - const uint32_t* status; - muCTPiRobFragmentVec[0]->rod_status( status ); - /* nstatus, errorStat not used, cause compilation warning - uint32_t nstatus = muCTPiRobFragmentVec[0]->rod_nstatus(); - uint32_t errorStat( 0 ); - if( nstatus > 0 ) errorStat = static_cast< uint32_t >( *status ); - */ - - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "ROB ID 0x" << MSG::hex << robId << " ROD ID 0x" - << rodId << MSG::dec << " ROB fragment size " - << robFragSize << " ROD fragment size " << rodFragSize - << endmsg; - msg(MSG::DEBUG) - << " ROD Header L1 ID " << evtNum - << " ROD Header BCID " << bcId - << " ROD Header Format version " << formatVersion - << endmsg; - } - - OFFLINE_FRAGMENTS_NAMESPACE::PointerType it_data; - muCTPiRobFragmentVec[0]->rod_data( it_data ); - const uint32_t ndata = muCTPiRobFragmentVec[0]->rod_ndata(); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " Dumping RoI Words:" << endmsg; - msg(MSG::DEBUG) << " number of data words: " << ndata << endmsg; - } - - // candidate multiplicity - std::vector< uint32_t > candidateMultiplicity; - // data words - std::vector< uint32_t > dataWord; - for( uint32_t i = 0; i < ndata; ++i, ++it_data ) { - if( *it_data >> MuCTPI_RDO::MULT_WORD_FLAG_SHIFT ) { - candidateMultiplicity.push_back( static_cast< uint32_t >( *it_data ) ); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << ( *it_data ) << " (candidate multiplicity)" << std::setfill( log_fill_char_save ) << endmsg; - } - } else { - dataWord.push_back( static_cast< uint32_t >( *it_data ) ); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << ( *it_data ) << " (candidate word)" - << " (--> RoI word = 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << mirodToRoIBDataWord( *it_data ) << ")" - << std::setfill( log_fill_char_save ) << endmsg; + // MuCTPi pointer + const MuCTPI_RDO* daqmuCTPIResult = 0; + + // Build muCTPi from DAQ ROB + /////////////////////////////// + if(m_decodeMuCTPiFromROB) { + + // in L2 the DAQ muCTPi ROB needs to be retreived first from the ROS + m_robDataProviderSvc->addROBData(m_muCTPiRobIds); + + // get the muCTPi ROB fragment + std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> muCTPiRobFragmentVec; + muCTPiRobFragmentVec.reserve(m_muCTPiRobIds.size()); + m_robDataProviderSvc->getROBData(m_muCTPiRobIds,muCTPiRobFragmentVec); + + if (muCTPiRobFragmentVec.size()==0) { + ATH_MSG_DEBUG(" decodeMuCTPi: No muCTPi ROB found."); + return; + } + + // check for received ROB id and return if it doesn't match the DAQ MuCTPI ROB + ATH_MSG_DEBUG(" decodeMuCTPi: ROB id = 0x" << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec); + + if (muCTPiRobFragmentVec[0]->source_id() != (uint32_t)m_daqMuCTPiROBid.value()) { + ATH_MSG_DEBUG(" decodeMuCTPi: received ROB id = 0x" << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec + << " does not match requested ROB id = 0x" + << std::setw(6) << MSG::hex << m_daqMuCTPiROBid.value() << MSG::dec); + // reset msg() stream flags to original values + msg().flags(log_flags_save); + return; + } + + // decode now the ROB + uint32_t formatVersion = muCTPiRobFragmentVec[0]->rod_version(); + uint32_t evtNum = muCTPiRobFragmentVec[0]->rod_lvl1_id(); + uint32_t robFragSize = muCTPiRobFragmentVec[0]->fragment_size_word(); + uint32_t rodFragSize = muCTPiRobFragmentVec[0]->rod_fragment_size_word(); + uint32_t robId = muCTPiRobFragmentVec[0]->source_id(); + uint32_t rodId = muCTPiRobFragmentVec[0]->rod_source_id(); + const uint32_t bcId = muCTPiRobFragmentVec[0]->rod_bc_id(); + + const uint32_t* status; + muCTPiRobFragmentVec[0]->rod_status( status ); + // nstatus, errorStat not used, cause compilation warning + //uint32_t nstatus = muCTPiRobFragmentVec[0]->rod_nstatus(); + //uint32_t errorStat( 0 ); + //if( nstatus > 0 ) errorStat = static_cast< uint32_t >( *status ); + // + + ATH_MSG_DEBUG("ROB ID 0x" << MSG::hex << robId << " ROD ID 0x" + << rodId << MSG::dec << " ROB fragment size " + << robFragSize << " ROD fragment size " << rodFragSize); + + ATH_MSG_DEBUG(" ROD Header L1 ID " << evtNum + << " ROD Header BCID " << bcId + << " ROD Header Format version " << formatVersion); + + OFFLINE_FRAGMENTS_NAMESPACE::PointerType it_data; + muCTPiRobFragmentVec[0]->rod_data( it_data ); + const uint32_t ndata = muCTPiRobFragmentVec[0]->rod_ndata(); + ATH_MSG_DEBUG( " Dumping RoI Words:"); + ATH_MSG_DEBUG( " number of data words: " << ndata); + // candidate multiplicity + std::vector< uint32_t > candidateMultiplicity; + // data words + std::vector< uint32_t > dataWord; + for( uint32_t i = 0; i < ndata; ++i, ++it_data ) { + if( *it_data >> MuCTPI_RDO::MULT_WORD_FLAG_SHIFT ) { + candidateMultiplicity.push_back( static_cast< uint32_t >( *it_data ) ); + ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << ( *it_data ) << " (candidate multiplicity)" << std::setfill( log_fill_char_save )); + } else { + dataWord.push_back( static_cast< uint32_t >( *it_data ) ); + ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << ( *it_data ) << " (candidate word)" + << " (--> RoI word = 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << mirodToRoIBDataWord( *it_data ) << ")" + << std::setfill( log_fill_char_save )); } } + + // create MuCTPi RDO (DAQ muCTPi Result) + daqmuCTPIResult = new MuCTPI_RDO( candidateMultiplicity, dataWord ); } - - // create MuCTPI RDO - MuCTPI_RDO daqmuCTPIResult( candidateMultiplicity, dataWord ); // DAQ muCTPi Result - + + // Retrieve the MuCTPi RDO from event store + ////////////////////////////////////////////// + else{ + sc = evtStore()->retrieve(daqmuCTPIResult,"MUCTPI_RDO"); + if ((sc.isFailure()) || (daqmuCTPIResult == 0)) { + ATH_MSG_WARNING("Can't get MUCTPI_RDO object from event store."); + m_inTime_muCTPIRoIs.clear(); + m_outOfTime_muCTPIRoIs.clear(); + return; + } + } + // print contents if (msgLvl(MSG::DEBUG)) { - MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).dumpData(msg()); - for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult.dataWord().begin(); - it != daqmuCTPIResult.dataWord().end(); ++it) { + MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).dumpData(msg()); + for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult->dataWord().begin(); + it != daqmuCTPIResult->dataWord().end(); ++it) { MuCTPI_DataWord_Decoder(*it).dumpData(msg()); dumpRoIBDataWord(mirodToRoIBDataWord(*it)); } @@ -258,14 +255,15 @@ void TrigMuonRoITool::decodeMuCTPi() { // now select out the RoI candidates for the BCID which triggered the event and save them in // a special list indexed by RoI ID - uint16_t roiEventBCID = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).getBCID(); - uint16_t roiEventNCan = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).getNCandidates(); + uint16_t roiEventBCID = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).getBCID(); + uint16_t roiEventNCan = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).getNCandidates(); m_inTime_muCTPIRoIs.reserve( roiEventNCan ); m_outOfTime_muCTPIRoIs.reserve( roiEventNCan ); - for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult.dataWord().begin(); - it != daqmuCTPIResult.dataWord().end(); ++it) { + for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult->dataWord().begin(); + it != daqmuCTPIResult->dataWord().end(); ++it) { + // decode the RDO data word MuCTPI_DataWord_Decoder daqRoI(*it); @@ -274,11 +272,13 @@ void TrigMuonRoITool::decodeMuCTPi() { if (roiEventBCID == daqRoI.getBCID()) { // RoI matches event BCID m_inTime_muCTPIRoIs.push_back(roI); + // The line below is meant to enable testing late particles trigger chains with in-time RoIs + /////m_outOfTime_muCTPIRoIs.push_back( std::pair<ROIB::MuCTPIRoI,int>(roI,(int(daqRoI.getBCID())-int(roiEventBCID))) ); } else { m_outOfTime_muCTPIRoIs.push_back( std::pair<ROIB::MuCTPIRoI,int>(roI,(int(daqRoI.getBCID())-int(roiEventBCID))) ); } } // end loop over data words - + // print contents of RoI arrays if (msgLvl(MSG::DEBUG)) { msg(MSG::DEBUG) << "=================================================" << endmsg; @@ -288,9 +288,9 @@ void TrigMuonRoITool::decodeMuCTPi() { dumpRoIBDataWord((*it).roIWord()); } - msg(MSG::DEBUG) << "=====================================================" << endmsg; - msg(MSG::DEBUG) << " RoIs out of time with event BCID: Number of RoIs = " << m_outOfTime_muCTPIRoIs.size() << endmsg; - msg(MSG::DEBUG) << "=====================================================" << endmsg; + ATH_MSG_DEBUG("====================================================="); + ATH_MSG_DEBUG(" RoIs out of time with event BCID: Number of RoIs = " << m_outOfTime_muCTPIRoIs.size()); + ATH_MSG_DEBUG("====================================================="); for (std::vector< std::pair<ROIB::MuCTPIRoI,int> >::iterator it = m_outOfTime_muCTPIRoIs.begin(); it != m_outOfTime_muCTPIRoIs.end(); ++it) { msg(MSG::DEBUG) << " Difference(RoI(BCID) - Event(BCID)) = " << (*it).second << endmsg; msg(MSG::DEBUG) << " ------------------------------------- " << endmsg; @@ -298,8 +298,11 @@ void TrigMuonRoITool::decodeMuCTPi() { } } - // reset msg() stream flags to original values + //reset msg() stream flags to original values msg().flags(log_flags_save); + + if(m_decodeMuCTPiFromROB) + delete daqmuCTPIResult; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h index 97e30e2be7f..ba8cfde88ce 100644 --- a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h +++ b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h @@ -77,6 +77,9 @@ class TrigMuonRoITool: public AthAlgTool, /// Helper to print contents of a muCTPi RoIB data word void dumpRoIBDataWord(uint32_t data_word ); + + /// Configurable to decide how to decode muCTPi + bool m_decodeMuCTPiFromROB; }; #endif // TRIGMUONROITOOL_H -- GitLab From a571f58e6316d72c3e9474b215ce78fbcbf6e99a Mon Sep 17 00:00:00 2001 From: Siarhei Harkusha <Siarhei.Harkusha@cern.ch> Date: Tue, 6 Nov 2018 23:53:59 +0100 Subject: [PATCH 137/209] Decrease dependency on TileInfo TileInfo is used to return any detector-dependent constants or information regarding the Tile Calorimeter, including conditions data via different conditions tools. It is not good for AthenaMT. So functionality of TileInfo which is provided via tools will be removed and clients will be migrated to use tools directly. It is supposed that TileInfo will keep and provide only constants which will be initialized during initialization of job. Migration of clients has been started. --- .../CaloTools/CaloTools/CaloNoiseTool.h | 17 +++++ Calorimeter/CaloTools/src/CaloNoiseTool.cxx | 71 +++++++++++++------ .../TileConditions/TileConditions/TileInfo.h | 13 +++- .../TileSimAlgs/TileHitToRawChannel.h | 5 ++ .../TileSimAlgs/src/TileHitToRawChannel.cxx | 23 +++--- 5 files changed, 96 insertions(+), 33 deletions(-) diff --git a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h index 87e82fa2455..eec04509dc7 100644 --- a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h +++ b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h @@ -39,6 +39,10 @@ class StoreGateSvc; #include "LArElecCalib/ILArADC2MeVTool.h" #include "TileConditions/TileInfo.h" +#include "TileConditions/ITileCellNoiseTool.h" +#include "TileConditions/TileCondToolNoiseSample.h" +#include "TileConditions/TileCondToolEmscale.h" +#include "TileConditions/TileCondIdTransforms.h" #include "CaloEvent/CaloCell.h" #include "LArRecEvent/LArCell.h" @@ -136,6 +140,19 @@ private: std::string m_tileInfoName; const TileInfo* m_tileInfo; + ToolHandle<ITileCellNoiseTool> m_tileCellNoise{this, + "TileCellNoiseTool", "TileCellNoiseTool", "Tile Cell noise tool"}; + + ToolHandle<TileCondToolEmscale> m_tileToolEmscale{this, + "TileCondToolEmscale", "TileCondToolEmscale", "Tile EM scale calibration tool"}; + + ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this, + "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}; + + ToolHandle<TileCondIdTransforms> m_tileIdTransforms{this, + "TileCondIdTransforms", "TileCondIdTransforms", + "Tile tool to tranlate hardware identifiers to the drawerIdx, channel, and adc"}; + //Database bool m_retrieve[15]; diff --git a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx index 936428fc5cb..a8836332d70 100644 --- a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx +++ b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx @@ -356,9 +356,17 @@ CaloNoiseTool::initialize() }//UseLAr - if(m_UseTile) - { - //currently no database for Tile + if(m_UseTile) { + //currently no database for Tile + ATH_CHECK( m_tileCellNoise.retrieve() ); + ATH_CHECK( m_tileToolEmscale.retrieve() ); + ATH_CHECK( m_tileToolNoiseSample.retrieve() ); + ATH_CHECK( m_tileIdTransforms.retrieve() ); + } else { + m_tileCellNoise.disable(); + m_tileToolEmscale.disable(); + m_tileToolNoiseSample.disable(); + m_tileIdTransforms.disable(); } m_CNoise = 0.456E-3; @@ -894,7 +902,10 @@ CaloNoiseTool::calculateElecNoiseForTILE(const IdentifierHash & idCaloHash) for(int igain=0;igain<CaloGain::LARNGAIN;++igain) { CaloGain::CaloGain gain = static_cast<CaloGain::CaloGain>(igain); - float sigma = m_tileInfo->CellNoiseSigma(id,gain); + float sigma = m_tileCellNoise->getCellNoise(id, gain); + // Conversion from ADC sigma noise to OF sigma noise + sigma *= m_tileInfo->getNoiseScaleFactor(); + //the LAr gain is internally (in CellNoiseSigma) converted into Tile gain sigmaVector[igain]= sigma; //:::::::::::::::::::::::::::::::::::::: @@ -1950,42 +1961,56 @@ CaloNoiseTool::estimatedTileGain(const CaloCell* caloCell, //double eneTot = tileCell->energy(); // threshold (1023 counts) is the same for all channels - double thr = m_tileInfo->ADCmax(); + double threshold = m_tileInfo->ADCmax(); static const TileHWID * tileHWID = TileCablingService::getInstance()->getTileHWID(); static const IdContext chContext = tileHWID->channel_context(); - HWIdentifier hwid; + HWIdentifier hwid1; - tileHWID->get_id(caloDDE->onl1(), hwid, &chContext ); // pmt id - hwid = tileHWID->adc_id(hwid,TileHWID::HIGHGAIN); // high gain ADC id + tileHWID->get_id(caloDDE->onl1(), hwid1, &chContext ); // pmt id + hwid1 = tileHWID->adc_id(hwid1, TileHWID::HIGHGAIN); // high gain ADC id + unsigned int drawerIdx1(0), channel1(0), adc1(0); + m_tileIdTransforms->getIndices(hwid1, drawerIdx1, channel1, adc1); + // first PMT, convert energy to ADC counts - double amp = tileCell->ene1(); - amp /= m_tileInfo->ChannelCalib(hwid,TileRawChannelUnit::ADCcounts,TileRawChannelUnit::MegaElectronVolts); - double ped = m_tileInfo->DigitsPedLevel(hwid); + double amplitude1 = tileCell->ene1(); + amplitude1 /= m_tileToolEmscale->channelCalib(drawerIdx1, channel1, adc1, 1.0, + TileRawChannelUnit::ADCcounts, + TileRawChannelUnit::MegaElectronVolts); + + double pedestal1 = m_tileToolNoiseSample->getPed(drawerIdx1, channel1, adc1); int igain1; - if (amp + ped < thr ) + if (amplitude1 + pedestal1 < threshold ) { igain1 = TileID::HIGHGAIN; - else + } else { igain1 = TileID::LOWGAIN; + } // second PMT, if it exists - if (caloDDE->onl2() != TileID::NOT_VALID_HASH ) - { - tileHWID->get_id(caloDDE->onl2(), hwid, &chContext ); // pmt id - hwid = tileHWID->adc_id(hwid,TileHWID::HIGHGAIN); // high gain ADC id + if (caloDDE->onl2() != TileID::NOT_VALID_HASH ) { + + HWIdentifier hwid2; + tileHWID->get_id(caloDDE->onl2(), hwid2, &chContext ); // pmt id + hwid2 = tileHWID->adc_id(hwid2, TileHWID::HIGHGAIN); // high gain ADC id + + unsigned int drawerIdx2(0), channel2(0), adc2(0); + m_tileIdTransforms->getIndices(hwid2, drawerIdx2, channel2, adc2); - amp = tileCell->ene2(); - amp /= m_tileInfo->ChannelCalib(hwid,TileRawChannelUnit::ADCcounts,TileRawChannelUnit::MegaElectronVolts); - ped = m_tileInfo->DigitsPedLevel(hwid); + // first PMT, convert energy to ADC counts + double amplitude2 = tileCell->ene2(); + amplitude2 /= m_tileToolEmscale->channelCalib(drawerIdx2, channel2, adc2, 1.0, + TileRawChannelUnit::ADCcounts, + TileRawChannelUnit::MegaElectronVolts); - if (amp + ped < thr ) { + double pedestal2 = m_tileToolNoiseSample->getPed(drawerIdx2, channel2, adc2); + + if (amplitude2 + pedestal2 < threshold) { // igain2 high return igain1 == TileID::LOWGAIN ? CaloGain::TILEHIGHLOW : CaloGain::TILEHIGHHIGH; - } - else { + } else { // igain2 low return igain1 == TileID::LOWGAIN ? CaloGain::TILELOWLOW : CaloGain::TILEHIGHLOW; } diff --git a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h index 099a948f891..122dba935e6 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h @@ -397,7 +397,11 @@ class TileInfo : public DataObject { /** NGO Need description. Do we need this function? */ double ttl1Phase(const int /* posneg */, const int /* ieta */, const int /* iphi */) const {return 0.;} - + /** + * @brief Conversion from ADC sigma noise to OF sigma noise + * @return Conversion factor from ADC sigma noise to OF sigma noise + */ + float getNoiseScaleFactor(void) const; private: @@ -525,4 +529,11 @@ class TileInfo : public DataObject { }; + +// inlines +inline +float TileInfo::getNoiseScaleFactor(void) const { + return m_noiseScaleFactor[m_noiseScaleIndex]; +} + #endif //TILECONDITIONS_TILEINFO_H diff --git a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h index 609697f9fee..33d10122a1f 100644 --- a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h +++ b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h @@ -32,6 +32,7 @@ #include "TileEvent/TileRawChannelContainer.h" #include "TileIdentifier/TileFragHash.h" #include "TileIdentifier/TileRawChannelUnit.h" +#include "TileConditions/TileCondToolNoiseSample.h" // Atlas includes #include "AthenaBaseComps/AthAlgorithm.h" @@ -114,6 +115,10 @@ class TileHitToRawChannel: public AthAlgorithm { CLHEP::HepRandomEngine * m_pHRengine; //!< Random number service to use ToolHandle<TileCondToolEmscale> m_tileToolEmscale; //!< main Tile Calibration tool + + ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this, + "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}; + }; #endif // TILESIMALGS_TILEHITTORAWCHANNEL_H diff --git a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx index 1e5cdca1fe7..ed8a673f666 100644 --- a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx +++ b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx @@ -91,16 +91,18 @@ StatusCode TileHitToRawChannel::initialize() { // retrieve TileID helper and TileInfo from det store - CHECK( detStore()->retrieve(m_tileID) ); + ATH_CHECK( detStore()->retrieve(m_tileID) ); - CHECK( detStore()->retrieve(m_tileTBID) ); + ATH_CHECK( detStore()->retrieve(m_tileTBID) ); - CHECK( detStore()->retrieve(m_tileHWID) ); + ATH_CHECK( detStore()->retrieve(m_tileHWID) ); - CHECK( detStore()->retrieve(m_tileInfo, m_infoName) ); + ATH_CHECK( detStore()->retrieve(m_tileInfo, m_infoName) ); //=== get TileCondToolEmscale - CHECK( m_tileToolEmscale.retrieve() ); + ATH_CHECK( m_tileToolEmscale.retrieve() ); + + ATH_CHECK( m_tileToolNoiseSample.retrieve() ); if (m_tileNoise) { static const bool CREATEIFNOTTHERE_RNDM(true); @@ -230,7 +232,9 @@ StatusCode TileHitToRawChannel::execute() { for (ch = 0; ch < nChMax; ++ch) { adc_gain[ch] = TileID::HIGHGAIN; - adc_ampl[ch] = random[ch] * m_tileInfo->ChannelNoiseSigma(TileID::HIGHGAIN, ch, idhash); + adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::HIGHGAIN) + * m_tileInfo->getNoiseScaleFactor(); + } } else { memset(adc_gain, -1, sizeof(adc_gain)); /* TileID::INVALID */ @@ -283,8 +287,8 @@ StatusCode TileHitToRawChannel::execute() { , TileRawChannelUnit::MegaElectronVolts); double noise; // If high saturates, convert adc_id to low-gain value and recalculate. - if (adc_ampl[ch] + amp_ch + m_tileInfo->DigitsPedLevel(TileID::HIGHGAIN, ch, idhash) - > m_ampMaxHi) { + if (adc_ampl[ch] + amp_ch + m_tileToolNoiseSample->getPed(drawerIdx, ch, gain) > m_ampMaxHi) { + gain = TileID::LOWGAIN; amp_ch = e_ch / m_tileToolEmscale->channelCalib(drawerIdx, ch, gain, 1., m_rChUnit , TileRawChannelUnit::MegaElectronVolts); @@ -292,7 +296,8 @@ StatusCode TileHitToRawChannel::execute() { // If Noise is requested, // recalculate noise using the SAME random number as for high. if (m_tileNoise) { - adc_ampl[ch] = random[ch] * m_tileInfo->ChannelNoiseSigma(TileID::LOWGAIN, ch, idhash); + adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::LOWGAIN) + * m_tileInfo->getNoiseScaleFactor(); } } -- GitLab From 9dc145fd3ac31723a1b9d8ec4f18ba1594bcb795 Mon Sep 17 00:00:00 2001 From: Siarhei Harkusha <Siarhei.Harkusha@cern.ch> Date: Wed, 7 Nov 2018 00:21:35 +0100 Subject: [PATCH 138/209] Update ATLAS copyrights --- Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h | 2 +- Calorimeter/CaloTools/src/CaloNoiseTool.cxx | 2 +- TileCalorimeter/TileConditions/TileConditions/TileInfo.h | 2 +- TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h | 2 +- TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h index eec04509dc7..08c05058b81 100644 --- a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h +++ b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** diff --git a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx index a8836332d70..2349d359ee6 100644 --- a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx +++ b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "CaloTools/CaloNoiseTool.h" diff --git a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h index 122dba935e6..99a938a9e83 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILECONDITIONS_TILEINFO_H diff --git a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h index 33d10122a1f..84ea5a60415 100644 --- a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h +++ b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** diff --git a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx index ed8a673f666..3f8c659ce76 100644 --- a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx +++ b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //***************************************************************************** -- GitLab From b5800d03b9194fed457fb2827b20e6ca086c8f0d Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Tue, 6 Nov 2018 23:28:52 +0000 Subject: [PATCH 139/209] fix the egammaSelectedTrackCopy counters --- .../egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx index 6917a1df4da..4477e902a4f 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx @@ -104,9 +104,6 @@ StatusCode egammaSelectedTrackCopy::execute() ATH_MSG_DEBUG ("Track Particle container size: " <<trackTES->size() ); //Local counters - auto allClusters= m_AllClusters.buffer(); - auto selectedClusters = m_SelectedClusters.buffer(); - auto allTracks = m_AllTracks.buffer(); auto selectedTracks = m_SelectedTracks.buffer() ; auto allSiTracks = m_AllSiTracks.buffer(); auto selectedSiTracks = m_SelectedSiTracks.buffer(); @@ -121,9 +118,9 @@ StatusCode egammaSelectedTrackCopy::execute() } } - allClusters+=(*clusterTES).size(); - selectedClusters+=passingClusters.size(); - allTracks+=(*trackTES).size(); + m_AllClusters+=clusterTES->size(); + m_SelectedClusters+=passingClusters.size(); + m_AllTracks+=trackTES->size(); //Extrapolation Cache IEMExtrapolationTools::Cache cache{}; for(const xAOD::TrackParticle* track : *trackTES){ -- GitLab From 19e9be8e2f6bca4b9fea43d78718b83f53523936 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Tue, 6 Nov 2018 20:50:42 +0000 Subject: [PATCH 140/209] Merge branch '21.0-FastCaloSim-dev' into '21.0' 21.0-ISF_FastCaloSim: Created TFCSCenterPositionCalculation class See merge request atlas/athena!15655 (cherry picked from commit 127ba8cde881e7f324066ee74b54b31a3752cbbf) 76cb9fa3 Created TFCSCenterPositionCalculation class 1105d0e8 Setting default weight to 0.5 --- .../ISF_FastCaloSimEvent/CMakeLists.txt | 1 + .../ISF_FastCaloSimEvent/LinkDef.h | 2 + .../TFCSCenterPositionCalculation.h | 30 ++++++++++++++ .../src/TFCSCenterPositionCalculation.cxx | 41 +++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt index 275633dffd2..e7f07e8b203 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt @@ -59,6 +59,7 @@ atlas_add_root_dictionary( ISF_FastCaloSimEvent _dictSource ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitChain.h + ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h ISF_FastCaloSimEvent/TFCSHistoLateralShapeParametrization.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitNumberFromE.h ISF_FastCaloSimEvent/TFCSHitCellMapping.h diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h index e0f2f70b6b1..4979ed94f1f 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h @@ -39,6 +39,7 @@ #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitChain.h" +#include "ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h" #include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeParametrization.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitNumberFromE.h" #include "ISF_FastCaloSimEvent/TFCSHitCellMapping.h" @@ -145,6 +146,7 @@ #pragma link C++ class TFCSLateralShapeParametrization+; #pragma link C++ class TFCSLateralShapeParametrizationHitBase+; #pragma link C++ class TFCSLateralShapeParametrizationHitChain+; +#pragma link C++ class TFCSCenterPositionCalculation+; #pragma link C++ class TFCSHistoLateralShapeParametrization+; #pragma link C++ class TFCSLateralShapeParametrizationHitNumberFromE+; #pragma link C++ class TFCSHitCellMapping+; diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h new file mode 100644 index 00000000000..5b2f4cda127 --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h @@ -0,0 +1,30 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TFCSCenterPositionCalculation_h +#define TFCSCenterPositionCalculation_h + +#include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h" + + +class TFCSCenterPositionCalculation : public TFCSLateralShapeParametrizationHitBase { +public: + TFCSCenterPositionCalculation(const char* name=nullptr, const char* title=nullptr); + + /// Used to decorate Hit with extrap center positions + virtual FCSReturnCode simulate_hit(Hit& hit,TFCSSimulationState& simulstate,const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) override; + inline void setExtrapWeight(const float weight){m_extrapWeight=weight;} + inline float getExtrapWeight(){return m_extrapWeight;} + void Print(Option_t *option = "") const override; +private: + + float m_extrapWeight; + ClassDefOverride(TFCSCenterPositionCalculation,1) //TFCSCenterPositionCalculation +}; + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCSCenterPositionCalculation+; +#endif + +#endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx new file mode 100644 index 00000000000..4dd796537b9 --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx @@ -0,0 +1,41 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h" +#include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h" + +#include "ISF_FastCaloSimEvent/TFCSSimulationState.h" +#include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h" + +//============================================= +//======= TFCSCenterPositionCalculation ========= +//============================================= + +TFCSCenterPositionCalculation::TFCSCenterPositionCalculation(const char* name, const char* title):TFCSLateralShapeParametrizationHitBase(name,title),m_extrapWeight(0.5) +{ +} + +FCSReturnCode TFCSCenterPositionCalculation::simulate_hit(Hit& hit,TFCSSimulationState& /*simulstate*/,const TFCSTruthState* /*truth*/, const TFCSExtrapolationState* extrapol) +{ + const int cs=calosample(); + hit.setCenter_r( (1.-m_extrapWeight)*extrapol->r(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->r(cs, SUBPOS_EXT) ); + hit.setCenter_z( (1.-m_extrapWeight)*extrapol->z(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->z(cs, SUBPOS_EXT) ); + hit.setCenter_eta( (1.-m_extrapWeight)*extrapol->eta(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->eta(cs, SUBPOS_EXT) ); + hit.setCenter_phi( (1.-m_extrapWeight)*extrapol->phi(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->phi(cs, SUBPOS_EXT) ); + + ATH_MSG_DEBUG("TFCSCenterPositionCalculation: center_r: " << hit.center_r() << " center_z: " << hit.center_z() << " center_phi: " << hit.center_phi() << " center_eta: " << hit.center_eta() ); + + return FCSSuccess; +} + +void TFCSCenterPositionCalculation::Print(Option_t* option) const +{ + TString opt(option); + bool shortprint=opt.Index("short")>=0; + bool longprint=msgLvl(MSG::DEBUG) || (msgLvl(MSG::INFO) && !shortprint); + TString optprint=opt;optprint.ReplaceAll("short",""); + TFCSLateralShapeParametrizationHitBase::Print(option); + + if(longprint) ATH_MSG_INFO(optprint << " Weight for extrapolated position: " << m_extrapWeight); +} -- GitLab From 032732df89e04afa2886694e7935eaeaa55b25a5 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Tue, 6 Nov 2018 20:54:03 +0000 Subject: [PATCH 141/209] Merge branch '21.0-fsohns-heavyions-development' into '21.0' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated Pixel cosmics_run.config See merge request atlas/athena!15674 (cherry picked from commit 4c6af154d842c4957db779849bf028032fb64225) 2e0eba51 Âupdated cosmics_run.config to be identical to heavyions_run.config and collisions_rund.config --- .../config/Pixel/cosmics_run.config | 10798 +++++++++------- 1 file changed, 6040 insertions(+), 4758 deletions(-) diff --git a/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config index f9ab2d3de96..710fc92863d 100644 --- a/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config +++ b/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config @@ -1,4758 +1,6040 @@ -# ********************************************************************** -# $Id: cosmics_run.config 744376 2016-05-03 08:57:23Z dyamaguc $ -# ********************************************************************** - -############# -# Output -############# - -output top_level { - output InnerDetector { - output Pixel { - output PixelExpert { - output GeneralAllHits { - } - output GeneralOnTrack { - } - output TimingAllHits { - } - output Tracks_fromIDglobal { - } - output Tracks { - } - output Errors { - output ALL { - } - output Bad_Module_Errors { - output Synchronization_Module_BCID1 { - } - output Synchronization_Module_BCID2 { - } - output Synchronization_Module_LVL1ID { - } - output Synchronization_ROD_BCID { - } - output Synchronization_ROD_LVL1ID { - } - output Truncation_Module_EoC { - } - output Truncation_Module_EoE_Overflow { - } - output Truncation_Module_Hit_Overflow { - } - output Truncation_ROD_FIFO_Overflow { - } - output Truncation_ROD_HT_Limit { - } - output Optical_Errors { - } - output ROD_Timeout { - } - output SEU_Hamming { - } - output SEU_Hit_Parity { - } - output SEU_Register_Parity { - } - output FE_Warning { - } - #output Synchronization_Correlations { - #} - } - } - } - #output DQShift { - # output ClusterOccupancy { - # } - # output LBDependence { - # } - # output LBDependenceOnTrack { - # } - #} - #output ALL { - # output Hits { - # } - # output DisableAndErrors { - # } - # output CombinedTrack { - # } - # output PixelOnlyTrack { - # } - # output Timing { - # } - # output LBdependence { - # } - # output _Experts { - # } - #} - output DBM { - output ClusterHits { - } - output Hits { - } - output Timing { - } - } - output PIXIBL { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _DCS { - output ModuleTemperature { - } - output ModuleLowVoltage { - } - output ModuleHighVoltage { - } - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX0 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX1 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX2 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECA { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECC { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - } - } -} - - - -########################################################### -# Pixel -########################################################### - -####################### -# Histogram Assessments -####################### - -dir Pixel { - - dir Hits { - hist num_hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_per_pixel_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - #hist Average_PixOcc_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist AvgOcc_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - } - hist AvgOcc_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - } - - hist Hits_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - output = InnerDetector/Pixel/DQShift/LBDependence - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hits_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hit_ToT { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox,AxisRange(0,256,"X") - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Hit_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist AvgOcc_RatioIBLB0_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Timing { - hist Lvl1A { - algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Lvl1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist LvlID { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - } - - hist Pixel_BCID { - algorithm = Pix_BCID_NoEmptyBins - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox,AxisRange(0,500,"X") - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - #hist Atlas_BCID@1 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(0,500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@2 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(500,1000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@3 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1000,1500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@4 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1500,2000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@5 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2000,2500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@6 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2500,3000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@7 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(3000,3500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - hist Atlas_BCID_Hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - #hist Cluster_LVL1A { - # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - # hist trigger { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B0 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B1 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B2 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECA { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECC { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - - hist Lvl1ID_diff_ATLAS_mod { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - } - - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - } - } - - - dir TimingOnTrack { - hist Cluster_LVL1A_OnTrack { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_Mod_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL2D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL3D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - } - - - dir Clusters { - hist Cluster_Occupancy_DBMA { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_DBMC { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Cluster_Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Clus_Occ_SizeCut_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = Pix_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - hist TotalClusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Cluster_Size_Map_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - } - - - dir ClustersOnTrack { - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_charge_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_OnTrack { - algorithm = Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - - hist TotalClusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Status { - hist Map_Of_Modules_Status_IBL { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL2D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL3D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B0 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B1 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B2 { - algorithm = Pix_DisabledMod_B2 - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECA { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECC { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - - hist Ok_modules_ECA { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_ECC { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL2D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL3D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B0 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B1 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B2 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - - hist DisabledModules_per_lumi { - algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist DisabledModules_per_lumi_ECA { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_ECC { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL2D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL3D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B0 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B1 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B2 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL2D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL3D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Errors { - hist Error_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist ErrorBit_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - #hist SEU_Errors_IBL { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B0 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX0/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B1 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX1/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B2 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX2/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_A { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_C { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECA { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECC { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - - hist SEUErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist OpticalErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist TruncationErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist SyncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist errors_per_lumi { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist errors_per_lumi_ECA { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_ECC { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_IBL { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B0 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B1 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B2 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - #hist SyncErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist OpticalErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist SEUErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - ## POST PROCESS - hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - - } - - - dir ErrorsExpert { - hist Bad_Module_Errors_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - - hist Errors_EtaID_per_event_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - } - - hist FE_Warning_per_lumiMap_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist Mod_Sync_BCID1_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist Mod_Sync_BCID2_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist Mod_Trunc_EOC_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist Optical_Errors_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist Optical_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist ROD_Sync_BCID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist ROD_Timeout_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Timeout_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist SEUErrors_Hamming_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SEU_Hamming_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEU_Hit_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEU_Register_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - } - - - #Track histograms from PixelMonitoring - #Below plot Combined Tracks - dir TrackOnTrack { - #hist m_Pixel_track_res_phi { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox,AxisRange(-0.05,0.05,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_res_eta { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_d0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_z0 { - # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_phi0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_eta { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_qOverP { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_pt { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracks_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist trackRate_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracksPerEvt_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - #hist ClustersOnOffTrack_per_lumi { - # algorithm = Pix_LB_Bins_Diff_FromAvg - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = <LogZ,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_mass_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - - ### Track State On Surface: Hole - hist TSOS_Hole_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Measurement - hist TSOS_Measurement_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Outlier - hist TSOS_Outlier_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Degradation Factor map for IP resolution - hist degFactorMap { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_eta_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_phi_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - } - - dir SpacePoint { - hist pixel_sp_r_vs_z { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - hist pixel_sp_x_vs_y { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - } - - dir DCS { - hist moduleTemperature_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S01 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S02 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S03 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S04 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S05 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S06 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S07 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S08 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S09 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S10 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S11 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S12 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S13 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S14 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist LV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist HV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist HVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - } - -} -# now get the pixel relevant plots from InDetGlobal -dir InDetGlobal { - dir Pixel { - hist m_Pixel_track_res_phi { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.2,0.2,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_res_eta { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.3,0.3,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_d0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-20.0,20.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_z0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-390.0,390.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_phi0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_eta { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_qOverP { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(0.0,10.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - } - dir Track { - #hist COMB_goodPixTrk_eta_phi { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - # hist COMB_goodPixTrk_eta { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - # hist COMB_goodPixTrk_phi { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - } - dir Hits { - #hist m_ID_hitmap_x_y@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist m_ID_hitmap_z_r@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - } -} - -############# -# Algorithms -############# - -algorithm Pix_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - thresholds = Pix_Diff_FromAvg -} -algorithm Pix_LB_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - NSigma = 10 - PublishBins = 1 - thresholds = Pix_LB_Diff_FromAvg -} -compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_GreaterThan_Threshold,BinPrint -} -### For Errors -algorithm Pix_NonZero_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_NonZero_Errors_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_Frac_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_ErrorFrac_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_DisabledMod_Endcap { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B0B1 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B2 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 0 -} -compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_Equal_Threshold,BinPrint -} -algorithm Pix_Occupancy_Endcap { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 500 -} -algorithm Pix_Occupancy_B0B1 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 1500 -} -algorithm Pix_Occupancy_B2 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 2500 -} -algorithm Pix_GatherData { - libname = libdqm_algorithms.so - name = GatherData - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Plain_GatherData { - libname = libdqm_algorithms.so - name = GatherData -} -algorithm Pix_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm PixGlobal_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_BinPrint { - libname = libdqm_algorithms.so - name = BinPrint - UnMask_All = 4 - Mask_2 = 1 - Mask_3 = 1 -} -compositeAlgorithm Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { - subalgs = CheckHisto_Mean,BinPrint - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_Timing_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_Timing_CheckMean_Thresh -} -algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_HitTiming_CheckMean_Thresh -} -algorithm Pix_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 2000 - thresholds = Pix_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_track_z0_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_track_z0_Thresh - MinStat = 100 -} -algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 500 - thresholds = PixTrack_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_Npix_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -#algorithm Pix_Npix_CheckHisto_Mean&GatherData { -# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -# name = Pix_CheckHisto_Mean&GatherData -# thresholds = Pix_Npix_CheckMean_Thresh -# MinStat = 100 -#} -algorithm Pix_BCID_NoEmptyBins { - libname = libdqm_algorithms.so - xmin = 0.0 - xmax = 255.0 - name = Bins_LessThan_Threshold - BinThreshold = 1 - MinStat = 3000 - thresholds = Pix_BCID_NoEmptyBins_Thresholds -} -algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_BCID_Thresh - UnMask_All = 20 - UseValue = 2 - Value = 10000 -} -algorithm Pix_Charge_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_Charge_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 - MinStat = 100 -} -algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ErrorLB_CheckMean_Thresh - MinStat = 100 -} -compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so -} -algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh - MinStat = 100 -} - -# -############## -## Thresholds -############## -# -thresholds Pix_Diff_FromAvg { - -} -thresholds Pix_LB_Diff_FromAvg { - limits NBins { - warning = 1 - error = 9999 - } -} -thresholds Pix_NonZero_Errors_Threshold { - limits NBins { - warning = 0 - error = 1000 - } -} -thresholds Pix_ErrorFrac_Threshold { - limits NBins { - warning = 0.05 - error = 0.3 - } -} -thresholds Pix_DisabledMod_Endcap_Threshold { - limits NBins { - warning = 10 - error = 100 - } -} -thresholds Pix_DisabledMod_B0B1_Threshold { - limits NBins { - warning = 15 - error = 150 - } -} -thresholds Pix_DisabledMod_B2_Threshold { - limits NBins { - warning = 40 - error = 400 - } -} -thresholds Pix_Timing_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_HitTiming_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 750 - error = 9999 - } -} -thresholds PixTrack_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 500 - error = 9999 - } -} -thresholds Pix_track_z0_Thresh { - limits AbsXMean { - warning = 50 - error = 9999 - } -} -thresholds Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Hits_Noise_lumi_Thresh { - limits AbsYMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_lumi_Thresh { - limits AbsYMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Hits_Noise_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_Thresh { - limits AbsXMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 50 - error = 999 - } -} -thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { - limits AbsXMean { - warning = 0.1 - error = 999 - } -} -thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { - limits AbsYMean { - warning = 150 - error = 10000 - } -} -thresholds Pix_BCID_NoEmptyBins_Thresholds { - limits NBins { - warning = 1 - error = 999 - } -} -thresholds Pix_BCID_Thresh { - limits NBins { - warning = 5000 - error = 9999 - } -} -thresholds Pix_Charge_CheckMean_Thresh { - limits AbsXMean { - warning = 75000 - error = 150000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh { - limits AbsYMean { - warning = 80 - error = 1000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { - limits AbsYMean { - warning = 10 - error = 140 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { - limits AbsYMean { - warning = 17 - error = 250 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { - limits AbsYMean { - warning = 55 - error = 600 - } -} -thresholds Pix_ErrorLB_CheckMean_Thresh { - limits AbsYMean { - warning = 100 - error = 10000 - } -} +# ********************************************************************** +# $Id: collisions_run.config 770713 2016-08-29 21:45:04Z dyamaguc $ +# ********************************************************************** + +############# +# Output +############# + +output top_level { + output InnerDetector { + output Pixel { + output PixelExpert { + output GeneralAllHits { + } + output GeneralOnTrack { + } + output TimingAllHits { + } + output Tracks_fromIDglobal { + } + output Tracks { + } + output Errors { + output ALL { + } + output Bad_Module_Errors { + output Synchronization_Module_BCID1 { + } + output Synchronization_Module_BCID2 { + } + output Synchronization_Module_LVL1ID { + } + output Synchronization_ROD_BCID { + } + output Synchronization_ROD_LVL1ID { + } + output Truncation_Module_EoC { + } + output Truncation_Module_EoE_Overflow { + } + output Truncation_Module_Hit_Overflow { + } + output Truncation_ROD_FIFO_Overflow { + } + output Truncation_ROD_HT_Limit { + } + output Optical_Errors { + } + output ROD_Timeout { + } + output SEU_Hamming { + } + output SEU_Hit_Parity { + } + output SEU_Register_Parity { + } + output FE_Warning { + } + #output Synchronization_Correlations { + #} + } + } + } + #output DQShift { + # output ClusterOccupancy { + # } + # output LBDependence { + # } + # output LBDependenceOnTrack { + # } + #} + #output ALL { + # output Hits { + # } + # output DisableAndErrors { + # } + # output CombinedTrack { + # } + # output PixelOnlyTrack { + # } + # output Timing { + # } + # output LBdependence { + # } + # output _Experts { + # } + #} + output DBM { + output ClusterHits { + } + output Hits { + } + output Timing { + } + } + output PIXIBL { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _DCS { + output ModuleTemperature { + } + output ModuleLowVoltage { + } + output ModuleHighVoltage { + } + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX0 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX1 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX2 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECA { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECC { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + } + } +} + + + +########################################################### +# Pixel +########################################################### + +####################### +# Histogram Assessments +####################### + +dir Pixel { + dir Hits { + + hist Occupancy_per_pixel_event_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Occupancy_Summary_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist num_hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + #hist Average_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + #hist Average_PixOcc_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist AvgOcc_active_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + } + + hist AvgOcc_per_BCID_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + } + + hist Hits_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + output = InnerDetector/Pixel/DQShift/LBDependence + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hits_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hit_ToT { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox,AxisRange(0,256,"X") + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Hit_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Hit_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Hit_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist AvgOcc_RatioIBLB0_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Timing { + hist Lvl1A { + algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Lvl1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist LvlID { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + } + + hist Pixel_BCID { + algorithm = Pix_BCID_NoEmptyBins + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox,AxisRange(0,500,"X") + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + #hist Atlas_BCID@1 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(0,500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@2 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(500,1000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@3 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1000,1500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@4 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1500,2000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@5 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2000,2500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@6 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2500,3000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@7 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(3000,3500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + hist Atlas_BCID_Hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + #hist Cluster_LVL1A { + # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + # hist trigger { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B0 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B1 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B2 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECA { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECC { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + + hist Lvl1ID_diff_ATLAS_mod { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + } + + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + } + } + + + dir TimingOnTrack { + hist Cluster_LVL1A_OnTrack { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_Mod_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL2D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL3D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + } + + + dir Clusters { + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_B0 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clus_Occ_SizeCut_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist Cluster_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Cluster_Q_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_Q_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_Q_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = Pix_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir ClustersOnTrack { + + hist Cluster_Occupancy_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + + hist Cluster_charge_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_IBL { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_QxCosAlpha_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_QxCosAlpha_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_QxCosAlpha_IBL2D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_IBL3D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_ToTxCosAlpha_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_OnTrack { + algorithm = Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + + hist Clusters_row_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Status { + hist Map_Of_Modules_Status_IBL { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist Map_Of_Modules_Status_B0 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B1 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B2 { + algorithm = Pix_DisabledMod_B2 + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECA { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECC { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist DisabledModules_per_lumi { + algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist DisabledModules_per_lumi_ECA { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_ECC { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL2D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL3D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B0 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B1 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B2 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL2D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL3D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Errors { + + hist SyncErrors_Mod_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SEUErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + #hist SEU_Errors_IBL { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B0 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX0/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B1 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX1/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B2 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX2/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_A { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_C { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECA { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECC { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + + hist SEUErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist OpticalErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist OpticalErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TruncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist TruncationErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + # adding SyncErrors_Mod_per_lumi + hist SyncErrors_Mod_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ################################ + # adding SyncErrors_ROD_per_lumi + hist SyncErrors_ROD_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ###################################### + hist SyncErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist errors_per_lumi { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist errors_per_lumi_ECA { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_ECC { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_IBL { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B0 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B1 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B2 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + #hist OpticalErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + #hist SEUErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + ## POST PROCESS + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + dir ErrorsExpert { + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCIS_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + ##IBL _Experts/DisableAndErrors + hist Address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_SEU_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_bitflip_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Data_bus_address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Hamming_code_0_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_1_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_2_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_Trigger_ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_incounter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_register_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_request_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist LVL1ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Limit_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Masked_link_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Other_CMD_decoder_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Preamble_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Readout_processor_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Row_Column_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + # hist ServiceRecord_Count_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = StatBox + # } + #hist ServiceRecord_Unweighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + #hist ServiceRecord_Weighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + hist Skipped_trig_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors2_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Truncated_event_flag_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Write_reg_data_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + + + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + + + + +############# + hist Bad_Module_Errors_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + + hist FE_Warning_per_lumiMap_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist Mod_Sync_BCID1_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist Mod_Sync_BCID2_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist Mod_Trunc_EOC_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist Optical_Errors_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist Optical_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist ROD_Sync_BCID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist ROD_Timeout_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Timeout_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist SEUErrors_Hamming_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SEU_Hamming_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEU_Hit_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEU_Register_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + } + + + #Track histograms from PixelMonitoring + #Below plot Combined Tracks + dir TrackOnTrack { + #hist m_Pixel_track_res_phi { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox,AxisRange(-0.05,0.05,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_res_eta { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_d0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_z0 { + # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_phi0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_eta { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_qOverP { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_pt { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracks_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist trackRate_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracksPerEvt_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + #hist ClustersOnOffTrack_per_lumi { + # algorithm = Pix_LB_Bins_Diff_FromAvg + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = <LogZ,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_mass_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + + ### Track State On Surface: Hole + hist TSOS_Hole_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Measurement + hist TSOS_Measurement_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Outlier + hist TSOS_Outlier_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Degradation Factor map for IP resolution + hist degFactorMap { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_eta_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_phi_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Hit efficiency + hist HitEff_all_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + } + + dir SpacePoint { + hist pixel_sp_r_vs_z { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + hist pixel_sp_x_vs_y { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + } + + dir DCS { + hist moduleTemperature_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S01 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S02 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S03 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S04 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S05 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S06 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S07 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S08 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S09 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S10 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S11 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S12 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S13 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S14 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist LV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist HV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist HVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + } + +} +# now get the pixel relevant plots from InDetGlobal +dir InDetGlobal { + dir Pixel { + hist m_Pixel_track_res_phi { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.2,0.2,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_res_eta { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.3,0.3,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_d0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-20.0,20.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_z0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-390.0,390.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_phi0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_eta { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_qOverP { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(0.0,10.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + } + dir Track { + #hist COMB_goodPixTrk_eta_phi { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + # hist COMB_goodPixTrk_eta { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + # hist COMB_goodPixTrk_phi { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + } + dir Hits { + #hist m_ID_hitmap_x_y@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist m_ID_hitmap_z_r@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + } +} + +############# +# Algorithms +############# + +algorithm Pix_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + thresholds = Pix_Diff_FromAvg +} +algorithm Pix_LB_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + NSigma = 10 + PublishBins = 1 + thresholds = Pix_LB_Diff_FromAvg +} +compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_GreaterThan_Threshold,BinPrint +} + +compositeAlgorithm Pix_Bins_LessThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_LessThan_Threshold,BinPrint +} + +### For Errors + +algorithm Pix_Clusters_Row_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 2.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Clusters_Column_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 1.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Disabled_Synch_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.1 + thresholds = Pix_Disabled_Synch_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_NonZero_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_NonZero_Errors_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_Frac_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_ErrorFrac_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_DisabledMod_Endcap { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B0B1 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B2 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 0 +} +compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_Equal_Threshold,BinPrint +} + +algorithm Pix_Occupancy_Endcap { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 500 +} +algorithm Pix_Occupancy_B0B1 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 1500 +} +algorithm Pix_Occupancy_B2 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 2500 +} +algorithm Pix_GatherData { + libname = libdqm_algorithms.so + name = GatherData + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Plain_GatherData { + libname = libdqm_algorithms.so + name = GatherData +} +algorithm Pix_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm PixGlobal_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_BinPrint { + libname = libdqm_algorithms.so + name = BinPrint + UnMask_All = 4 + Mask_2 = 1 + Mask_3 = 1 +} +compositeAlgorithm Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { + subalgs = CheckHisto_Mean,BinPrint + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_Timing_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_Timing_CheckMean_Thresh +} +algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_HitTiming_CheckMean_Thresh +} +algorithm Pix_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 2000 + thresholds = Pix_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_track_z0_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_track_z0_Thresh + MinStat = 100 +} +algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 500 + thresholds = PixTrack_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_Npix_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +#algorithm Pix_Npix_CheckHisto_Mean&GatherData { +# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +# name = Pix_CheckHisto_Mean&GatherData +# thresholds = Pix_Npix_CheckMean_Thresh +# MinStat = 100 +#} +algorithm Pix_BCID_NoEmptyBins { + libname = libdqm_algorithms.so + xmin = 0.0 + xmax = 255.0 + name = Bins_LessThan_Threshold + BinThreshold = 1 + MinStat = 3000 + thresholds = Pix_BCID_NoEmptyBins_Thresholds +} +algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_BCID_Thresh + UnMask_All = 20 + UseValue = 2 + Value = 10000 +} +algorithm Pix_Charge_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_Charge_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 + MinStat = 100 +} +algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ErrorLB_CheckMean_Thresh + MinStat = 100 +} +compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so +} +algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh + MinStat = 100 +} + +# +############## +## Thresholds +############## +# +thresholds Pix_Diff_FromAvg { + +} +thresholds Pix_LB_Diff_FromAvg { + limits NBins { + warning = 1 + error = 9999 + } +} +thresholds Pix_NonZero_Errors_Threshold { + limits NBins { + warning = 0 + error = 1000 + } +} + +thresholds Pix_Clusters_ColumnRow_LB_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + + + +thresholds Pix_Disabled_Synch_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + +thresholds Pix_ErrorFrac_Threshold { + limits NBins { + warning = 0.05 + error = 0.3 + } +} +thresholds Pix_DisabledMod_Endcap_Threshold { + limits NBins { + warning = 10 + error = 100 + } +} + +thresholds Pix_DisabledMod_B0B1_Threshold { + limits NBins { + warning = 15 + error = 150 + } +} +thresholds Pix_DisabledMod_B2_Threshold { + limits NBins { + warning = 40 + error = 400 + } +} +thresholds Pix_Timing_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_HitTiming_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 750 + error = 9999 + } +} +thresholds PixTrack_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 500 + error = 9999 + } +} +thresholds Pix_track_z0_Thresh { + limits AbsXMean { + warning = 50 + error = 9999 + } +} +thresholds Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Hits_Noise_lumi_Thresh { + limits AbsYMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_lumi_Thresh { + limits AbsYMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Hits_Noise_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_Thresh { + limits AbsXMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 50 + error = 999 + } +} +thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { + limits AbsXMean { + warning = 0.1 + error = 999 + } +} +thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { + limits AbsYMean { + warning = 150 + error = 10000 + } +} +thresholds Pix_BCID_NoEmptyBins_Thresholds { + limits NBins { + warning = 1 + error = 999 + } +} +thresholds Pix_BCID_Thresh { + limits NBins { + warning = 5000 + error = 9999 + } +} +thresholds Pix_Charge_CheckMean_Thresh { + limits AbsXMean { + warning = 75000 + error = 150000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh { + limits AbsYMean { + warning = 80 + error = 1000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { + limits AbsYMean { + warning = 10 + error = 140 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { + limits AbsYMean { + warning = 17 + error = 250 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { + limits AbsYMean { + warning = 55 + error = 600 + } +} +thresholds Pix_ErrorLB_CheckMean_Thresh { + limits AbsYMean { + warning = 100 + error = 10000 + } +} + -- GitLab From b80fb9894d927c92663b777d4b1275fe82e6deb2 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Tue, 6 Nov 2018 20:49:53 +0000 Subject: [PATCH 142/209] Merge branch 'HIJR-Flags' into '21.0' Flags for HI jet reconstruction (ATLHI-233) See merge request atlas/athena!15645 (cherry picked from commit e92b9c61c095f36829067fc1c7869d37e2ece29c) be15b83d Flags for HI jet reconstruction (ATLHI-233) --- Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py index b210d9c17c8..94a0a7535f6 100644 --- a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py +++ b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py @@ -88,7 +88,7 @@ class AntiKtRValues(JobProperty): """ statusOn = True allowedTypes = ['list'] - StoredValue = [0.2,0.3,0.4] + StoredValue = [0.2,0.3,0.4,1.0] class DoCellBasedSubtraction(JobProperty): """ option to use cell based subtraction @@ -117,7 +117,7 @@ class Remodulate(JobProperty): """ statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class ExtraFlowMoments(JobProperty): """ Calculate extra flow moments @@ -131,7 +131,7 @@ class DoHIBTagging(JobProperty): """ statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class HIClusterKey(JobProperty): -- GitLab From bec720ed798cc56bfbfb54ebb986a12db04d88f1 Mon Sep 17 00:00:00 2001 From: Nick Styles <nicholas.styles@cern.ch> Date: Fri, 2 Nov 2018 17:24:02 +0100 Subject: [PATCH 143/209] Add flag to toggle use of digital ROT creation (and include other changes from egamma fix in 21.0). Using this will save some CPU, but currently does not give optimal egamma performance - see ATLASRECTS-3949, ATLASRECTS-4573. Set false by default for egamma tuning until GXF changes can be made to fully support use of PRDs properly. Update update --- .../python/InDetJobProperties.py | 9 +++- .../share/InDetRecLoadTools.py | 43 ++++++++++++------- .../InDetDenseEnvAmbiTrackSelectionTool.cxx | 4 +- ...enseEnvironmentsAmbiguityProcessorTool.cxx | 11 ++++- 4 files changed, 47 insertions(+), 20 deletions(-) diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py index 34446ffa078..9b1cc0da380 100644 --- a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py +++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py @@ -1168,6 +1168,12 @@ class checkDeadElementsOnTrack(InDetFlagsJobProperty): allowedTypes = ['bool'] StoredValue = True +class doDigitalROTCreation(InDetFlagsJobProperty): + """use PixelClusterOnTrackToolDigital during ROT creation to save CPU""" + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + ##----------------------------------------------------------------------------- ## 2nd step @@ -2778,7 +2784,8 @@ _list_InDetJobProperties = [Enabled, doParticleConversion, doStoreTrackSeeds, doHIP300, - checkDeadElementsOnTrack + checkDeadElementsOnTrack, + doDigitalROTCreation ] for j in _list_InDetJobProperties: jobproperties.InDetJobProperties.add_JobProperty(j) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py index c3869db5a60..591e38058d8 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py @@ -175,18 +175,23 @@ if InDetFlags.loadRotCreator(): if InDetFlags.doDBM(): print PixelClusterOnTrackToolDBM - PixelClusterOnTrackToolDigital = InDet__PixelClusterOnTrackTool("InDetPixelClusterOnTrackToolDigital", - LorentzAngleTool = ToolSvc.PixelLorentzAngleTool, - DisableDistortions = (InDetFlags.doFatras() or InDetFlags.doDBMstandalone()), - applyNNcorrection = False, - NNIBLcorrection = False, - SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(), - RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(), - ErrorStrategy = 2, - PositionStrategy = 1 - ) + if InDetFlags.doDigitalROTCreation(): - ToolSvc += PixelClusterOnTrackToolDigital + PixelClusterOnTrackToolDigital = InDet__PixelClusterOnTrackTool("InDetPixelClusterOnTrackToolDigital", + LorentzAngleTool = ToolSvc.PixelLorentzAngleTool, + DisableDistortions = (InDetFlags.doFatras() or InDetFlags.doDBMstandalone()), + applyNNcorrection = False, + NNIBLcorrection = False, + SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(), + RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(), + ErrorStrategy = 2, + PositionStrategy = 1 + ) + + ToolSvc += PixelClusterOnTrackToolDigital + + else : + PixelClusterOnTrackToolDigital = None else: PixelClusterOnTrackTool = None PixelClusterOnTrackToolDigital = None @@ -236,11 +241,17 @@ if InDetFlags.loadRotCreator(): InDet_SeedToTrackConversion = InDet__SeedToTrackConversionTool( name = "InDet_SeedToTrackConversion") ToolSvc += InDet_SeedToTrackConversion - InDetRotCreatorDigital = Trk__RIO_OnTrackCreator(name = 'InDetRotCreatorDigital', - ToolPixelCluster = PixelClusterOnTrackToolDigital, - ToolSCT_Cluster = SCT_ClusterOnTrackTool, - Mode = 'indet') - ToolSvc += InDetRotCreatorDigital + if PixelClusterOnTrackToolDigital != None : + InDetRotCreatorDigital = Trk__RIO_OnTrackCreator(name = 'InDetRotCreatorDigital', + ToolPixelCluster = PixelClusterOnTrackToolDigital, + ToolSCT_Cluster = SCT_ClusterOnTrackTool, + Mode = 'indet') + ToolSvc += InDetRotCreatorDigital + + else: + + InDetRotCreatorDigital=InDetRotCreator + # # --- configure broad cluster ROT creator diff --git a/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx b/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx index ecf35181ca0..b18ffbb1488 100755 --- a/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx +++ b/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx @@ -1080,7 +1080,9 @@ bool InDet::InDetDenseEnvAmbiTrackSelectionTool::decideWhichHitsToKeep(const Trk lastbutonerot = lastrot; lastrot = tsosDetails.RIO[index]; lastrotindex = index; - continue; + continue; + } else if (tsosDetails.type[index] == Outlier && tsosDetails.hitIsShared[index] <= 0){ + continue; } else{ if (m_monitorTracks) m_observerTool->rejectTrack(*ptrTrack, 106); // rejection location 106: "Too many hits shared - we have to remove at least one PRD" diff --git a/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx b/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx index 5885b4d530d..900859b0b5b 100644 --- a/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx +++ b/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx @@ -1286,7 +1286,10 @@ const Trk::Track* Trk::DenseEnvironmentsAmbiguityProcessorTool::refitPrds( const increment_by_eta(m_NbremFits,track); ATH_MSG_VERBOSE ("Brem track, refit with electron brem fit"); - newTrack = fit(prds, *par, true, Trk::electron); + // TODO revert once GlobalChi2Fitter properly handles brem fits when + // starting from prds + // newTrack = fit(prds, *par, true, Trk::electron); + newTrack = fit(*track, true, Trk::electron); } else @@ -1304,7 +1307,11 @@ const Trk::Track* Trk::DenseEnvironmentsAmbiguityProcessorTool::refitPrds( const increment_by_eta(m_NrecoveryBremFits,track); ATH_MSG_VERBOSE ("Normal fit failed, try brem recovery"); - newTrack = fit(prds, *par, true, Trk::electron); + // TODO revert once GlobalChi2Fitter properly handles brem fits when + // starting from prds + // newTrack = fit(prds, *par, true, Trk::electron); + newTrack = fit(*track, true, Trk::electron); + } } -- GitLab From bf11f32d5763f768586d21a4f1f5b918dc296a8c Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Wed, 7 Nov 2018 11:40:18 +0100 Subject: [PATCH 144/209] changed VarHandleKeyArra::owner() for const-correctness --- Control/StoreGate/StoreGate/VarHandleKeyArray.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.h b/Control/StoreGate/StoreGate/VarHandleKeyArray.h index c3535c2fa19..6f8804b0275 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.h @@ -40,7 +40,8 @@ namespace SG { virtual void declare(IDataHandleHolder*) = 0; virtual void setOwner( IDataHandleHolder* o ) = 0; - virtual IDataHandleHolder* owner() const = 0; + virtual const IDataHandleHolder* owner() const = 0; + virtual IDataHandleHolder* owner() = 0; }; @@ -131,7 +132,8 @@ namespace SG { virtual void declare( IDataHandleHolder* ) override; virtual void setOwner( IDataHandleHolder* o ) override { m_owner = o; } - virtual IDataHandleHolder* owner() const override { return m_owner; } + virtual const IDataHandleHolder* owner() const override { return m_owner; } + virtual IDataHandleHolder* owner() override { return m_owner; } private: -- GitLab From 12cba60e02c5024c2c12a77fa32ca1d5fe3160c3 Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Wed, 7 Nov 2018 11:53:59 +0100 Subject: [PATCH 145/209] Clean up *DecorHandleKeyArray_tests --- .../test/ReadDecorHandleKeyArray_test.cxx | 22 ------------------- .../test/WriteDecorHandleKeyArray_test.cxx | 14 ------------ 2 files changed, 36 deletions(-) diff --git a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx index 1c5f4b0d689..1ec05060abf 100644 --- a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx +++ b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx @@ -131,28 +131,6 @@ void test2() h.m_inputHandles.push_back (&r1); h.m_outputHandles.push_back (&w1); assert (k1.initialize().isSuccess()); - - // Not sure this works. Shouldn't there be dependencies set? Now none are made - - // std::cout << "h.m_deps.size() = " << h.m_deps.size() << std::endl; - - // assert (h.m_deps.size() == 2); - // assert (h.m_deps[0].fullKey() == "MyObj/StoreGateSvc+aaa"); - - // // Don't really know what the stuff below is testing. - // h.m_deps.clear(); - // SG::ReadHandleKey<MyObj> r2 ("aaa"); - // h.m_inputHandles.push_back (&r2); - // assert (k1.initialize().isSuccess()); - // assert (h.m_deps.empty()); - // h.m_inputHandles.pop_back(); - - // h.m_deps.clear(); - // SG::WriteHandleKey<MyObj> w2 ("aaa"); - // h.m_outputHandles.push_back (&w2); - // assert (k1.initialize().isSuccess()); - // assert (h.m_deps.empty()); - // h.m_outputHandles.pop_back(); } diff --git a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx index 254ce50fd32..b62874a9674 100644 --- a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx +++ b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx @@ -102,13 +102,6 @@ void test1() assert (k1[1].key() == "ccc.fee2"); assert (k1[1].contHandleKey().key() == "ccc"); - // Can't get this to work - // // let's try making the handles - // SGTest::TestStore dumstore; - // EventContext ctx; - // ctx.setExtension( Atlas::ExtendedEventContext(&dumstore) ); - // std::vector<SG::WriteDecorHandle<MyObj, float> > handles = k1.makeHandles(ctx); - // assert (handles.size() == 2); } void test1a() @@ -139,13 +132,6 @@ void test1a() assert (k1[1].key() == "ccc.fee2"); assert (k1[1].contHandleKey().key() == "ccc"); - // Can't get this to work - // // let's try making the handles - // SGTest::TestStore dumstore; - // EventContext ctx; - // ctx.setExtension( Atlas::ExtendedEventContext(&dumstore) ); - // std::vector<SG::WriteDecorHandle<MyObj, float> > handles = k1.makeHandles(ctx); - // assert (handles.size() == 2); } -- GitLab From 9f37884ef528de259d3e64426f978affd68ceab8 Mon Sep 17 00:00:00 2001 From: Marcin Nowak <Marcin.Nowak@cern.ch> Date: Wed, 7 Nov 2018 11:57:02 +0100 Subject: [PATCH 146/209] migrate output to use ATH_MSG_ macros --- .../src/TrigSerializeConvHelper.cxx | 4 ++-- .../src/TrigSerializeGuidHelper.cxx | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx index 0ef5a3b9e8c..f082f6152c5 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx @@ -115,8 +115,8 @@ StatusCode TrigSerializeConvHelper::initialize(){ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaqueAddress* iAddr, void *&ptr, bool isxAOD){ ptr = 0; - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname: " << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; - + ATH_MSG_DEBUG("in TrigSerializeConvHelper::createObj for clname " << clname << " is xAOD? " << (isxAOD?"yes":"no")); + //could alse get DATA (perhaps as boost::any) from the IOA TrigStreamAddress *addr = dynamic_cast<TrigStreamAddress*>(iAddr); if (!addr) { diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx index a08c0eea802..de447405b3b 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx @@ -34,8 +34,7 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u RootPropertyList pl = t.Properties(); if (pl.HasProperty("ClassID")){ std::string gecko = pl.PropertyAsString("ClassID"); - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << clname << " to ROOT known as " << cl << " has " << "ClassID=" << gecko << endmsg; + ATH_MSG_DEBUG( clname << " to ROOT known as " << cl << " has " << "ClassID=" << gecko ); const Guid guid(gecko ); iarr[0] = guid.data1(); @@ -44,7 +43,7 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u iarr[3] = guid.data4(4) << 24 | guid.data4(5) << 16 | guid.data4(6) << 8 | guid.data4(7); } else{ - msg(MSG::WARNING) << "property list has no ClassID for class name " << clname << " aka (" << cl << ")" << endmsg; + ATH_MSG_WARNING( "property list has no ClassID for class name " << clname << " aka (" << cl << ")" ); return StatusCode::FAILURE; } @@ -66,8 +65,7 @@ StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::s guid.setData4(iarr[3] >> 8, 6); guid.setData4(iarr[3] & 0xFF, 7); - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; + ATH_MSG_DEBUG( "constructed " << guid.toString() << " from ints" ); if( clname != "" ) { // Instead of getting a typename for a known guid (quite costly in ROOT6) @@ -85,8 +83,7 @@ StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::s clname = cltype.Name(Reflex::SCOPED); } - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "corresponds to " << clname << endmsg; + ATH_MSG_DEBUG( "corresponds to " << clname ); if (clname.empty()){ return StatusCode::FAILURE; -- GitLab From d3f1e357c7fae7b0c70db3a37051369612795cad Mon Sep 17 00:00:00 2001 From: Jovan Mitrevski <Jovan.Mitrevski@cern.ch> Date: Wed, 7 Nov 2018 11:58:12 +0100 Subject: [PATCH 147/209] update copyright dates to include 2018 in modified files --- Control/StoreGate/StoreGate/VarHandleKeyArray.h | 2 +- Control/StoreGate/StoreGate/VarHandleKeyArray.icc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.h b/Control/StoreGate/StoreGate/VarHandleKeyArray.h index 6f8804b0275..97c4f9e4c15 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_VARHANDLEKEYARRAY_H diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc index 54cb69283ee..abe39fad627 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -- GitLab From fbbc3ef88837fdd12d6049e4ac621a1eedf240fa Mon Sep 17 00:00:00 2001 From: Pavol Strizenec <pavol.strizenec@cern.ch> Date: Wed, 7 Nov 2018 14:03:44 +0100 Subject: [PATCH 148/209] fix HVScaleCorr type --- LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx | 7 ++++--- LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx index fbeb8cc6e6d..7eaaaea1607 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx @@ -130,10 +130,11 @@ StatusCode LArHVScaleCorrCondAlg::execute() { const LArHVData *hvdata = *hvDataHdl; // Online HVScaleCorr (if needed to subtract) - const LArHVScaleCorrFlat *onlHVCorr = nullptr; + const ILArHVScaleCorr *onlHVCorr = nullptr; if(m_undoOnlineHVCorr) { SG::ReadCondHandle<ILArHVScaleCorr> onlHVCorrHdl(m_onlineHVScaleCorrKey); - onlHVCorr = dynamic_cast<const LArHVScaleCorrFlat*>(*onlHVCorrHdl); + // onlHVCorr = dynamic_cast<const LArHVScaleCorrFlat*>(*onlHVCorrHdl); + onlHVCorr = *onlHVCorrHdl; if(!onlHVCorr) { ATH_MSG_ERROR("Do not have online HV corr. conditions object, but asked to undo !!!!"); return StatusCode::FAILURE; @@ -251,7 +252,7 @@ StatusCode LArHVScaleCorrCondAlg::finalize() // *** compute global ADC2MeV factor from subfactors *** -StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const LArHVScaleCorrFlat *onlHVCorr) const { +StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const ILArHVScaleCorr *onlHVCorr) const { unsigned nChannelsUpdates=0; diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h index c2a9d46ab9c..9f66b4bb22d 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h @@ -121,7 +121,7 @@ class LArHVScaleCorrCondAlg: public AthAlgorithm HASHRANGEVEC m_hashRanges[2];//x2 for the side HASHRANGEVEC m_completeRange; HASHRANGEVEC cellsIDsToPartition(const std::set<Identifier>& cellsIDvec) const; - StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const LArHVScaleCorrFlat *onlHVCorr) const; + StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const ILArHVScaleCorr *onlHVCorr) const; }; #endif -- GitLab From 910b8a1a498d0715a4ea8da99f2300acb4db8ef9 Mon Sep 17 00:00:00 2001 From: Carlo Varni <cvarni@lxplus019.cern.ch> Date: Wed, 7 Nov 2018 14:51:43 +0100 Subject: [PATCH 149/209] Update packages:TrigSecVtxFinder TrigT2HistoPrmVtx TrigBjetHypo TrigBjetMonitoring TrigTrackJetFinderTool TrigBjetValidation bjet from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigBjetHypo/CMakeLists.txt | 2 +- .../TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h | 7 + .../TrigBjetHypo/TrigBjetHypoAllTE.h | 139 ++++++ .../TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h | 39 +- .../TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h | 7 +- .../TrigBjetHypo/TrigJetSplitterAllTE.h | 4 +- .../TrigBjetHypo/TrigSuperRoiBuilderAllTE.h | 4 +- .../TrigBjetHypo/python/TrigBjetFexConfig.py | 1 - .../TrigBjetHypo/python/TrigBjetHypoConfig.py | 445 ++++++++++++++++- .../python/TrigBjetHypoMonitoring.py | 31 ++ .../TrigBjetHypo/python/TrigBtagFexConfig.py | 195 +------- .../python/TrigBtagFexMonitoring.py | 72 ++- .../TrigBjetHypo/python/TrigGSCFexConfig.py | 260 ++-------- .../python/TrigGSCFexMonitoring.py | 12 +- .../python/TrigLeptonJetMatchAllTEConfig.py | 1 + .../TrigBjetHypo/src/TrigBjetHypo.cxx | 85 +++- .../TrigBjetHypo/src/TrigBjetHypoAllTE.cxx | 462 ++++++++++++++++++ .../TrigBjetHypo/src/TrigBtagFex.cxx | 152 +++++- .../TrigBjetHypo/src/TrigGSCFex.cxx | 62 ++- .../TrigBjetHypo/src/TrigJetSplitterAllTE.cxx | 4 +- .../src/components/TrigBjetHypo_entries.cxx | 5 + .../TrigBjetMonitoring/src/HLTBjetMonTool.cxx | 5 +- .../TriggerMenu/python/bjet/BjetSliceFlags.py | 5 +- .../python/bjet/generateBjetChainDefs.py | 388 +++++++++++---- 24 files changed, 1804 insertions(+), 583 deletions(-) create mode 100644 Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h create mode 100644 Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt index 68299735276..b51c4d80f97 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt +++ b/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt @@ -48,7 +48,7 @@ atlas_add_component( TrigBjetHypo src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps xAODBase xAODTracking GaudiKernel Particle VxSecVertex TrigInDetEvent TrigInterfacesLib AthContainers GeoPrimitives EventInfo EventPrimitives FourMomUtils xAODBTagging xAODCore xAODJet xAODMuon BTaggingLib JetEvent VxVertex TrigCaloEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent DecisionHandlingLib) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps xAODBase xAODTracking GaudiKernel Particle VxSecVertex TrigInDetEvent TrigInterfacesLib AthContainers GeoPrimitives EventInfo EventPrimitives FourMomUtils xAODBTagging xAODCore xAODJet xAODMuon BTaggingLib JetEvent VxVertex TrigCaloEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent DecisionHandlingLib ) # Install files from the package: atlas_install_headers( TrigBjetHypo ) diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h index 1110b4067e0..418d17a88c7 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h @@ -25,6 +25,7 @@ class TriggerElement; /** * @brief Hypo class for HLT b-jet selection. * + * @author John Alison <johnda@uchicago.edu> * @author Andrea Coccaro <Andrea.Coccaro@ge.infn.it> * * This is the base hypothesis class for the b-jet selection. @@ -78,6 +79,8 @@ class TrigBjetHypo : public HLT::HypoAlgo { float m_xcutCHI2; /** @brief DeclareProperty: lower bound of the discriminant variable to be selected (if flag acceptAll is set to false) for MV2 tagger. */ float m_xcutMV2c20; + float m_xcutMV2c10; + float m_xcutMV2c10_hybrid; /** @brief DeclareProperty: string corresponding to the trigger level in which the algorithm is running. */ std::string m_instance; @@ -85,6 +88,10 @@ class TrigBjetHypo : public HLT::HypoAlgo { /** @brief to check the beam spot flag status. */ bool m_useBeamSpotFlag; + /** @brief Overide the requirement that the BS is valid. */ + /** @brief Used to not apply the correction to the GSC chains */ + bool m_overRideBeamSpotValid; + /** @brief DeclareProperty: to monitor method used to perform the cut. */ float m_monitorMethod; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h new file mode 100644 index 00000000000..5bda03e6fa0 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h @@ -0,0 +1,139 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// ************************************************ +// +// NAME: TrigBjetHypoAllTE.h +// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo +// +// AUTHORS: John Alison johnda@uchicago.edu +// +// ************************************************ + +#ifndef TRIGBJETHYPOALLTE_H +#define TRIGBJETHYPOALLTE_H + +#include "TrigInterfaces/AllTEAlgo.h" + +class TriggerElement; + +class TrigBjetHypoAllTE: public HLT::AllTEAlgo { + + public: + + TrigBjetHypoAllTE(const std::string& name, ISvcLocator* pSvcLocator); + ~TrigBjetHypoAllTE(); + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltFinalize(); + HLT::ErrorCode hltExecute(std::vector<std::vector<HLT::TriggerElement*> >&,unsigned int); + HLT::ErrorCode hltEndEvent(); + + private: + + const xAOD::BTagging* getBTaggingPtr(HLT::TriggerElement* btagTE); + const xAOD::Jet* getJetPtr(const xAOD::BTagging* btagInfo); + bool eventPassesTrigger(); + void clearCounters(); + + private: + + /** @brief vectors with Et thresholds, btagging cut, and multiplicity requirement */ + /** @brief These are all required to be the same length and a given index is used */ + /** @brief to configure a "triggerRequirement" that is ANDed with the others */ + std::vector<double> m_EtThresholds; + std::vector<double> m_BTagMin; + std::vector<double> m_BTagMax; + std::vector<int> m_Multiplicities; + + /** @brief vectors of vectors with Et thresholds, btagging cut, and multiplicity requirement */ + /** @brief These are all required to be the same length. */ + /** @brief A given index is used to configure a list of "triggerRequirement"s */ + /** @brief The requirements within the list are ANDed, and the lists are ORed */ + std::vector<std::vector<double> > m_EtThresholdsOR; + std::vector<std::vector<double> > m_BTagMinOR; + std::vector<std::vector<double> > m_BTagMaxOR; + std::vector<std::vector<double> > m_MultiplicitiesOR; + + /** @brief string corresponding to the trigger level in which the algorithm is running. */ + // std::string m_instance; + + /** @brief Name of the input btagging objects. */ + std::string m_btaggingKey; + + /** @brief Name of the btagging variable. */ + std::string m_tagger; + + /** @brief to check the beam spot flag status. */ + bool m_useBeamSpotFlag; + + /** @brief Overide the requirement that the BS is valid. */ + /** @brief Used to not apply the correction to the GSC chains */ + bool m_overRideBeamSpotValid; + + /** @brief Used for monitoring. */ + /** @ brief -1 - invalid value */ + /** @ brief 0 - Fail Event Cut */ + /** @ brief 1 - Accept Event */ + /** @ brief 2 - Fail BS */ + /** @ brief 3 - Too few input TEs */ + /** @ brief 4 - Too many input TEs */ + /** @ brief 5 - No input bjets */ + /** @ brief 6 - Failed to get btagging pointer */ + /** @ brief 7 - Failed to get jet pointer */ + float m_cutCode = -1; + + + /** @ brief Beamspot Code */ + /** @ brief -1 - invalid value */ + /** @ brief 0 - had valid BS */ + /** @ brief 1 - no valid BS (reject event) */ + /** @ brief 2 - no valid BS (do not reject event) */ + /** @ brief 3 - cannot read BS information */ + /** @ brief 4 - do not use BS information */ + float m_BSCode = -1; + + /** @ brief Number of input jets */ + float m_nInputJets = -1; + + /** @ brief Basic unit of trigger requirment */ + /** @ brief Contains Et threhold / min & max btagging values and multiplicity requirement */ + struct triggerRequirement{ + float m_EtThreshold; + float m_btagMin; + float m_btagMax; + unsigned int m_multiplicity; + + unsigned int m_count; + triggerRequirement(float EtThreshold, float btagMin, float btagMax, unsigned int multiplicity) : + m_EtThreshold(EtThreshold), + m_btagMin(btagMin), + m_btagMax(btagMax), + m_multiplicity(multiplicity), + m_count(0) + { } + + bool pass(){ + return bool(m_count >= m_multiplicity); + } + + void countJet(float btagEt, float btagWeight){ + if((btagEt > m_EtThreshold) && (btagWeight > m_btagMin) && (btagWeight < m_btagMax)) + ++m_count; + } + + }; + + /** @ brief the triggerRequirement in this list are added */ + std::vector<triggerRequirement> m_triggerReqsAND; + + /** @ brief The inner list of trigger requirements are ANDed */ + /** @ brief And the result of each of these is ORed */ + std::vector<std::vector<triggerRequirement> > m_triggerReqsOR; + +}; + +#endif + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h index ccf92cd0029..6aba2464bf6 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h @@ -180,18 +180,47 @@ class TrigBtagFex: public HLT::FexAlgo { /** @brief Run-2 monitored variables. */ - float m_mon_sv_mass; - float m_mon_sv_evtx; - int m_mon_sv_nvtx; - + //SV1 variables + float m_mon_sv_mass; + float m_mon_sv_evtx; + int m_mon_sv_nvtx; + //2017 variables - Nghia + int m_mon_sv_ntkv; + float m_mon_sv_Lxy; + float m_mon_sv_L3d; + float m_mon_sv_sig3; + float m_mon_sv_dR; + + //IP2/IP3 variables float m_mon_tag_IP2D; float m_mon_tag_IP3D; float m_mon_tag_SV1; float m_mon_tag_IP3DSV1; float m_mon_tag_MV2c00; float m_mon_tag_MV2c10; + float m_mon_tag_MV2c10_hybrid; float m_mon_tag_MV2c20; - + //2017 variables + float m_mon_tag_IP2_c; + float m_mon_tag_IP2_cu; + float m_mon_tag_IP3_c; + float m_mon_tag_IP3_cu; + + //JetFitter variables + int m_mon_jf_n2tv; + int m_mon_jf_ntrkv; + int m_mon_jf_nvtx; + int m_mon_jf_nvtx1t; + float m_mon_jf_mass; + float m_mon_jf_efrc; + float m_mon_jf_dR; + float m_mon_jf_sig3; + + //jet variables + float m_mon_jet_pt; + float m_mon_jet_eta; + int m_mon_sv_bool; + int m_mon_jf_bool; // /** @brief to monitor track selection. */ // std::vector<float> m_listCutApplied; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h index e48bc5af437..32cefa5c48c 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h @@ -94,8 +94,11 @@ class TrigGSCFex: public HLT::FexAlgo { // /** @brief Run-2 monitored variables. */ - - //float m_mon_sv_mass; + int m_mon_gsc_ntrk; + float m_mon_gsc_width; + float m_mon_gsc_ptsum; + float m_mon_gsc_ptdiff; + float m_mon_gsc_ptratio; std::string m_trackKey; std::string m_jetKey; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h index afac5ba8f5a..65ad0c897ae 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigJetSplitterAllTE.h // // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigJetSplitterAllTE.h, v0.0 Tue 17 Jun 2014 03:26:44 CEST sutt $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h index d2644265b15..433a9f00610 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoiBuilderAllTE.h // // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigSuperRoiBuilderAllTE.h 797477 2017-02-16 09:56:10Z kleney $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py index 144c4b0d243..feea1ad59ab 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py @@ -186,7 +186,6 @@ class BjetFexSplit (TrigBjetFex): def __init__(self, instance, version, algo, name): super( BjetFexSplit, self ).__init__( name ) - mlog = logging.getLogger('BjetHypoConfig.py') AllowedInstances = ["EF", "MuJetChain"] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py index 3210b0d3358..8f82dfa5e41 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py @@ -1,6 +1,7 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration from TrigBjetHypo.TrigBjetHypoConf import TrigBjetHypo +from TrigBjetHypo.TrigBjetHypoConf import TrigBjetHypoAllTE from AthenaCommon.Logging import logging from AthenaCommon.SystemOfUnits import GeV @@ -8,6 +9,9 @@ from AthenaCommon.SystemOfUnits import GeV def getBjetHypoInstance( instance, version, cut ): return BjetHypo( instance=instance, cut=cut, version=version, name=instance+"BjetHypo"+"_"+cut+"_"+version ) +def getBjetHypoAllTEInstance( instance, version, name, btagReqs ): + return BjetHypoAllTE( instance=instance, version=version, btagReqs=btagReqs, name=instance+"BjetHypoAllTE"+"_"+name.replace(".","_")) + def getBjetHypoNoCutInstance( instance): return BjetHypoNoCut( instance=instance, name=instance+"BjetHypoNoCut" ) @@ -26,8 +30,12 @@ class BjetHypo (TrigBjetHypo): mlog = logging.getLogger('BjetHypoConfig.py') - AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight","mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085" ] - AllowedVersions = ["2012", "2015", "MuJetChain_2012", "MuJetChain_2015"] + AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight", + "mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085", + "mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085", + "hmv2c1040","hmv2c1050","hmv2c1060","hmv2c1070","hmv2c1077","hmv2c1085" ] + + AllowedVersions = ["2012", "2015", "2017", "2018", "MuJetChain_2012", "MuJetChain_2015"] AllowedInstances = ["EF", "MuJetChain"] if instance not in AllowedInstances : @@ -43,8 +51,8 @@ class BjetHypo (TrigBjetHypo): return None if instance=="EF" : - self.AcceptAll = False - self.Instance = "EF" + self.AcceptAll = False + self.Instance = "EF" self.UseBeamSpotFlag = False self.JetKey = "" @@ -59,7 +67,7 @@ class BjetHypo (TrigBjetHypo): time.TimerHistLimits = [0,0.4] self.AthenaMonTools = [ time, validation, online ] - + if instance=="EF" : if version=="2012" : self.MethodTag = "COMB" @@ -69,6 +77,7 @@ class BjetHypo (TrigBjetHypo): self.CutXCOMB = 1.25 elif cut=="tight": self.CutXCOMB = 2.65 + if version=="2015" : self.MethodTag = "MV2c20" # These are the offline working points @@ -91,6 +100,52 @@ class BjetHypo (TrigBjetHypo): # Actually 87% efficient self.CutMV2c20 = -0.938441 + if version=="2017" : + self.MethodTag = "MV2c10" + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + self.CutMV2c10 = 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + self.CutMV2c10 = 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + self.CutMV2c10 = 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + self.CutMV2c10 = 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + self.CutMV2c10 = 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + self.CutMV2c10 = -0.494 + + if version=="2018" : +# self.MethodTag = "MV2c10_hybrid" # Temporary use mv2c00 for hybrid tuning + self.MethodTag = "MV2c00" + # These are the offline working points + if cut=="hmv2c1040": + # Actually ~45% efficient + self.CutMV2c10_hybrid = 0.973 + elif cut=="hmv2c1050": + # Actually ~55% efficient + self.CutMV2c10_hybrid = 0.939 + elif cut=="hmv2c1060": + # Actually ~65% efficient + self.CutMV2c10_hybrid = 0.835 + elif cut=="hmv2c1070": + # Actually ~75% efficient + self.CutMV2c10_hybrid = 0.588 + elif cut=="hmv2c1077": + # Actually ~80% efficient + self.CutMV2c10_hybrid = 0.192 + elif cut=="hmv2c1085": + # Actually ~90% efficient + self.CutMV2c10_hybrid = -0.402 + + class BjetHypoNoCut (TrigBjetHypo): __slots__ = [] @@ -107,9 +162,10 @@ class BjetHypoNoCut (TrigBjetHypo): if instance in AllowedInstances : if instance=="EF" : - self.AcceptAll = True - self.Instance = "EF" - self.UseBeamSpotFlag = False + self.AcceptAll = True + self.Instance = "EF" + self.UseBeamSpotFlag = False + self.OverrideBeamSpotValid = True from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoValidationMonitoring, TrigEFBjetHypoOnlineMonitoring validation = TrigEFBjetHypoValidationMonitoring() online = TrigEFBjetHypoOnlineMonitoring() @@ -136,8 +192,11 @@ class BjetHypoSplit (TrigBjetHypo): mlog = logging.getLogger('BjetHypoConfig.py') - AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight","mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085"] - AllowedVersions = ["2012","2015"] + AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight", + "mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085", + "mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085", + "hmv2c1040","hmv2c1050","hmv2c1060","hmv2c1070","hmv2c1077","hmv2c1085" ] + AllowedVersions = ["2012","2015","2017","2018"] AllowedInstances = ["EF", "MuJetChain"] if instance not in AllowedInstances : @@ -158,8 +217,8 @@ class BjetHypoSplit (TrigBjetHypo): instance = "EF" if instance=="EF" : - self.AcceptAll = False - self.Instance = "EF" + self.AcceptAll = False + self.Instance = "EF" self.UseBeamSpotFlag = False if instance=="EF" : @@ -182,6 +241,7 @@ class BjetHypoSplit (TrigBjetHypo): self.CutXCOMB = 1.25 elif cut=="tight": self.CutXCOMB = 2.65 + if version=="2015" : self.MethodTag = "MV2c20" # These are the offline working points @@ -204,6 +264,53 @@ class BjetHypoSplit (TrigBjetHypo): # Actually 87% efficient self.CutMV2c20 = -0.938441 + if version=="2017" : + self.MethodTag = "MV2c10" + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + self.CutMV2c10 = 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + self.CutMV2c10 = 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + self.CutMV2c10 = 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + self.CutMV2c10 = 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + self.CutMV2c10 = 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + self.CutMV2c10 = -0.494 + + if version=="2018" : +# self.MethodTag = "MV2c10_hybrid" # Temporary use mv2c00 for hybrid tuning + self.MethodTag = "MV2c00" + # These are the hybrid working points + if cut=="hmv2c1040": + # Actually ~45% efficient + self.CutMV2c10_hybrid = 0.973 + elif cut=="hmv2c1050": + # Actually ~55% efficient + self.CutMV2c10_hybrid = 0.939 + elif cut=="hmv2c1060": + # Actually ~65% efficient + self.CutMV2c10_hybrid = 0.835 + elif cut=="hmv2c1070": + # Actually ~75% efficient + self.CutMV2c10_hybrid = 0.588 + elif cut=="hmv2c1077": + # Actually ~80% efficient + self.CutMV2c10_hybrid = 0.192 + elif cut=="hmv2c1085": + # Actually ~90% efficient + self.CutMV2c10_hybrid = -0.402 + + + class BjetHypoSplitNoCut (TrigBjetHypo): __slots__ = [] @@ -224,9 +331,10 @@ class BjetHypoSplitNoCut (TrigBjetHypo): instance = "EF" if instance=="EF" : - self.AcceptAll = True - self.Instance = "EF" - self.UseBeamSpotFlag = False + self.AcceptAll = True + self.Instance = "EF" + self.UseBeamSpotFlag = False + self.OverrideBeamSpotValid = True from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoValidationMonitoring, TrigEFBjetHypoOnlineMonitoring validation = TrigEFBjetHypoValidationMonitoring() online = TrigEFBjetHypoOnlineMonitoring() @@ -244,3 +352,310 @@ class BjetHypoSplitNoCut (TrigBjetHypo): +# +# All TE +# +class BjetHypoAllTE (TrigBjetHypoAllTE): + __slots__ = [] + + def __init__(self, instance, version, btagReqs, name): + super( BjetHypoAllTE, self ).__init__( name ) + + mlog = logging.getLogger('BjetHypoAllTEConfig.py') + #mlog.setLevel(0) + AllowedVersions = ["2017"] + AllowedInstances = ["EF" ] + + if instance not in AllowedInstances : + mlog.error("Instance "+instance+" is not supported!") + return None + + if version not in AllowedVersions : + mlog.error("Version "+version+" is not supported!") + return None + + + mlog.debug("btagReqs were") + mlog.debug(btagReqs) + + # + # Main idea here is that the btagReqs contains a list of the different btagging requiremnts + # eg: 2b55_2j55 would contain a list of two requirements (55,b,2) and (55,j,2) + # The following python code: + # - updates the requirements to properly handle overlap + # - formats these requirements as expected by c++ + # - checks if the beamspot is needed + # The c++ code then recieves a list of requirements to be "AND"ed + # and a list of requrirements to be "OR"ed + # to handle chains like 2b55_j100 the "OR" requirments need sub-requirements that are "AND"ed + + # + # Format cut values + # + for req in btagReqs: + + # Et in MeV + req[0] = float(req[0])*1000 + + # req[1] has to be one of possiblities in AllowedCuts below + req[1] = req[1].replace("bmv","mv").replace("boff","") + + # Mulitplicity Requirement + req[2] = int(req[2]) + + mlog.debug( "btagReqs are") + mlog.debug( btagReqs) + + # + # These have to be ordered from tighest to loosest + # + if version == "2017": + self.Tagger = "MV2c10_discriminant" + # All possible cuts + AllowedCuts = ["mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085","perf"] + # Subset of cuts requireing a BS to be valid + CutsRequiringBS = ["mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085" ] + + # + # Check that the b-tagging operating points are supported + # + for req in btagReqs: + if req[1] not in AllowedCuts : + mlog.error("Cut "+req[1]+" is not supported!") + return None + + # + # Set the b-tag key + # + self.BTaggingKey = "HLTBjetFex" + + # + # Use the BS for EF + # + if instance=="EF" : + self.UseBeamSpotFlag = False + + # + # Override beamspot valid if not btagging + # + self.OverrideBeamSpotValid = True + for req in btagReqs: + if req[1] in CutsRequiringBS: + self.OverrideBeamSpotValid = False + + # + # Get a list of differnt operation points in this chain + # (CutsInThisChain is a unique list of indices for of AllowedCuts) + CutsInThisChain = [] + for req in btagReqs: + if req[1] not in CutsInThisChain: + CutsInThisChain.append(AllowedCuts.index(req[1])) + CutsInThisChain.sort() + + # + # Make a list of jet multiplicities requirements + # fullTrigReqAND is the AND of them + # eg: 2b35_2j25 is the AND of 2b35 and 4j35) + fullTrigReqAND = {} + for jetReq in btagReqs: + + thisPt = jetReq[0] + thisBTag = AllowedCuts.index(jetReq[1]) + thisMult = jetReq[2] + + # Upper cut on btagging + # (Used below for cases when the btagging is on lower pt jets, set it to 99 now) + # eg: j100_2b55 + thisMaxBTag = 99 + + # + # Add/Increment this combination of pt and btag. + # + if (thisPt,thisBTag,thisMaxBTag) not in fullTrigReqAND: + fullTrigReqAND[(thisPt,thisBTag,thisMaxBTag)] = thisMult + else: + fullTrigReqAND[(thisPt,thisBTag,thisMaxBTag)] += thisMult + + # + # For each btagging point requested add to the multiplicity of the looser btag requirments + # This is effectively dealing with the overlap + # eg: for 2b_2j, the multiplicity of the 2b reqirement is added the "j" multiplcity + # + for point in CutsInThisChain: + if point > thisBTag: + if (thisPt,point,thisMaxBTag) not in fullTrigReqAND: + fullTrigReqAND[(thisPt,point,thisMaxBTag)] = thisMult + else: + fullTrigReqAND[(thisPt,point,thisMaxBTag)] += thisMult + + # + # Update the pt thresholds + # (for tagging requirements with the same operating point but differnet pTs, + # add the larger pt multiplcity to the smaller Pt to deal with overlap) + # eg: b150_b50 gives two requirements 150b and 2b50 + for jetDef in fullTrigReqAND: + for otherJetDefs in fullTrigReqAND: + if jetDef == otherJetDefs: continue + if jetDef[0] > otherJetDefs[0] and jetDef[1] == otherJetDefs[1] : + fullTrigReqAND[otherJetDefs] += fullTrigReqAND[jetDef] + + + mlog.debug( "full btagReqsAND are") + mlog.debug( fullTrigReqAND) + + # + # Format lists in a way that can be passed to the c++ + # + EtThresholds = [] + BTagMin = [] + BTagMax = [] + Multiplicities = [] + for reqAND in fullTrigReqAND: + EtThresholds .append(float(reqAND[0])) + BTagMin .append(float(self.getCutValue(AllowedCuts[reqAND[1]]))) + BTagMax .append(float(reqAND[2])) + Multiplicities.append(int (fullTrigReqAND[reqAND])) + + mlog.debug("EtThresholds:") + mlog.debug(EtThresholds) + self.EtThresholds = EtThresholds + + mlog.debug("BTagMin:") + mlog.debug(BTagMin) + self.BTagMin = BTagMin + + mlog.debug("BTagMax:") + mlog.debug(BTagMax) + self.BTagMax = BTagMax + + mlog.debug("Multiplicities:") + mlog.debug(Multiplicities) + self.Multiplicities = Multiplicities + + # + # Handle the cases where have a higher pt looser leg + # Here we need to make requirements that get OR + # eg: j100_2b55 passes only if: + # - (j100 & 3b55) || (j100 & 2b55 & !b100) + # + # NOTE: At the moment the following logic only hold for one highpt/looser requiremnt + # It will need to be extending to handle more than 2 operating points if needed. + # (eg: j100_2btight55 work fine, but j100_bloose55_btight35 would not) + # + fullTrigReqOR = [] + + # Loop on unique pairs + for jetDef in fullTrigReqAND: + for otherJetDefs in fullTrigReqAND: + if jetDef == otherJetDefs: continue + + # check if pt is harder + jetDef_ptBigger = jetDef[0] > otherJetDefs[0] + mlog.debug("jetDef_ptBigger: "+str(jetDef_ptBigger)+" ( "+str(jetDef[0])+" > "+str(otherJetDefs[0])+" )") + + # check if btagging is looser (higher AllowedCuts index means looser btagging) + jetDef_btagLooser = jetDef[1] > otherJetDefs[1] + mlog.debug("jetDef_btagLooser: "+str(jetDef_btagLooser)+" ( "+str(jetDef[1])+" > "+str(otherJetDefs[1])+" )") + + # if both harder and looser, add two cases to be ORed as example above + if jetDef_ptBigger and jetDef_btagLooser : + + # 1st) both requirements pass the tighter btagging + # eg: j100 & 3b55 (in our example above) + fullTrigReqOR.append({otherJetDefs: (fullTrigReqAND[otherJetDefs] + fullTrigReqAND[jetDef])}) + + # 2nd) this requriemnts has two sub requirements + # - the tighter btagging requirement passes with its multiplicity + # eg: 2b55 + # - the looser btagging requirement passes with its multiplicity, and an upper cut on btagging + # eg: j100 & !b100 + # (upper cut is given by the 3rd index in the requirement + fullTrigReqOR.append({ otherJetDefs : fullTrigReqAND[otherJetDefs], + (jetDef[0],jetDef[1],otherJetDefs[1]) : fullTrigReqAND[jetDef]}) + + + # + # Format lists of ORs in a way that can be passed to the c++ + # + mlog.debug( "full btagReqsOR are") + mlog.debug( fullTrigReqOR) + + EtThresholdsOR = [] + BTagMinOR = [] + BTagMaxOR = [] + MultiplicitiesOR = [] + + + for jetReqAndComo in fullTrigReqOR: + thisEtThresholdsOR = [] + thisBTagMinOR = [] + thisBTagMaxOR = [] + thisMultiplicitiesOR = [] + + for jetReq in jetReqAndComo: + thisEtThresholdsOR .append(jetReq[0]) + thisBTagMinOR .append(self.getCutValue(AllowedCuts[jetReq[1]])) + if jetReq[2] < len(AllowedCuts): + thisBTagMaxOR .append(self.getCutValue(AllowedCuts[jetReq[2]])) + else: + thisBTagMaxOR .append(jetReq[2]) + thisMultiplicitiesOR .append(jetReqAndComo[jetReq]) + + EtThresholdsOR .append(thisEtThresholdsOR) + BTagMinOR .append(thisBTagMinOR) + BTagMaxOR .append(thisBTagMaxOR) + MultiplicitiesOR .append(thisMultiplicitiesOR) + + + mlog.debug("EtThresholdsOR:") + mlog.debug(EtThresholdsOR) + self.EtThresholdsOR = EtThresholdsOR + + mlog.debug("BTagMinOR:") + mlog.debug(BTagMinOR) + self.BTagMinOR = BTagMinOR + + mlog.debug("BTagMaxOR:") + mlog.debug(BTagMaxOR) + self.BTagMaxOR = BTagMaxOR + + mlog.debug("MultiplicitiesOR:") + mlog.debug(MultiplicitiesOR) + self.MultiplicitiesOR = MultiplicitiesOR + + from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoAllTEValidationMonitoring, TrigEFBjetHypoAllTEOnlineMonitoring + validation = TrigEFBjetHypoAllTEValidationMonitoring() + online = TrigEFBjetHypoAllTEOnlineMonitoring() + + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypoAllTE") + time.TimerHistLimits = [0,0.4] + + self.AthenaMonTools = [ time, validation, online ] + + + def getCutValue(self, cut): + + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + return 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + return 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + return 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + return 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + return 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + return -0.494 + elif cut=="perf": + return -99 + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py index 212d4305104..2eeeeb01f21 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py @@ -13,6 +13,23 @@ class TrigBjetHypoMonitoring(TrigGenericMonitoringToolConfig): xbins=4, xmin=0.0, xmax=4.0, labels='CHI2:IP2D:IP3D:COMB') ] +class TrigBjetHypoAllTEMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigBjetHypoAllTEMonitoring"): + super(TrigBjetHypoAllTEMonitoring, self).__init__(name) + + self.Histograms = [ defineHistogram('CutCode', type='TH1F', title="Bjet HypoAllTE cut code", + xbins=10, xmin=-1.5, xmax=8.5, + labels='UnInitialzed:Fail:Accept:FailBS:TooFewTEs:TooManyTEs:NoBjets:NoBTagging:NoJet') ] + + self.Histograms = [ defineHistogram('BSCode', type='TH1F', title="Bjet HypoAllTE BS code", + xbins=10, xmin=-1.5, xmax=8.5, + labels='UnInitialzed:ValidBS:BSInvalidReject:BSInValidAccept:NoBSInfo:DontUseBS') ] + + + self.Histograms = [ defineHistogram('nInputJets', type='TH1F', title="Bjet HypoAllTE nInputJets", + xbins=100, xmin=-0.5, xmax=99.5, + ) ] + class TrigEFBjetHypoValidationMonitoring(TrigBjetHypoMonitoring): @@ -30,6 +47,20 @@ class TrigEFBjetHypoOnlineMonitoring(TrigBjetHypoMonitoring): self.defineTarget("Online") +class TrigEFBjetHypoAllTEValidationMonitoring(TrigBjetHypoAllTEMonitoring): + def __init__ (self, name="TrigEFBjetHypoAllTEValidationMonitoring"): + super(TrigEFBjetHypoAllTEValidationMonitoring, self).__init__(name) + + self.defineTarget("Validation") + + +class TrigEFBjetHypoAllTEOnlineMonitoring(TrigBjetHypoAllTEMonitoring): + def __init__ (self, name="TrigEFBjetHypoAllTEOnlineMonitoring"): + super(TrigEFBjetHypoAllTEOnlineMonitoring, self).__init__(name) + + self.defineTarget("Online") + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py index 2fda720c02f..82544eb559c 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py @@ -16,32 +16,34 @@ BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", def getBtagFexInstance( instance, version, algo ): - if instance=="EF" : - return BtagFex( instance=instance, version=version, algo=algo, name="EFBtagFex_"+algo ) + return BtagFex( instance=instance, version=version, name="EFBtagFex_"+algo ) def getBtagFexSplitInstance( instance, version, algo): - return BtagFexSplit( instance=instance, version=version, algo=algo, name=instance+"BtagFexSplit_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexSplit_"+algo, + PriVtxKey="xPrimVx",TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig") def getBtagFexFTKInstance( instance, version, algo): - return BtagFexFTK( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTK_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTK_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig") def getBtagFexFTKRefitInstance( instance, version, algo): - return BtagFexFTKRefit( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTKRefit_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTKRefit_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig") def getBtagFexFTKVtxInstance( instance, version, algo): - return BtagFexFTKVtx( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTKVtx_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTKVtx_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig" ) class BtagFex (TrigBtagFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, version, name, PriVtxKey = "EFHistoPrmVtx", TrackKey = "" ): super( BtagFex, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF"] AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") @@ -52,8 +54,8 @@ class BtagFex (TrigBtagFex): return None self.JetKey = "" - self.PriVtxKey = "EFHistoPrmVtx" - self.TrackKey = "" + self.PriVtxKey = PriVtxKey + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -85,14 +87,13 @@ class BtagFex (TrigBtagFex): class BtagFexSplit (TrigBtagFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, version, name, PriVtxKey="xPrimVx",TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig"): super( BtagFexSplit, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') - AllowedInstances = ["EF", "MuJetChain"] + AllowedInstances = ["EF", "MuJetChain","GSC"] AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") @@ -103,14 +104,16 @@ class BtagFexSplit (TrigBtagFex): return None self.JetKey = "SplitJet" - if instance=="MuJetChain" : + + if instance=="GSC": + self.JetKey = "GSCJet" + elif instance=="MuJetChain" : self.JetKey = "FarawayJet" - instance = "EF" - self.PriVtxKey = "xPrimVx" #"EFHistoPrmVtx" + self.PriVtxKey = PriVtxKey self.UsePriVtxKeyBackup = True self.PriVtxKeyBackup = "EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -135,166 +138,8 @@ class BtagFexSplit (TrigBtagFex): self.AthenaMonTools = [ time, validation, online ] -########################################### -# For FTK configuration -########################################### -class BtagFexFTK (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTK, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] -########################################### -# For FTKRefit configuration -########################################### -class BtagFexFTKRefit (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTKRefit, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] - - -########################################### -# For FTKVtx configuration -########################################### - -class BtagFexFTKVtx (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTKVtx, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py index c623b9ea371..d8ed877a1fc 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py @@ -7,29 +7,75 @@ class TrigBtagFexMonitoring(TrigGenericMonitoringToolConfig): super(TrigBtagFexMonitoring, self).__init__(name) # Run-2 histograms - self.Histograms += [ defineHistogram('sv_mass', type='TH1F', title="BtagFex SV Mass", - xbins=200, xmin=0.0, xmax=6000.0) ] - self.Histograms += [ defineHistogram('sv_evtx', type='TH1F', title="BtagFex SV Energy Fraction", + self.Histograms += [ defineHistogram('sv1_mass', type='TH1F', title="BtagFex SV Mass", + xbins=200, xmin=0.0, xmax=6000.0) ] + self.Histograms += [ defineHistogram('sv1_evtx', type='TH1F', title="BtagFex SV Energy Fraction", xbins=200, xmin=0.0, xmax=1.0) ] - self.Histograms += [ defineHistogram('sv_nvtx', type='TH1F', title="BtagFex SV Two-Track Vertex Number", + self.Histograms += [ defineHistogram('sv1_nvtx', type='TH1F', title="BtagFex SV Two-Track Vertex Number", + xbins=31, xmin=-0.5, xmax=30.5) ] + self.Histograms += [ defineHistogram('sv1_ntkv', type='TH1F', title="BtagFex SV Number of tracks used in the SV", xbins=21, xmin=-0.5, xmax=20.5) ] + self.Histograms += [ defineHistogram('sv1_sig3', type='TH1F', title="BtagFex SV 3D Vertex Significance", + xbins=210, xmin=0.0, xmax=210.0) ] + self.Histograms += [ defineHistogram('sv1_Lxy', type='TH1F', title="BtagFex SV Transverse distance between PV and SV", + xbins=220, xmin=0.0, xmax=110.0) ] + self.Histograms += [ defineHistogram('sv1_L3d', type='TH1F', title="BtagFex SV Distance between PV and SV", + xbins=220, xmin=0.0, xmax=110.0) ] + self.Histograms += [ defineHistogram('sv1_dR', type='TH1F', title="BtagFex SV delta R", + xbins=220, xmin=0.0, xmax=1.1) ] self.Histograms += [ defineHistogram('tag_IP2D', type='TH1F', title="BtagFex IP2D Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-30.0, xmax=40.0) ] self.Histograms += [ defineHistogram('tag_IP3D', type='TH1F', title="BtagFex IP3D Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-30.0, xmax=40.0) ] self.Histograms += [ defineHistogram('tag_SV1', type='TH1F', title="BtagFex SV1 Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-20.0, xmax=30.0) ] self.Histograms += [ defineHistogram('tag_IP3DSV1', type='TH1F', title="BtagFex IP3D+SV1 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] - self.Histograms += [ defineHistogram('tag_MV2c00', type='TH1F', title="BtagFex MV2c00 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-20.0, xmax=50.0) ] + # self.Histograms += [ defineHistogram('tag_MV2c00', type='TH1F', title="BtagFex MV2c00 Discriminant", + # xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c10', type='TH1F', title="BtagFex MV2c10 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-1., xmax=1.) ] + self.Histograms += [ defineHistogram('tag_MV2c10_hybrid', type='TH1F', title="BtagFex MV2c10_hybrid Discriminant", + xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="BtagFex MV2c20 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] - + xbins=200, xmin=-1., xmax=1.) ] + self.Histograms += [ defineHistogram('tag_IP2_c', type='TH1F', title="BtagFex IP2D Likelihood Ratio between b- and c-jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP2_cu', type='TH1F', title="BtagFex IP2D Likelihood Ratio between c- and light jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP3_c', type='TH1F', title="BtagFex IP3D Likelihood Ratio between b- and c-jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP3_cu', type='TH1F', title="BtagFex IP3D Likelihood Ratio between c- and light jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + #MV2 taggers + self.Histograms += [ defineHistogram('jf_n2tv', type='TH1F', title="BtagFex JetFitter Number of 2-track vertex", + xbins=21, xmin=-0.5, xmax=20.5) ] + self.Histograms += [ defineHistogram('jf_ntrkv', type='TH1F', title="BtagFex JetFitter Number of tracks from displaced vertices", + xbins=16, xmin=-0.5, xmax=15.5) ] + self.Histograms += [ defineHistogram('jf_nvtx', type='TH1F', title="BtagFex JetFitter Number of displaced vertices ", + xbins=11, xmin=-0.5, xmax=10.5) ] + self.Histograms += [ defineHistogram('jf_nvtx1t', type='TH1F', title="BtagFex JetFitter Number of displaced vertices wih 1-track", + xbins=11, xmin=-0.5, xmax=10.5) ] + self.Histograms += [ defineHistogram('jf_mass', type='TH1F', title="BtagFex JetFitter Jet mass", + xbins=200, xmin=0.0, xmax=9100.0) ] + self.Histograms += [ defineHistogram('jf_efrc', type='TH1F', title="BtagFex JetFitter Jet efrac ", + xbins=220, xmin=0.0, xmax=1.1) ] + self.Histograms += [ defineHistogram('jf_dR', type='TH1F', title="BtagFex JetFitter Delta R ", + xbins=200, xmin=-1.0, xmax=1.0) ] + self.Histograms += [ defineHistogram('jf_sig3', type='TH1F', title="BtagFex JetFitter 3D vertex significance ", + xbins=200, xmin=-0.0, xmax=100.0) ] + self.Histograms += [ defineHistogram('jet_pt', type='TH1F', title="BtagFex Jet PT", + xbins=200, xmin=0.0, xmax=800000.0) ] + self.Histograms += [ defineHistogram('jet_eta', type='TH1F', title="BtagFex Jet Eta ", + xbins=200, xmin=-4.9, xmax=4.9) ] + self.Histograms += [ defineHistogram('sv_bool', type='TH1F', title="BtagFex Boolean if SV is found", + xbins=3, xmin=-0.5, xmax=2.5, + labels='sv_ntkv == -1:sv_ntkv == 1:sv_ntkv > 1') ] + self.Histograms += [ defineHistogram('jf_bool', type='TH1F', title="BtagFex Boolean of jf_dR", + xbins=2, xmin=-0.5, xmax=1.5, + labels='jf_dR == -1:jf_dR != -1') ] class TrigEFBtagFexValidationMonitoring(TrigBtagFexMonitoring): def __init__ (self, name="TrigEFBtagFexValidationMonitoring"): diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py index 80cb879ca0d..29bdf8af5c7 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py @@ -1,60 +1,57 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration from TrigBjetHypo.TrigBjetHypoConf import TrigGSCFex -#from TrigBjetHypo.TrigGSCFexTuning import * +#from TrigBjetHypo.TrigGSCFexTuning import * from AthenaCommon.Logging import logging -#from AthenaCommon.SystemOfUnits import mm, GeV +from AthenaCommon.SystemOfUnits import mm, GeV #commented here from AthenaCommon.AppMgr import ToolSvc -#from BTagging.BTaggingFlags import BTaggingFlags -#from BTagging.BTaggingConfiguration import getConfiguration -#BTagConfig = getConfiguration("Trig") -#BTagConfig.PrefixxAODBaseName(False) -#BTagConfig.PrefixVertexFinderxAODBaseName(False) -#BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", SetupScheme="Trig", TaggerList=BTaggingFlags.TriggerTaggers) +from BTagging.BTaggingFlags import BTaggingFlags #commented here +from BTagging.BTaggingConfiguration import getConfiguration #commented here +BTagConfig = getConfiguration("Trig") #commented here +BTagConfig.PrefixxAODBaseName(False) #commented here +BTagConfig.PrefixVertexFinderxAODBaseName(False) #commented here +BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", SetupScheme="Trig", TaggerList=BTaggingFlags.TriggerTaggers) #commented here from JetRec.JetRecCalibrationFinder import jrcf JetConfigSetupStatus = True # johns hack from JetCalibTools.JetCalibToolsConf import JetCalibrationTool -def getGSCFexInstance( instance, version, algo ): - if instance=="EF" : - return GSCFex( instance=instance, version=version, algo=algo, name="EFGSCFex_"+algo ) +def getGSCFexInstance( instance ): + return GSCFex( instance=instance, name="EFGSCFex_EFID" ) -def getGSCFexSplitInstance( instance, version, algo): - return GSCFexSplit( instance=instance, version=version, algo=algo, name=instance+"GSCFexSplit_"+algo ) +def getGSCFexSplitInstance( instance): + return GSCFexSplit( instance=instance, name=instance+"GSCFexSplit_EFID" ) -def getGSCFexFTKInstance( instance, version, algo): - return GSCFexFTK( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTK_"+algo ) +def getGSCFexFTKInstance( instance ): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTK_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig") -def getGSCFexFTKRefitInstance( instance, version, algo): - return GSCFexFTKRefit( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTKRefit_"+algo ) +def getGSCFexFTKRefitInstance( instance): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTKRefit_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig") -def getGSCFexFTKVtxInstance( instance, version, algo): - return GSCFexFTKVtx( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTKVtx_"+algo ) +def getGSCFexFTKVtxInstance( instance ): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTKVtx_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig") + class GSCFex (TrigGSCFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, name): super( GSCFex, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") return None - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - self.JetKey = "" self.PriVtxKey = "EFHistoPrmVtx" self.TrackKey = "" @@ -68,49 +65,41 @@ class GSCFex (TrigGSCFex): self.GSCCalibrationTool = jrcf.find("AntiKt", 0.4, "EMTopo", "ajg", "reco", "Kt4") print self.GSCCalibrationTool # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() + from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring #commented here + validation = TrigEFGSCFexValidationMonitoring() #commented here + online = TrigEFGSCFexOnlineMonitoring() #commented here from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") time.TimerHistLimits = [0,2] - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] + self.AthenaMonTools = [ time, validation, online ] #commented here + #self.AthenaMonTools = [ time ] #uncommented here -########################################### +# # For split configuration -########################################### - +# class GSCFexSplit (TrigGSCFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, name, PriVtxKey="xPrimVx", TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig"): super( GSCFexSplit, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None self.JetKey = "SplitJet" if instance=="MuJetChain" : self.JetKey = "FarawayJet" - instance = "EF" - self.PriVtxKey = "xPrimVx" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" + self.PriVtxKey = PriVtxKey + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -141,187 +130,14 @@ class GSCFexSplit (TrigGSCFex): # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] - - -########################################### -# For FTK configuration -########################################### - -class GSCFexFTK (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTK, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] - - -########################################### -# For FTKRefit configuration -########################################### - -class GSCFexFTKRefit (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTKRefit, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() + from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring #commented here + validation = TrigEFGSCFexValidationMonitoring() #commented here + online = TrigEFGSCFexOnlineMonitoring() #commented here from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") time.TimerHistLimits = [0,2] - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] + self.AthenaMonTools = [ time, validation, online ] #commented here + #self.AthenaMonTools = [ time ] #uncommented here - -########################################### -# For FTKVtx configuration -########################################### - -class GSCFexFTKVtx (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTKVtx, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py index 17bb203f21b..d633baf2eb1 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py @@ -28,8 +28,16 @@ class TrigGSCFexMonitoring(TrigGenericMonitoringToolConfig): # xbins=200, xmin=-50.0, xmax=50.0) ] #self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="GSCFex MV2c20 Discriminant", # xbins=200, xmin=-50.0, xmax=50.0) ] - - + self.Histograms += [ defineHistogram('gsc_ntrk', type='TH1I', title="GSCFex Number of tracks", + xbins=21, xmin=-0.5, xmax=30.5) ] + self.Histograms += [ defineHistogram('gsc_width', type='TH1F', title="GSCFex Track width", + xbins=200, xmin=-2.0, xmax=2.0) ] + self.Histograms += [ defineHistogram('gsc_ptsum', type='TH1F', title="GSCFex Sum of transverse momentum of tracks", + xbins=200, xmin=-100.0, xmax=600000.0) ] + self.Histograms += [ defineHistogram('gsc_ptdiff', type='TH1F', title="GSCFex PT difference between uncal jet and cal jets", + xbins=200, xmin=-100000.0, xmax=100000.0) ] + self.Histograms += [ defineHistogram('gsc_ptratio', type='TH1F', title="GSCFex PT ratio", + xbins=200, xmin=-1.0, xmax=1.0) ] class TrigEFGSCFexValidationMonitoring(TrigGSCFexMonitoring): def __init__ (self, name="TrigEFGSCFexValidationMonitoring"): diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py index 1fa18d67662..421a33664fc 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py @@ -22,6 +22,7 @@ thresholdsStartSequence = { '110GeV' : 110, '150GeV' : 150, '175GeV' : 175, + '225GeV' : 225, '260GeV' : 260, '320GeV' : 320, '400GeV' : 400, diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx index 7db779f2c7a..fa0071c50da 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx @@ -7,8 +7,8 @@ // NAME: TrigBjetHypo.cxx // PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo // -// AUTHOR: Andrea Coccaro -// EMAIL: Andrea.Coccaro@ge.infn.it +// AUTHORs: John Alison johnda@uchicago.edu +// Andrea Coccaro Andrea.Coccaro@ge.infn.it // // ************************************************ @@ -32,17 +32,20 @@ TrigBjetHypo::TrigBjetHypo(const std::string& name, ISvcLocator* pSvcLocator) : HLT::HypoAlgo(name, pSvcLocator), m_cutCounter(0) { - declareProperty ("JetKey", m_jetKey = "" ); //"EFJet" or "" needed for default config, "SplitJet" for new config - declareProperty ("AcceptAll", m_acceptAll ); - declareProperty ("CutXIP2D", m_xcutIP2D = -20 ); - declareProperty ("CutXIP3D", m_xcutIP3D = -20 ); - declareProperty ("CutXCOMB", m_xcutCOMB = -20 ); - declareProperty ("CutXCHI2", m_xcutCHI2 = -20 ); - declareProperty ("CutMV2c20", m_xcutMV2c20 = -20 ); - declareProperty ("MethodTag", m_methodTag = "" ); - declareProperty ("Instance", m_instance ); - - declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("JetKey" , m_jetKey = "" ); //"EFJet" or "" needed for default config, "SplitJet" for new config + declareProperty ("AcceptAll" , m_acceptAll ); + declareProperty ("CutXIP2D" , m_xcutIP2D = -20 ); + declareProperty ("CutXIP3D" , m_xcutIP3D = -20 ); + declareProperty ("CutXCOMB" , m_xcutCOMB = -20 ); + declareProperty ("CutXCHI2" , m_xcutCHI2 = -20 ); + declareProperty ("CutMV2c20" , m_xcutMV2c20 = -20 ); + declareProperty ("CutMV2c10" , m_xcutMV2c10 = -20 ); + declareProperty ("CutMV2c10_hybrid", m_xcutMV2c10_hybrid = -20 ); + declareProperty ("MethodTag" , m_methodTag = "" ); + declareProperty ("Instance" , m_instance ); + + declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("OverrideBeamSpotValid", m_overRideBeamSpotValid = false); declareMonitoredVariable("Method", m_monitorMethod); declareMonitoredVariable("CutCounter", m_cutCounter); @@ -72,6 +75,8 @@ HLT::ErrorCode TrigBjetHypo::hltInitialize() { ATH_MSG_DEBUG(" JetKey = " << m_jetKey ); if (m_xcutMV2c20 != -20) ATH_MSG_DEBUG( " CutMV2c20 = " << m_xcutMV2c20 ); + if (m_xcutMV2c10 != -20) ATH_MSG_DEBUG( " CutMV2c10 = " << m_xcutMV2c10 ); + if (m_xcutMV2c10_hybrid != -20) ATH_MSG_DEBUG( " CutMV2c10_hybrid = " << m_xcutMV2c10_hybrid ); if (m_xcutCOMB != -20) ATH_MSG_DEBUG( " CutXCOMB = " << m_xcutCOMB ); if (m_xcutCHI2 != -20) ATH_MSG_DEBUG( " CutXCHI2 = " << m_xcutCHI2 ); if (m_xcutIP3D != -20) ATH_MSG_DEBUG( " CutXIP3D = " << m_xcutIP3D ); @@ -116,7 +121,7 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo beamSpotStatus = ((beamSpotBitMap & 0x4) == 0x4); if (beamSpotStatus) beamSpotStatus = ((beamSpotBitMap & 0x3) == 0x3); - if (!beamSpotStatus) { + if (!beamSpotStatus && !m_overRideBeamSpotValid) { m_cutCounter=0; pass = false; @@ -149,7 +154,6 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo // Retrieve xAOD b-jet object const xAOD::BTaggingContainer* trigBTaggingContainer=0; - if((getFeature(outputTE, trigBTaggingContainer, "HLTBjetFex") != HLT::OK) && trigBTaggingContainer) { if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to get BTaggingContainer" << endmsg; @@ -157,13 +161,13 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo } if(msgLvl() <= MSG::DEBUG && trigBTaggingContainer != 0) { ATH_MSG_DEBUG( "Got BTaggingContainer with " << trigBTaggingContainer->size() << " BTagging object" ); - } - if(trigBTaggingContainer != 0 && trigBTaggingContainer->size() > 1) { + } + if(trigBTaggingContainer && trigBTaggingContainer != 0 && trigBTaggingContainer->size() > 1) { if(msgLvl() <= MSG::ERROR) msg() << MSG::ERROR << "More than one BTagging object to analyse: this should never happen" << endmsg; return HLT::NAV_ERROR; } - if(trigBTaggingContainer->size() == 0) { + if(!trigBTaggingContainer) { if(msgLvl() <= MSG::ERROR) msg() << MSG::ERROR << "No BTagging object to analyse: this should never happen" << endmsg; return HLT::NAV_ERROR; @@ -190,14 +194,55 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo if(x>m_xcutMV2c20) { //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; result = true; } else { if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; } } + } + else if (m_methodTag == "MV2c10") { + + for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { + + double x = (*trigBTagging)->auxdata<double>("MV2c10_discriminant"); + + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "MV2c10 x = " << x; + if(x>m_xcutMV2c10) { + //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); + xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + result = true; + } + else { + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; + } + } } + // Temporary use mv2c00 for hybrid tuning + // else if (m_methodTag == "MV2c10_hybrid") { + else if (m_methodTag == "MV2c00") { + + for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { + + // Temporary use mv2c00 for hybrid tuning + // double x = (*trigBTagging)->auxdata<double>("MV2c10_hybrid_discriminant"); + double x = (*trigBTagging)->auxdata<double>("MV2c00_discriminant"); + + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "MV2c10_hybrid x = " << x; + if(x>m_xcutMV2c10_hybrid) { + //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); + xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + result = true; + } + else { + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; + } + } + + } else if (m_methodTag == "COMB") { for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { double w=((*trigBTagging)->IP3D_pb()/(*trigBTagging)->IP3D_pu()) * ((*trigBTagging)->SV1_pb()/(*trigBTagging)->SV1_pu()); @@ -278,7 +323,7 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo //if (attachBits(outputTE, bitsEF, "EFBjets") != HLT::OK) { // msg() << MSG::ERROR << "Problem attaching TrigPassBits for b-jets" << endmsg; //} - if(attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK) + if(attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK) ATH_MSG_ERROR("Could not store TrigPassBits! "); ATH_MSG_DEBUG( "TrigPassBits was saved" ); diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx new file mode 100644 index 00000000000..5301420e8b6 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx @@ -0,0 +1,462 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// ************************************************ +// +// NAME: TrigBjetHypoAllTE.cxx +// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo +// +// AUTHORS: John Alison johnda@uchicago.edu +// +// ************************************************ + +#include "TrigBjetHypo/TrigBjetHypoAllTE.h" + +#include "InDetBeamSpotService/IBeamCondSvc.h" + +#include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingAuxContainer.h" +#include "xAODBase/IParticleContainer.h" + +#include "xAODJet/Jet.h" +#include "xAODJet/JetContainer.h" + +using std::vector; + + +TrigBjetHypoAllTE::TrigBjetHypoAllTE(const std::string& name, ISvcLocator* pSvcLocator) : + HLT::AllTEAlgo(name, pSvcLocator) +{ + declareProperty("BTaggingKey", m_btaggingKey = ""); + declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("OverrideBeamSpotValid", m_overRideBeamSpotValid = false); + declareProperty ("Tagger", m_tagger = "MV2c10_discriminant"); + + declareProperty("EtThresholds", m_EtThresholds ); + declareProperty("BTagMin", m_BTagMin ); + declareProperty("BTagMax", m_BTagMax ); + declareProperty("Multiplicities", m_Multiplicities ); + + declareProperty("EtThresholdsOR", m_EtThresholdsOR ); + declareProperty("BTagMinOR", m_BTagMinOR ); + declareProperty("BTagMaxOR", m_BTagMaxOR ); + declareProperty("MultiplicitiesOR", m_MultiplicitiesOR ); + + declareMonitoredVariable("CutCode", m_cutCode); + declareMonitoredVariable("BSCode", m_BSCode); + declareMonitoredVariable("nInputJets", m_nInputJets); +} + + +// +// Destruction +// +TrigBjetHypoAllTE::~TrigBjetHypoAllTE() {} + + +// +// hltInitialize +// +HLT::ErrorCode TrigBjetHypoAllTE::hltInitialize() { + + if (msgLvl() <= MSG::INFO) msg() << MSG::INFO << "Initializing TrigBjetHypoAllTE" << endmsg; + + // + // declareProperty overview + // + ATH_MSG_DEBUG( "declareProperty review:" ); + ATH_MSG_DEBUG( " BTaggingKey = " << m_btaggingKey ); + + // + // Configure the AND requrements + // + + unsigned int nRequirementsAND = m_EtThresholds.size(); + + if(nRequirementsAND != m_BTagMin.size()){ + msg() << MSG::ERROR << "Et and btagging requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsAND != m_BTagMax.size()){ + msg() << MSG::ERROR << "Et and max btagging requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsAND != m_Multiplicities.size()){ + msg() << MSG::ERROR << "Et and multiplicities requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + for(unsigned int iReq = 0; iReq < nRequirementsAND; ++iReq){ + m_triggerReqsAND.push_back(triggerRequirement(m_EtThresholds.at(iReq), m_BTagMin.at(iReq), m_BTagMax.at(iReq), m_Multiplicities.at(iReq))); + } + + + // + // Configure the OR + // + unsigned int nRequirementsOR = m_EtThresholdsOR.size(); + + if(nRequirementsOR != m_BTagMinOR.size()){ + msg() << MSG::ERROR << "Et and btagging OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsOR != m_BTagMaxOR.size()){ + msg() << MSG::ERROR << "Et and max btagging OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsOR != m_MultiplicitiesOR.size()){ + msg() << MSG::ERROR << "Et and multiplicities OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + for(unsigned int iOR = 0 ; iOR < nRequirementsOR; ++iOR){ + unsigned int nSubRequirement = m_EtThresholdsOR.at(iOR).size(); + + if(nSubRequirement != m_BTagMinOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and btagging OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nSubRequirement != m_BTagMaxOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and max btagging OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nSubRequirement != m_MultiplicitiesOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and multiplicities OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + m_triggerReqsOR.push_back(vector<triggerRequirement>()); + if (msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "TrigBjetHypoAllTE::" << name() << " or Requirements "; + for(unsigned int iSub = 0 ; iSub < nSubRequirement; ++iSub){ + m_triggerReqsOR.back().push_back(triggerRequirement(m_EtThresholdsOR .at(iOR).at(iSub), + m_BTagMinOR .at(iOR).at(iSub), + m_BTagMaxOR .at(iOR).at(iSub), + m_MultiplicitiesOR.at(iOR).at(iSub))); + if (msgLvl() <= MSG::DEBUG) + msg() << MSG::DEBUG << "\t (" + << m_EtThresholdsOR.at(iOR).at(iSub) + << " " << m_BTagMinOR.at(iOR).at(iSub) + << " " << m_BTagMaxOR.at(iOR).at(iSub) + << " " << int(m_MultiplicitiesOR.at(iOR).at(iSub) ) + << ")"; + } + + if (msgLvl() <= MSG::DEBUG) + msg() << MSG::DEBUG << endmsg; + } + + + + return HLT::OK; +} + + +// +// hltExecute +// +HLT::ErrorCode TrigBjetHypoAllTE::hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output) { + + ATH_MSG_DEBUG( "Executing TrigBjetHypoAllTE" ); + + beforeExecMonitors().ignore(); + + // + // Init to invalid numbers (These should all be set to != -1 later) + // + m_cutCode = -1; + m_BSCode = -1; + m_nInputJets = -1; + + bool pass = false; + + // + // Retrieve beamspot information + // + if (m_useBeamSpotFlag) { + + IBeamCondSvc* iBeamCondSvc; + StatusCode sc = service("BeamCondSvc", iBeamCondSvc); + + if (sc.isFailure() || iBeamCondSvc == 0) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Could not retrieve Beam Conditions Service. " << endmsg; + m_BSCode = 3; + } else { + + int beamSpotStatus = 0; + int beamSpotBitMap = iBeamCondSvc->beamStatus(); + + beamSpotStatus = ((beamSpotBitMap & 0x4) == 0x4); + if (beamSpotStatus) beamSpotStatus = ((beamSpotBitMap & 0x3) == 0x3); + + if (!beamSpotStatus){ + if (!m_overRideBeamSpotValid) { + m_BSCode = 1; + m_cutCode = 2; + pass = false; + return HLT::OK; + } else{ + m_BSCode = 2; + } + }else{ + m_BSCode = 0; + } + + } + } else { + m_BSCode = 4; + } + + ATH_MSG_DEBUG( "Number of input TEs is " << inputTE.size() ); + + + if (inputTE.size() < 1) { + msg() << MSG::WARNING << "Number of input TEs is " << inputTE.size() << " and not 1. Configuration problem." << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 3; + return HLT::ErrorCode(HLT::Action::ABORT_CHAIN, HLT::Reason::MISSING_FEATURE); + } + + if (inputTE.size() > 1) { + msg() << MSG::WARNING << "Too many TEs passed as input. Number of input TEs is " << inputTE.size() << " and not 1. Configuration problem." << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 4; + return HLT::ErrorCode(HLT::Action::ABORT_CHAIN, HLT::Reason::MISSING_FEATURE); + } + + + // + // Retrieve the BTagging container + // + std::vector<HLT::TriggerElement*>& btaggingTEs = inputTE.at(0); + ATH_MSG_DEBUG( " btaggingTE.size() " << btaggingTEs.size() ); + + if (btaggingTEs.size() == 0) { + msg() << MSG::WARNING << "Got an empty inputTE (btagging)" << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 5; + return HLT::MISSING_FEATURE; + } + + + // + // Do the multiplicity requrements + // + clearCounters(); + + // + // Loop on input btagged jets + // + for(HLT::TriggerElement* btagTE : btaggingTEs){ + + const xAOD::BTagging* btagInfo = getBTaggingPtr(btagTE); + if (!btagInfo) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to retrieve features (btagging)" << endmsg; + m_cutCode = 6; + return HLT::MISSING_FEATURE; + } + + const xAOD::Jet* jet = getJetPtr(btagInfo); + if(!jet) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jet)." << endmsg; + m_cutCode = 7; + return HLT::MISSING_FEATURE; + } + + // + // Get pt and btagging weight + // + double btagWeight = btagInfo->auxdata<double>(m_tagger); + double btagEt = jet->p4().Et(); + + // + // Increment counters + // + for(triggerRequirement& trigReq: m_triggerReqsAND){ + trigReq.countJet(btagEt, btagWeight); + } + + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + for(triggerRequirement& subORReq: ORReq){ + subORReq.countJet(btagEt, btagWeight); + } + } + + // + // Check if event passes after each jet + // If so, pass trigger and move on + // + if(eventPassesTrigger()){ + pass = true; + break; + } + + } + + if (pass) { + ATH_MSG_DEBUG( "Accepting the event" ); + m_cutCode = 1; + } else { + ATH_MSG_DEBUG( "Rejecting the event" ); + m_cutCode = 0; + } + + + // + // Setting the output TE + // + HLT::TEVec allTEs; + allTEs.reserve(btaggingTEs.size()); + for(HLT::TriggerElement* btagTE : btaggingTEs){ + allTEs.push_back(btagTE); + } + + // + // monitoring + // + m_nInputJets = btaggingTEs.size(); + + HLT::TriggerElement* outputTE = config()->getNavigation()->addNode(allTEs, output); + outputTE->setActiveState(false); + + if (pass==true){ + outputTE->setActiveState(true); + } + + afterExecMonitors().ignore(); + + return HLT::OK; +} + +// +// Check event decision +// +bool TrigBjetHypoAllTE::eventPassesTrigger(){ + bool passAND = true; + for(triggerRequirement& trigReq: m_triggerReqsAND){ + if(!trigReq.pass()) + passAND = false; + } + + bool passOR = false; + if(!m_triggerReqsOR.size()){ + passOR = true; + }else{ + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + bool passThisOR = true; + for(triggerRequirement& subORReq: ORReq){ + if(!subORReq.pass()) + passThisOR = false; + } + if(passThisOR) passOR = true; + } + } + + return passAND && passOR; +} + +// +// Clear counters +// +void TrigBjetHypoAllTE::clearCounters(){ + + for(triggerRequirement& trigReq: m_triggerReqsAND){ + trigReq.m_count = 0; + } + + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + for(triggerRequirement& subORReq: ORReq){ + subORReq.m_count = 0; + } + } + +} + +// +// hltFinalize +// +HLT::ErrorCode TrigBjetHypoAllTE::hltFinalize() { + + msg() << MSG::INFO << "Finalizing TrigBjetHypoAllTE" << endmsg; + + return HLT::OK; +} + + +// +// hltEndEvent +// +HLT::ErrorCode TrigBjetHypoAllTE::hltEndEvent() { + + if ( !AllTEAlgo::hltEndEvent() ) return false; + AllTEAlgo::hltEndEvent(); + + return true; +} + + + +// +// Retrieve the btagging info +// +const xAOD::BTagging* TrigBjetHypoAllTE::getBTaggingPtr(HLT::TriggerElement* btagTE) { + + const xAOD::BTaggingContainer* bTaggingContainer=0; + HLT::ErrorCode statusBTagging = getFeature(btagTE, bTaggingContainer, m_btaggingKey); + + if (statusBTagging != HLT::OK) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to retrieve features (btagging)" << endmsg; + return nullptr; + } + + if(bTaggingContainer==0) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (btagging)." << endmsg; + return nullptr; + } + + if(bTaggingContainer->size() != 1) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Error btagging container size " << bTaggingContainer->size() << endmsg; + return nullptr; + } + + return bTaggingContainer->at(0); +} + +// +// Retrieve the jet info +// +const xAOD::Jet* TrigBjetHypoAllTE::getJetPtr(const xAOD::BTagging* btagInfo) { + + std::vector< ElementLink< xAOD::IParticleContainer > > matchedJets = btagInfo->auxdata< std::vector< ElementLink< xAOD::IParticleContainer > > >("BTagBtagToJetAssociator"); + + if(matchedJets.size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jet element link) size=" << matchedJets.size() << endmsg; + return nullptr; + } + + const xAOD::IParticleContainer* jetCol = matchedJets.at(0).getStorableObjectPointer(); + if(jetCol->size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (IParticleContainer) size=" << jetCol->size() << endmsg; + return nullptr; + } + + const xAOD::JetContainer* jets = dynamic_cast<const xAOD::JetContainer*>(jetCol); + if(!jets){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jetContainer) size=" << jets->size() << endmsg; + return nullptr; + } + + if(jets->size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jets) size=" << jets->size() << endmsg; + return nullptr; + } + + return jets->at(0); +} diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx index ad20c97a5d3..025f39bc5bb 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx @@ -22,7 +22,7 @@ #include "xAODBase/IParticle.h" #include "xAODJet/Jet.h" -#include "xAODJet/JetContainer.h" + #include "xAODJet/JetContainer.h" #include "xAODTracking/TrackParticleContainer.h" @@ -68,9 +68,15 @@ TrigBtagFex::TrigBtagFex(const std::string& name, ISvcLocator* pSvcLocator) : // Run-2 monitoring - declareMonitoredVariable("sv_mass", m_mon_sv_mass, AutoClear); - declareMonitoredVariable("sv_evtx", m_mon_sv_evtx, AutoClear); - declareMonitoredVariable("sv_nvtx", m_mon_sv_nvtx, AutoClear); + declareMonitoredVariable("sv1_mass", m_mon_sv_mass, AutoClear); + declareMonitoredVariable("sv1_evtx", m_mon_sv_evtx, AutoClear); + declareMonitoredVariable("sv1_nvtx", m_mon_sv_nvtx, AutoClear); + declareMonitoredVariable("sv1_ntkv", m_mon_sv_ntkv, AutoClear); + declareMonitoredVariable("sv1_sig3", m_mon_sv_sig3, AutoClear); + declareMonitoredVariable("sv1_Lxy", m_mon_sv_Lxy, AutoClear); + declareMonitoredVariable("sv1_L3d", m_mon_sv_L3d, AutoClear); + declareMonitoredVariable("sv1_dR", m_mon_sv_dR, AutoClear); + declareMonitoredVariable("tag_IP2D", m_mon_tag_IP2D, AutoClear); declareMonitoredVariable("tag_IP3D", m_mon_tag_IP3D, AutoClear); @@ -78,7 +84,27 @@ TrigBtagFex::TrigBtagFex(const std::string& name, ISvcLocator* pSvcLocator) : declareMonitoredVariable("tag_IP3DSV1", m_mon_tag_IP3DSV1, AutoClear); declareMonitoredVariable("tag_MV2c00", m_mon_tag_MV2c00, AutoClear); declareMonitoredVariable("tag_MV2c10", m_mon_tag_MV2c10, AutoClear); + declareMonitoredVariable("tag_MV2c10_hybrid", m_mon_tag_MV2c10_hybrid, AutoClear); declareMonitoredVariable("tag_MV2c20", m_mon_tag_MV2c20, AutoClear); + declareMonitoredVariable("tag_IP2_c", m_mon_tag_IP2_c, AutoClear); + declareMonitoredVariable("tag_IP2_cu", m_mon_tag_IP2_cu, AutoClear); + declareMonitoredVariable("tag_IP3_c", m_mon_tag_IP3_c, AutoClear); + declareMonitoredVariable("tag_IP3_cu", m_mon_tag_IP3_cu, AutoClear); + + //MV2 taggers variables + declareMonitoredVariable("jf_n2tv", m_mon_jf_n2tv, AutoClear); + declareMonitoredVariable("jf_ntrkv", m_mon_jf_ntrkv, AutoClear); + declareMonitoredVariable("jf_nvtx", m_mon_jf_nvtx, AutoClear); + declareMonitoredVariable("jf_nvtx1t", m_mon_jf_nvtx1t, AutoClear); + declareMonitoredVariable("jf_mass", m_mon_jf_mass, AutoClear); + declareMonitoredVariable("jf_efrc", m_mon_jf_efrc, AutoClear); + declareMonitoredVariable("jf_dR", m_mon_jf_dR, AutoClear); + declareMonitoredVariable("jf_sig3", m_mon_jf_sig3, AutoClear); + + declareMonitoredVariable("jet_pt", m_mon_jet_pt, AutoClear); + declareMonitoredVariable("jet_eta", m_mon_jet_eta, AutoClear); + declareMonitoredVariable("sv_bool", m_mon_sv_bool, AutoClear); + declareMonitoredVariable("jf_bool", m_mon_jf_bool, AutoClear); } @@ -277,26 +303,126 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT:: } // Fill monitoring variables - trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); - trigBTagging->variable<float>("SV1", "efracsvx", m_mon_sv_evtx); - trigBTagging->variable<int> ("SV1", "N2Tpair", m_mon_sv_nvtx); + float sv_check; + float sv_mass_check; + + sv_mass_check = 0.0 ; + + trigBTagging->variable<float>("SV1", "masssvx", sv_mass_check); + + if(sv_mass_check == -1 ) { m_mon_sv_bool = 0;} + else if(sv_mass_check == 0 ) { m_mon_sv_bool = 1;} + else{m_mon_sv_bool = 2; } + + sv_check = trigBTagging->auxdata<float>("SV1_Lxy"); + + if( sv_check != -100.0 ) + { + trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); + trigBTagging->variable<float>("SV1", "efracsvx", m_mon_sv_evtx); + trigBTagging->variable<int> ("SV1", "N2Tpair", m_mon_sv_nvtx); + trigBTagging->variable<int> ("SV1", "NGTinSvx", m_mon_sv_ntkv); + trigBTagging->variable<float>("SV1", "normdist", m_mon_sv_sig3); + if(m_mon_sv_sig3 > 200) m_mon_sv_sig3 = 200; + m_mon_sv_Lxy = trigBTagging->auxdata<float>("SV1_Lxy"); + if(m_mon_sv_Lxy > 100) m_mon_sv_Lxy = 100; + m_mon_sv_L3d = trigBTagging->auxdata<float>("SV1_L3d"); + if(m_mon_sv_L3d > 100) m_mon_sv_L3d = 100; + m_mon_sv_dR = trigBTagging->auxdata<float>("SV1_deltaR"); + if(m_mon_sv_dR > 1) m_mon_sv_dR = 1; + m_mon_tag_SV1 = trigBTagging->SV1_loglikelihoodratio(); + } + else + { + m_mon_sv_mass= -999; + m_mon_sv_evtx= -999; + m_mon_sv_nvtx= -999; + m_mon_sv_ntkv= -999; + m_mon_sv_Lxy= -999; + m_mon_sv_L3d= -999; + m_mon_sv_sig3= -999; + m_mon_sv_dR= -999; + m_mon_tag_SV1= -999; + } //set default values for jets that SV is not found + + /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_deta; + /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_dphi; + float jf_check; + + //Check JetFitter algorithm + m_mon_jf_deta = -10.; + m_mon_jf_dphi = -10.; + trigBTagging->variable<float> ("JetFitter", "deltaeta", m_mon_jf_deta); + trigBTagging->variable<float> ("JetFitter", "deltaphi", m_mon_jf_dphi); + jf_check = std::hypot( m_mon_jf_deta,m_mon_jf_dphi); + if( jf_check > 14 ){ jf_check = -1. ; } + + if(jf_check == -1 ) { m_mon_jf_bool = 0;} + else{ m_mon_jf_bool = 1;} + + if( jf_check != -1 ) + { + trigBTagging->variable<int> ("JetFitter", "N2Tpair", m_mon_jf_n2tv); + if(m_mon_jf_n2tv > 20) m_mon_jf_n2tv = 20; + trigBTagging->variable<int> ("JetFitter", "nTracksAtVtx", m_mon_jf_ntrkv); + trigBTagging->variable<int> ("JetFitter", "nVTX", m_mon_jf_nvtx); + trigBTagging->variable<int> ("JetFitter", "nSingleTracks", m_mon_jf_nvtx1t); + trigBTagging->variable<float> ("JetFitter", "mass", m_mon_jf_mass); + if(m_mon_jf_mass > 9000) m_mon_jf_mass = 9000; + trigBTagging->variable<float> ("JetFitter", "energyFraction", m_mon_jf_efrc); + + m_mon_jf_dR = std::hypot( m_mon_jf_deta,m_mon_jf_dphi); + if( m_mon_jf_dR > 14 ){ m_mon_jf_dR = -1. ; } + trigBTagging->variable<float> ("JetFitter", "significance3d", m_mon_jf_sig3); + } + else + { + m_mon_jf_n2tv= -999; + m_mon_jf_ntrkv= -999; + m_mon_jf_nvtx= -999; + m_mon_jf_nvtx1t= -999; + m_mon_jf_mass= -999; + m_mon_jf_efrc= -999; + m_mon_jf_dR= -999; + m_mon_jf_sig3= -999; + } + + //Check IPxD/MV2 variables m_mon_tag_IP2D = trigBTagging->IP2D_loglikelihoodratio(); m_mon_tag_IP3D = trigBTagging->IP3D_loglikelihoodratio(); - m_mon_tag_SV1 = trigBTagging->SV1_loglikelihoodratio(); m_mon_tag_IP3DSV1 = trigBTagging->SV1plusIP3D_discriminant(); + m_mon_tag_MV2c00 = trigBTagging->auxdata<double>("MV2c00_discriminant"); + m_mon_tag_MV2c10 = trigBTagging->auxdata<double>("MV2c10_discriminant"); + // Temporary use mv2c00 for hybrid tuning + // m_mon_tag_MV2c10_hybrid = trigBTagging->auxdata<double>("MV2c10_hybrid_discriminant"); + m_mon_tag_MV2c10_hybrid = trigBTagging->auxdata<double>("MV2c00_discriminant"); + m_mon_tag_MV2c20 = trigBTagging->auxdata<double>("MV2c20_discriminant"); + if( trigBTagging->IP2D_pc() != 0 && trigBTagging->IP2D_pb() != 0 ) m_mon_tag_IP2_c = log(( trigBTagging->IP2D_pb() )/( trigBTagging->IP2D_pc() )); + else m_mon_tag_IP2_c = -999.; + if( trigBTagging->IP2D_pu() != 0 && trigBTagging->IP2D_pc() != 0 ) m_mon_tag_IP2_cu = log(( trigBTagging->IP2D_pc() )/( trigBTagging->IP2D_pu() )); + else m_mon_tag_IP2_cu = -999.; + if( trigBTagging->IP3D_pc() != 0 && trigBTagging->IP3D_pb() != 0 ) m_mon_tag_IP3_c = log(( trigBTagging->IP3D_pb() )/( trigBTagging->IP3D_pc() )); + else m_mon_tag_IP3_c = -999.; + if( trigBTagging->IP3D_pu() != 0 && trigBTagging->IP3D_pc() != 0 ) m_mon_tag_IP3_cu = log(( trigBTagging->IP3D_pc() )/( trigBTagging->IP3D_pu() )); + else m_mon_tag_IP3_cu = -999.; + + m_mon_jet_pt = jet.pt() ; + m_mon_jet_eta = jet.eta() ; - m_mon_tag_MV2c00 = trigBTagging->auxdata<double>("MV2c00_discriminant"); - m_mon_tag_MV2c10 = trigBTagging->auxdata<double>("MV2c10_discriminant"); - m_mon_tag_MV2c20 = trigBTagging->auxdata<double>("MV2c20_discriminant"); // Dump results ATH_MSG_DEBUG( "IP2D u/b: " << trigBTagging->IP2D_pu() << "/" << trigBTagging->IP2D_pb() << " IP3D u/b: " << trigBTagging->IP3D_pu() << "/" << trigBTagging->IP3D_pb() << " SV1 u/b: " << trigBTagging->SV1_pu() << "/" << trigBTagging->SV1_pb() << " MV2c20 var: " << trigBTagging->auxdata<double>("MV2c20_discriminant") - << " MV2c10 var: " << trigBTagging->auxdata<double>("MV2c10_discriminant") ); - + << " MV2c10 var: " << trigBTagging->auxdata<double>("MV2c10_discriminant") + // Temporary use mv2c00 for hybrid tuning + << " MV2c10_hybrid var: " << trigBTagging->auxdata<double>("MV2c00_discriminant") ); + // << " MV2c10_hybrid var: " << trigBTagging->auxdata<double>("MV2c10_hybrid_discriminant") << endmsg; + // ATTACH FEATURES AND CLEAR TEMPORARY OBJECTS // Create element link from the BTagging to the Jet container diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx index 6758665c4d7..f0e090301a5 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx @@ -49,7 +49,11 @@ TrigGSCFex::TrigGSCFex(const std::string& name, ISvcLocator* pSvcLocator) : // Run-2 monitoring - //declareMonitoredVariable("sv_mass", m_mon_sv_mass, AutoClear); + declareMonitoredVariable("gsc_ntrk", m_mon_gsc_ntrk, AutoClear); + declareMonitoredVariable("gsc_width", m_mon_gsc_width, AutoClear); + declareMonitoredVariable("gsc_ptsum", m_mon_gsc_ptsum, AutoClear); + declareMonitoredVariable("gsc_ptdiff", m_mon_gsc_ptdiff, AutoClear); + declareMonitoredVariable("gsc_ptratio", m_mon_gsc_ptratio, AutoClear); } @@ -77,21 +81,15 @@ HLT::ErrorCode TrigGSCFex::hltInitialize() { if(m_setupOfflineTools) { - if(! m_jetGSCCalib_tool.empty()){ + if(m_jetGSCCalib_tool.empty()){ if(m_jetGSCCalib_tool.retrieve().isFailure()) { msg() << MSG::FATAL << "Failed to locate tool " << m_jetGSCCalib_tool << endmsg; return HLT::BAD_JOB_SETUP; + } else + msg() << MSG::INFO << "Retrieved tool " << m_jetGSCCalib_tool << endmsg; + } else if(msgLvl() <= MSG::DEBUG) + ATH_MSG_DEBUG( "No GSCCalibrationTool tool to retrieve" ); - } else { - msg() << MSG::INFO << "Retrieved tool " << m_jetGSCCalib_tool << endmsg; - } - } else { - if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG << "No GSCCalibrationTool tool to retrieve" << endmsg; - } - } - } else { - m_jetGSCCalib_tool.disable(); } return HLT::OK; @@ -153,7 +151,7 @@ HLT::ErrorCode TrigGSCFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::T // << " phi: " << jet.p4().Phi() // << " m: " << jet.p4().M() // << std::endl; - // + //std::cout << "primaryVertex z" << primaryVertex->z() << std::endl; // Compute and store GSC moments from precision tracks @@ -211,34 +209,56 @@ HLT::ErrorCode TrigGSCFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::T // EXECUTE OFFLINE TOOLS + // calJet is a pointer to the new, calibrated jet xAOD::Jet* calJet = nullptr; m_jetGSCCalib_tool->calibratedCopy(jet,calJet); - // Now we have a new fully calibrated jet! -//std::cout << "TrigGSCFex: New jet" +// std::cout << "TrigGSCFex: New jet" // << " pt: " << calJet->p4().Pt() // << " eta: " << calJet->p4().Eta() // << " phi: " << calJet->p4().Phi() // << " m: " << calJet->p4().M() // << std::endl; - - + xAOD::JetTrigAuxContainer trigJetTrigAuxContainer; xAOD::JetContainer* jc = new xAOD::JetContainer; jc->setStore(&trigJetTrigAuxContainer); - jc->push_back ( calJet ); + jc->push_back ( new xAOD::Jet(*calJet) ); + delete calJet; + +// std::cout << "TrigGSCFex: New jet back" +// << " pt: " << jc->back()->p4().Pt() +// << " eta: " << jc->back()->p4().Eta() +// << " phi: " << jc->back()->p4().Phi() +// << " m: " << jc->back()->p4().M() +// << std::endl; +// + // do not allow GSC track to give large negative energy corrections + // to jets with only a few tracks + if(jc->back()->p4().Et() < jet.p4().Et()*0.95 && nTrk<= 3){ + float newET = jet.p4().Et()*0.95; + xAOD::JetFourMom_t p4 = jet.jetP4(); + p4.SetPt(sqrt(newET*newET - (jet.m())*(jet.m()))); + jc->back()->setJetP4( p4 ); + } + HLT::ErrorCode hltStatus = attachFeature(outputTE, jc, m_jetOutputKey); if (hltStatus != HLT::OK) { - msg() << MSG::ERROR << "Failed to attach xAOD::JetContainer (" << m_jetOutputKey << ") as feature jet eta, phi " << calJet->eta() << ", " << calJet->phi() << endmsg; + msg() << MSG::ERROR << "Failed to attach xAOD::JetContainer (" << m_jetOutputKey << ") as feature jet eta, phi " << jc->back()->eta() << ", " << jc->back()->phi() << endmsg; return hltStatus; } // Fill monitoring variables - //trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); - + m_mon_gsc_ntrk = nTrk; + m_mon_gsc_width = width; + m_mon_gsc_ptsum = ptsum; + m_mon_gsc_ptdiff = jet.p4().Pt() - jc->back()->p4().Pt(); + if( jc->back()->p4().Pt() != 0 ) m_mon_gsc_ptratio = ( m_mon_gsc_ptdiff )/( jc->back()->p4().Pt() ) ; + else m_mon_gsc_ptratio = -999.; + return HLT::OK; } diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx index 338f119fe20..f85d724d49f 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx @@ -1,11 +1,13 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigJetSplitterAllTE.cxx // // Splits a jet collection into separate TEs // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigJetSplitterAllTE.cxx, v0.0 Tue 17 Jun 2014 03:26:44 CEST sutt $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx index a3e201a4f72..50ae7df66d8 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx @@ -1,3 +1,5 @@ +#include "GaudiKernel/DeclareFactoryEntries.h" +#include "TrigBjetHypo/TrigBjetHypoAllTE.h" #include "TrigBjetHypo/TrigBjetHypo.h" #include "TrigBjetHypo/TrigBjetFex.h" #include "TrigBjetHypo/TrigBtagFex.h" @@ -18,6 +20,8 @@ #include "../TrigBtagFexMT.h" #include "../TrigRoiBuilderMT.h" + +DECLARE_COMPONENT( TrigBjetHypoAllTE ) DECLARE_COMPONENT( TrigBjetHypo ) DECLARE_COMPONENT( TrigBjetFex ) DECLARE_COMPONENT( TrigBtagFex ) @@ -37,3 +41,4 @@ DECLARE_COMPONENT( TrigBjetEtHypoTool ) DECLARE_COMPONENT( TrigGSCFexMT ) DECLARE_COMPONENT( TrigBtagFexMT ) DECLARE_COMPONENT( TrigRoiBuilderMT ) + diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx index e1be1ca2ce3..2bae8b937c3 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx @@ -236,7 +236,6 @@ StatusCode HLTBjetMonTool::book(){ ATH_MSG_INFO(" Chain Name sizes - Bjet: " << size_TriggerChainBjet << " MuJet: " << size_TriggerChainMujet ); if ( (size_TriggerChainBjet+size_TriggerChainMujet) <= 0) { ATH_MSG_INFO( " No trigger chain is configured for this run ==> Stop monitoring " ); - // Not really a failure return StatusCode::FAILURE; } for (int i =0; i<size_TriggerChainBjet; i++){ @@ -759,6 +758,7 @@ StatusCode HLTBjetMonTool::book(){ // Temporary work-around to retrieve online PV for FTK chains suggested by John Baines 2017/09/12 // Dummy vertices not treated here for the moment + /* if (FTKchain) { const xAOD::VertexContainer * onlinepvFTK = 0; if ( evtStore()->contains<xAOD::VertexContainer>("HLT_xAOD__VertexContainer_PrimVertexFTK") ) { @@ -778,7 +778,8 @@ StatusCode HLTBjetMonTool::book(){ } // not onlinepvFTK->empty() } // if contains } // FTK chain - + */ + Trig::FeatureContainer fc = m_trigDec->features(trigItem); const std::vector< Trig::Combination >& bjetCombs = fc.getCombinations(); ATH_MSG_DEBUG("RETRIEVED " << bjetCombs.size() << " COMBINATIONS FOR " << trigItem); diff --git a/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py b/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py index 4059f446155..0fd4d560ebf 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py @@ -2,8 +2,8 @@ """ Bjet slice specific flags """ -from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper, AllowedList +from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer +from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper __author__ = 'T. Bold' __version__="$Revision: 1.31 $" @@ -22,7 +22,6 @@ _flags.append(signatures) # create container -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper class BjetSlice(JobPropertyContainer, CommonSliceHelper): """ Bjet Slice Flags """ diff --git a/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py b/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py index e67e0aa5d9e..8155cece968 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -__author__ = 'M.Backes, C.Bernius' +__author__ = 'J.Alison M.Backes, C.Bernius' __doc__="Definition of bjet chains" from AthenaCommon.Logging import logging @@ -28,6 +28,7 @@ from TrigBjetHypo.TrigBjetEtHypoConfig import getBjetEtHypoInstance from TrigBjetHypo.TrigGSCFexConfig import getGSCFexSplitInstance from TrigBjetHypo.TrigBjetHypoConfig import (getBjetHypoInstance, + getBjetHypoAllTEInstance, getBjetHypoNoCutInstance, getBjetHypoSplitInstance, getBjetHypoSplitNoCutInstance) @@ -100,9 +101,8 @@ def generateChainDefs(chainDict): #---------------------------------------------------------------------------- # --- now merge chain defs so that last TE is from jet serving as input to bjet seq --- - # DO NOT CHANGE THE MERGING ORDER PLEASE, OTHERWISE WRONG INPUTTE IS SELECTED - log.debug("Trying to merge chainDef for b-jet chain: \n %s ", theBJChainDef) - log.debug("AllJetChainDef: \n %s", theAllJetChainDef) + # DO NOT CHANGE THE MERGING ORDER PLEASE, OTHERWISE WRONG INPUT IS SELECTED + log.debug("Trying to merge chainDef for b-jet chain: \n ") theJetChainDef = mergeChainDefs([theAllJetChainDef, theBJChainDef], 'serial', -1, False) log.debug("Merged chainDef for b-jet chain: \n %s", theJetChainDef) #---------------------------------------------------------------------------- @@ -116,24 +116,62 @@ def generateChainDefs(chainDict): bjetchainDicts = [cdict for cdict in listofChainDicts if cdict['chainParts']['bTag']] if log.isEnabledFor(logging.DEBUG): log.debug("Final b-jet chainDict: \n %s" , pp.pformat(bjetchainDicts)) - theListOfChainDefs = [] - for subChainDict in bjetchainDicts: - theJetChainDef1 = deepcopy(theJetChainDef) - theBjetChainDef = buildBjetChains(theJetChainDef1, subChainDict, True, len(bjetchainDicts)) - theListOfChainDefs += [theBjetChainDef] - - if log.isEnabledFor(logging.DEBUG): - log.debug("----------------- Beginning of final individual chainDefs for b-jet chains printout -----------------") - for chainDef in theListOfChainDefs: - log.debug('%s',chainDef) - log.debug("----------------- End of final individual chainDefs for b-jet chains printout -----------------") - - if len(theListOfChainDefs)>1: - theFinalChainDef = mergeChainDefs(theListOfChainDefs,strategy="parallel",offset=-1,preserveL2EFOrder=True,removeDuplicateTEs=True,noMergeBJet=True) + # + # Basic properties of the chain, these are used to decide if we use the new AllTE configuration + # + isSplitChain = (not chainDict['chainName'].find("split") == -1) + isRunITagger = (not chainDict['chainName'].find("btight") == -1 or not chainDict['chainName'].find("bmedium") == -1 or not chainDict['chainName'].find("bloose") == -1) + is2015Tagger = (not chainDict['chainName'].find("bmv2c20") == -1 or not chainDict['chainName'].find("bperf") == -1) + isMuDr = (not chainDict['chainName'].find("mu") == -1 and not chainDict['chainName'].find("_dr") == -1) + isMuDz = (not chainDict['chainName'].find("mu") == -1 and not chainDict['chainName'].find("_dz") == -1) + isIsoLep = (not chainDict['chainName'].find("ivarmedium") == -1 or not chainDict['chainName'].find("ivarloose") == -1) + isSingleJet = ( (len(chainDict['chainParts']) == 1) and (int(chainDict['chainParts'][0]['multiplicity']) == 1)) + + # + # Only run the All TE on split chains + # + doAllTEConfig = isSplitChain + + # + # Do not need to run AllTE on single jet chains + # + if isSingleJet: doAllTEConfig = False + + # + # New AllTE config currently supported on new mv2c10 taggers + # + if isRunITagger or is2015Tagger: doAllTEConfig = False + + # + # Need all the ouput bjet TEs to properly match to muons + # so dont use all TE here either + # + if isMuDz or isMuDr or isIsoLep: doAllTEConfig = False + + if doAllTEConfig: + log.debug("Doing new buildBjetChainsAllTE") + theFinalChainDef = buildBjetChainsAllTE( theJetChainDef, bjetchainDicts) else: - theFinalChainDef = theListOfChainDefs[0] + log.debug("Doing buildBjetChains") + theListOfChainDefs = [] + for subChainDict in bjetchainDicts: + theJetChainDef1 = deepcopy(theJetChainDef) + theBjetChainDef = buildBjetChains(theJetChainDef1, subChainDict, len(bjetchainDicts)) + theListOfChainDefs += [theBjetChainDef] + + if log.isEnabledFor(logging.DEBUG): + log.debug("----------------- Beginning of final individual chainDefs for b-jet chains printout -----------------") + for chainDef in theListOfChainDefs: + log.debug('%s',chainDef) + log.debug("----------------- End of final individual chainDefs for b-jet chains printout -----------------") + + if len(theListOfChainDefs)>1: + theFinalChainDef = mergeChainDefs(theListOfChainDefs,strategy="parallel",offset=-1,preserveL2EFOrder=True,removeDuplicateTEs=True,noMergeBJet=True) + else: + theFinalChainDef = theListOfChainDefs[0] + log.debug("----------------- Beginning of final merged chainDefs for b-jet chains printout -----------------") log.debug('%s',theFinalChainDef) log.debug("----------------- End of final merged chainDefs for b-jet chains printout -----------------") @@ -141,9 +179,192 @@ def generateChainDefs(chainDict): return theFinalChainDef +# +# New AllTE Building (Only do it for split chains and non FTK) +# +def buildBjetChainsAllTE(theChainDef, bjetdict, numberOfSubChainDicts=1): + log.debug("In buildBjetChainsAllTE") + inputTEsEF = theChainDef.signatureList[-1]['listOfTriggerElements'][0] + + useTRT = 'noTRT' not in bjetdict[0]['chainParts']['extra'] + + # + # Initial Config + # + ###############################3 + + # + # Get the min threshold for tracking + # This cut is applied after the jet splitting + # So we only run precision tracking in ROIs above the minimum considered + # + minBTagThreshold = 1e9 + for bjetPart in bjetdict: + thisBTagThresholdInt = int(bjetPart['chainParts']['threshold']) + if thisBTagThresholdInt < minBTagThreshold: + minBTagThreshold = thisBTagThresholdInt + log.debug("min jet Pt %s", minBTagThreshold) + + # + # Configure the GSC calibration + # This cut is applied after the GSC calibration + # So we only btag ROIs above the minimum considered + # + doGSC = False + minGSCThreshold = 1e9 + for bjetPart in bjetdict: + if ('gscThreshold' in bjetPart['chainParts']) and (bjetPart['chainParts']['gscThreshold']): + doGSC = True + thisGSCThresholdInt = int(bjetPart['chainParts']['gscThreshold'].replace("gsc","")) + if thisGSCThresholdInt < minGSCThreshold: + minGSCThreshold = thisGSCThresholdInt + + if doGSC: log.debug("Doing GSC Calculation:"+str(minGSCThreshold)+"GeV") + + # + # Now build the chain + # + ###########################3 + + # + # super ROI building + # + theSuperRoi=getSuperRoiBuilderAllTEInstance() + superTE = "HLT_super" + theChainDef.addSequence(theSuperRoi, inputTEsEF, superTE) + + # + # PV Tracking + # + if useTRT : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() + tracking = "IDTrig" + if not useTRT : tracking = tracking + "_noTRT" + + superTrackingTE = superTE+tracking + theChainDef.addSequence(trkvtx, superTE, superTrackingTE) + + # + # PV Finding + # + prmVertexTE = superTrackingTE+"_prmVtx" + theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE) + comboPrmVtxTE = prmVertexTE+"Combo" + theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE) + + # + # Jet splitting + # + # get the minimum et before gsc cut + theJetSplit=getJetSplitterAllTEInstance() + jetHypoTE = "HLT_j"+str(minBTagThreshold)+"_eta" + jetSplitTE = jetHypoTE+"_jsplit" + if not useTRT : jetSplitTE = jetSplitTE + "_noTRT" + + theChainDef.addSequence(theJetSplit, [inputTEsEF, comboPrmVtxTE], jetSplitTE) + + # + # If do the btagging in away muons + # + algoInstance = "EF" + + # + # Et cut berfore running precision tracking + # + theBjetEtHypo = getBjetEtHypoInstance(algoInstance, "Btagging", str(minBTagThreshold)+"GeV" ) + jetEtHypoTE = "HLT_j"+str(minBTagThreshold) + if not useTRT: jetEtHypoTE = jetEtHypoTE + "_noTRT" + theChainDef.addSequence(theBjetEtHypo, jetSplitTE, jetEtHypoTE ) + + # + # Precision tracking + # + if not useTRT : jetSplitTE = jetSplitTE.replace("_noTRT","") # remove noTRT since we are adding tracking !!!! + jetTrackTE = jetSplitTE+"_"+tracking + theBjetTracks = trkftf+trkprec + theChainDef.addSequence(theBjetTracks, jetEtHypoTE, jetTrackTE) + + # + # Secondary Vertexing + # + theVxSecondary = TrigVxSecondaryCombo_EF() + secVtxTE = jetTrackTE+"__"+"secVtx" + theChainDef.addSequence(theVxSecondary, [jetTrackTE, comboPrmVtxTE], secVtxTE) + + # + # GSC calculation + # + if doGSC: + gsc_jetTrackTEPreCut = "HLT_precut_gsc"+str(minBTagThreshold)+"_eta"+"_jsplit"+"_"+tracking + theGSCFex = getGSCFexSplitInstance(algoInstance) + theChainDef.addSequence(theGSCFex, secVtxTE , gsc_jetTrackTEPreCut ) + + algoInstance = "GSC" + gsc_jetTrackTE = "HLT_gsc"+str(minGSCThreshold)+"_eta"+"_jsplit"+"_"+tracking + theGSCEtHypo = getBjetEtHypoInstance(algoInstance, "Btagging", str(minGSCThreshold) +"GeV" ) + theChainDef.addSequence(theGSCEtHypo, gsc_jetTrackTEPreCut, gsc_jetTrackTE ) + jetsForBTagging = gsc_jetTrackTE + else: + log.debug("No GSC Calculation") + jetsForBTagging = secVtxTE + + + # + # the tagging fex + # + log.debug("Getting tagging fex") + theBjetFex = getBtagFexSplitInstance(algoInstance, "2012", "EFID") + btaggingTE = jetsForBTagging+"_btagged" + theChainDef.addSequence(theBjetFex, jetsForBTagging, btaggingTE) + + # + # The btagging hypo + # + log.debug("Getting tagging hypo") + lastTEout = "HLT_"+bjetdict[0]['chainName'] + if not useTRT : lastTEout = lastTEout + "_noTRT" + + topoThresh = bjetdict[0]['topoThreshold'] + topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None + if topoStartFrom: lastTEout = lastTEout+'_tsf' + + # + # Derive multiplicity requirements + # + log.debug("Derive multiplicity requirements") + btagReqs = [] + for bjetchain in bjetdict: + log.debug(bjetdict) + btagCut = bjetchain['chainParts']['bTag'] + mult = bjetchain['chainParts']['multiplicity'] + + threshold = bjetchain['chainParts']['threshold'] + if 'gscThreshold' in bjetchain['chainParts']: + threshold = bjetchain['chainParts']['gscThreshold'].replace("gsc","") + + btagReqs.append([threshold,btagCut,mult]) + + log.debug("Config the ALLTE Hypo") + name = bjetdict[0]['chainName'] + theBjetHypoAllTE = getBjetHypoAllTEInstance("EF","2017",name,btagReqs) + + #theChainDef.signatureList[-1]['listOfTriggerElements'][0] + log.debug("Adding Sequence") + theChainDef.addSequence(theBjetHypoAllTE, btaggingTE, lastTEout, topo_start_from = topoStartFrom) + + log.debug("Adding Signature") + theChainDef.addSignature(theChainDef.signatureList[-1]['signature_counter']+1, [lastTEout]) + + log.debug("Left buildBjetChainsAllTE") + theChainDef.chain_name = 'HLT_'+bjetdict[0]['chainName'] + return theChainDef + + ########################################################################### ########################################################################### -def buildBjetChains(jchaindef,bjetdict,doAtL2AndEF=True,numberOfSubChainDicts=1): +def buildBjetChains(jchaindef,bjetdict,numberOfSubChainDicts=1): log.debug("In buildBjetChains") inputTEsEF = jchaindef.signatureList[-1]['listOfTriggerElements'][0] @@ -164,6 +385,9 @@ def buildBjetChains(jchaindef,bjetdict,doAtL2AndEF=True,numberOfSubChainDicts=1) ################################################################################### def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): + + useTRT = 'noTRT' not in chainDict['chainParts']['extra'] + log.debug("In myBjetConfig_split") EFChainName = "EF_bjet_" + chainDict['chainName'] @@ -221,20 +445,18 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #-------------------- # tracking -# from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new -# [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new if 'FTKVtx' in chainParts['bTracking']: [trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig").getSequence() # new [ftkvtx, trkftk] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx"]).getSequence() # new - ftkvtx[0].getVertexContainer=True elif 'FTKRefit' in chainParts['bTracking']: [ftkvtx, trkftf, trkprec] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx","refit","PT"]).getSequence() # new - ftkvtx[0].getVertexContainer=True elif 'FTK' in chainParts['bTracking']: [ftkvtx, trkftf, trkprec] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx","PT"]).getSequence() # new - ftkvtx[0].getVertexContainer=True - else: + elif useTRT : [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() # new + # for b-tagging theBjetTracks = trkftf+trkprec @@ -250,7 +472,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #-------------------- # GSC if ('gscThreshold' in chainParts) and chainParts['gscThreshold']: - theGSCFex = getGSCFexSplitInstance(algoInstance,"2012","EFID") + theGSCFex = getGSCFexSplitInstance(algoInstance) #from TrigBjetHypo.TrigBjetEtHypoConfig import getBjetEtHypoInstance theGSCEtHypo = getBjetEtHypoInstance("GSC", "Btagging", gscthresh.replace("gsc","")+"GeV" ) #-------------------- @@ -271,7 +493,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # from TrigBjetHypo.TrigBjetFexConfig import getBjetFexSplitInstance # theBjetFex = getBjetFexSplitInstance(algoInstance,"2012","EFID") - if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag']): + if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag'] or 'bmv2c10' in chainParts['bTag'] or 'bhmv2c10' in chainParts['bTag']): # Offline taggers if('FTKRefit' in chainParts['bTracking']): theBjetFex = getBtagFexFTKRefitInstance(algoInstance,"2012","EFID") @@ -299,9 +521,15 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # Performance chains (run 1 and run 2 style) # Runs in NoCut mode theBtagReq = getBjetHypoSplitNoCutInstance(algoInstance) - elif ('bmv2c20' in chainParts['bTag']): + elif ('bmv2c20' in chainParts['bTag'] ): # MV2c20 tagger series theBtagReq = getBjetHypoSplitInstance(algoInstance,"2015", btagcut) + elif ('bmv2c10' in chainParts['bTag'] ): + # MV2c10 tagger series + theBtagReq = getBjetHypoSplitInstance(algoInstance,"2017", btagcut) + elif ('bhmv2c10' in chainParts['bTag']) : + # MV2c10hybrid tagger series + theBtagReq = getBjetHypoSplitInstance(algoInstance,"2018", btagcut) else: # Run 1 style chains theBtagReq = getBjetHypoSplitInstance(algoInstance,"2012", btagcut) @@ -310,6 +538,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # TE naming #----------------------------------------------------------------------------------- + tracking = "IDTrig" if 'FTKVtx' in chainParts['bTracking']: tracking = "IDtrig" @@ -318,13 +547,21 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= elif 'FTK' in chainParts['bTracking']: tracking = "FTK" + elif 'noTRT' in chainParts['extra']: + tracking = "IDTrig_noTRT" jetEtHypoTE = "HLT_j"+btagthresh+ftk jetHypoTE = "HLT_j"+btagthresh+ftk+"_eta" jetSplitTE = jetHypoTE+"_jsplit" - jetFarawayTE = jetSplitTE+"_faraway" jetTrackTE = jetSplitTE+"_"+tracking + if not useTRT: + jetEtHypoTE = jetEtHypoTE + "_noTRT" + jetSplitTE = jetSplitTE + "_noTRT" + + jetFarawayTE = jetSplitTE+"_faraway" + + gsc_jetTrackTEPreCut = "HLT_precut_gsc"+btagthresh+ftk+"_eta"+"_jsplit"+"_"+tracking gsc_jetTrackTE = "HLT_"+gscthresh+ftk+"_eta"+"_jsplit"+"_"+tracking @@ -341,7 +578,6 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #print 'muon thr for antimatch:' + str(muonthr) muonTE = "EF_SuperEF_mu{0}_MU{1}".format(muonthr,muonthr) jetEtHypoTE = jetEtHypoTE+'_antimatchmu{0}'.format(muonthr) - gscEtHypoTE = "HLT_"+gscthresh+ftk+"_eta"+"_jsplit"+"_"+tracking+'_antimatchmu{0}'.format(muonthr) jetHypoTE = jetHypoTE+'_antimatchmu{0}'.format(muonthr) jetTrackTE = jetTrackTE +'_antimatchmu{0}'.format(muonthr) @@ -349,12 +585,15 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= superTrackingTE = superTE+tracking prmVertexTE = superTrackingTE+"_prmVtx" comboPrmVtxTE = prmVertexTE+"Combo" - secVtxTE = jetTrackTE+"__"+"superVtx" + secVtxTE = jetTrackTE+"__"+"secVtx" lastTEout = "HLT_bjet_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + if not useTRT: + lastTEout = lastTEout + "_noTRT" + + if 'FTKVtx' in chainParts['bTracking'] or 'FTK' in chainParts['bTracking'] or 'FTKRefit' in chainParts['bTracking']: comboPrmVtxTE="HLT_FTKVtx_Combo" - topoThresh = chainDict['topoThreshold'] topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None @@ -376,7 +615,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= theChainDef.addSequence(trkvtx, superTE, superTrackingTE) theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE) theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE) - + # b-tagging part of the chain (requires PV) theChainDef.addSequence(theJetSplit, [inputTEsEF, comboPrmVtxTE], jetSplitTE) @@ -421,6 +660,9 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= ################################################################################### def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): + + useTRT = 'noTRT' not in chainDict['chainParts']['extra'] + EFChainName = "EF_bjet_" + chainDict['chainName'] chainParts = chainDict['chainParts'] @@ -437,7 +679,10 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): else : ef_ethypo_startseq = getBjetEtHypoInstance("EF","StartSequence","35GeV") # tracking - [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + if useTRT : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() ef_bjet_tracks = trkftf+trkprec @@ -446,7 +691,7 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): ef_EtHypo_Btagging = getBjetEtHypoInstance("EF","Btagging", btagthresh+"GeV") # B-tagging - if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag']): + if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag'] or 'bmv2c10' in chainParts['bTag'] or 'bhmv2c10' in chainParts['bTag']): ef_bjet = getBtagFexInstance("EF","2012","EFID") else: ef_bjet = getBjetFexInstance("EF","2012","EFID") @@ -456,28 +701,46 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): ef_hypo = getBjetHypoNoCutInstance("EF") elif ('bmv2c20' in chainParts['bTag']): ef_hypo = getBjetHypoInstance("EF","2015", btagcut) + elif ('bmv2c10' in chainParts['bTag']): + ef_hypo = getBjetHypoInstance("EF","2017", btagcut) + elif ('bhmv2c10' in chainParts['bTag']): + ef_hypo = getBjetHypoInstance("EF","2018", btagcut) + else: ef_hypo = getBjetHypoInstance("EF","2012", btagcut) #------- 2012 EF Sequences based on j35 intput TE------- # TE naming + ef2 ='HLT_Bj' ef3 ='HLT_Bj_EtCut%s' % btagthresh if ('EFID' in chainParts['bTracking']): ef4 ='HLT_Bj_EtCut%s_EFID' % btagthresh ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_EFID' % btagthresh ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_EFID' % btagthresh + elif not useTRT: + ef4 ='HLT_Bj_EtCut%s_IDTrig_noTRT' % btagthresh + ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_IDTrig_noTRT' % btagthresh + ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_IDTrig_noTRT' % btagthresh else: ef4 ='HLT_Bj_EtCut%s_IDTrig' % btagthresh ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_IDTrig' % btagthresh ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_IDTrig' % btagthresh + if (btagmult == '1'): - ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],""), ) + if not useTRT: + ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking']+"_noTRT",""), ) + else: + ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],""), ) else: - ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],"")) + if not useTRT: + ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking']+"noTRT","")) + else: + ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],"")) - lastTEout = "EF_bj_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + lastTEout = "EF_bj_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + if not useTRT: lastTEout = lastTEout + "_noTRT" topoThresh = chainDict['topoThreshold'] topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None @@ -588,49 +851,4 @@ def _prepareJetChainDict(cdict): def get_j35_ChainDef(): return theDictFromChainName.getChainDict( ['j35', 'L1_J20', [], ["Main"], ['RATE:SingleJet', 'BW:Jets'], -1],) -# def get_j35_ChainDef(): -# # HACK TO GET j35 chains!!! -# j35_chainDict = { 'EBstep': 1, -# 'L1item': 'L1_J20', -# 'chainCounter': 21, -# 'chainName': 'j35', -# 'chainParts': [ { 'L1item': '', -# 'addInfo': [], -# 'bTag': 'bmedium', -# 'calib': 'em', -# 'jetCalib': 'subjes', -# 'chainPartName': 'j35', -# 'dataType': 'tc', -# 'etaRange': '0eta320', -# 'extra': '', -# 'multiplicity': '1', -# 'recoAlg': 'a4', -# 'scan': 'FS', -# 'signature': 'Jet', -# 'threshold': '35', -# 'topo': [], -# 'trigType': 'j'}, ], -# 'groups': ['RATE:MultiJet', 'BW:Jets'], -# 'signature': 'Jet', -# 'signatures': '', -# 'stream': ['Jet'], -# 'topo': []} -# -# return j35_chainDict - -def get_lastTE_j35(ChainDef): - inputTEsEF = ChainDef.signatureList[-1]['listOfTriggerElements'] - return inputTEsEF -########################################################################### -def getMultThreshBtagInfo(cDict): - allInfo = [] - chainPartInfo = [] - for cpart in cDict['chainParts']: - if cpart['signature'] == 'Jet': - chainPartInfo.append(cpart['multiplicity']) - chainPartInfo.append(cpart['threshold']) - chainPartInfo.append(cpart['bTag']) - allInfo.append(chainPartInfo) - - return allInfo -########################################################################### + -- GitLab From 2e436d826afbaa96054326e8a128e9bfa3c3ad17 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 19:22:09 +0100 Subject: [PATCH 150/209] StoreGate: Add WriteCondHandle::extendLastRange(). Add WriteCondHandle::extendLastRange(), to allow altering the end time of the last IOV. To be used to implement the dynamic addition of IOVs required by the HLT. --- Control/StoreGate/StoreGate/WriteCondHandle.h | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Control/StoreGate/StoreGate/WriteCondHandle.h b/Control/StoreGate/StoreGate/WriteCondHandle.h index 79c5498d8c0..c690a56c7de 100644 --- a/Control/StoreGate/StoreGate/WriteCondHandle.h +++ b/Control/StoreGate/StoreGate/WriteCondHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_WRITECONDHANDLE_H @@ -44,6 +44,20 @@ namespace SG { StatusCode record(const EventIDRange& range, T* t); StatusCode record(const EventIDRange& range, std::unique_ptr<T> t); + + + /** + * @brief Extend the range of the last IOV. + * @param range New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c range does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c range. (If the end time for @c range + * is before the end of the last IOV, then nothing is changed.) + */ + StatusCode extendLastRange(const EventIDRange& range, + const EventContext& ctx = Gaudi::Hive::currentContext()); const std::string& dbKey() const { return m_hkey.dbKey(); } @@ -122,6 +136,27 @@ namespace SG { return record (r, std::unique_ptr<T> (t)); } + //--------------------------------------------------------------------------- + + + /** + * @brief Extend the range of the last IOV. + * @param range New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c range does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c range. (If the end time for @c range + * is before the end of the last IOV, then nothing is changed.) + */ + template <typename T> + StatusCode + WriteCondHandle<T>::extendLastRange (const EventIDRange& r, const EventContext& ctx) + { + return m_cc->extendLastRange (r, ctx); + } + + //--------------------------------------------------------------------------- template <typename T> -- GitLab From d447a1159b851c6f59f68c6b8b1b81621688b47d Mon Sep 17 00:00:00 2001 From: amorley <anthony.morley@cern.ch> Date: Thu, 1 Nov 2018 16:53:23 +0100 Subject: [PATCH 151/209] Reduce the number of dynamic casts in fitter --- .../src/GlobalChi2Fitter.cxx | 202 +++++++++++------- 1 file changed, 129 insertions(+), 73 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index 83ceb43f80d..a4b3efabfe3 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -444,7 +444,7 @@ namespace Trk { DataVector<const TrackParameters>::const_iterator parit = indettrack->trackParameters()->begin(); while (!firstidpar && parit != indettrack->trackParameters()->end()) { - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { firstidpar = *parit; } parit++; @@ -453,7 +453,7 @@ namespace Trk { parit = indettrack->trackParameters()->end(); do { parit--; - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { lastidpar = *parit; } } while (!lastidpar && parit != indettrack->trackParameters()->begin()); @@ -672,7 +672,7 @@ namespace Trk { DataVector<const TrackParameters>::const_iterator parit = indettrack->trackParameters()->begin(); while (!firstidpar && parit != indettrack->trackParameters()->end()) { - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { firstidpar = *parit; } parit++; @@ -680,7 +680,7 @@ namespace Trk { parit = indettrack->trackParameters()->end(); do { parit--; - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { lastidpar = *parit; } } while (!lastidpar && parit != indettrack->trackParameters()->begin()); @@ -736,23 +736,24 @@ namespace Trk { } const std::vector<const TrackStateOnSurface *> *matvec = 0; if (tmppar) { + const Surface& associatedSurface = tmppar->associatedSurface(); Surface *muonsurf = 0; - const CylinderSurface *cylmuonsurf = dynamic_cast<const CylinderSurface *>(&tmppar->associatedSurface()); - const DiscSurface *discmuonsurf = dynamic_cast<const DiscSurface *>(&tmppar->associatedSurface()); - if (cylmuonsurf) { - Amg::Transform3D *trans = new Amg::Transform3D(cylmuonsurf->transform()); - const CylinderBounds &cylbounds = cylmuonsurf->bounds(); - double radius = cylbounds.r(); - double hlength = cylbounds.halflengthZ(); - muonsurf = new CylinderSurface(trans, radius + 1, hlength); - }else if (discmuonsurf) { - double newz = - ((discmuonsurf->center().z() > 0) ? discmuonsurf->center().z() + 1 : discmuonsurf->center().z() - 1); - Amg::Vector3D newpos(discmuonsurf->center().x(), discmuonsurf->center().y(), newz); - Amg::Transform3D *trans = new Amg::Transform3D(discmuonsurf->transform()); - trans->translation() << newpos; - const DiscBounds *discbounds = dynamic_cast<const DiscBounds *>(&discmuonsurf->bounds()); - if (discbounds) { + if (associatedSurface.type() == Trk::Surface::Cylinder) { + if( associatedSurface.bounds().type() == Trk::SurfaceBounds::Cylinder ){ + const CylinderBounds* cylbounds = static_cast<const CylinderBounds*>(&associatedSurface.bounds()); + Amg::Transform3D *trans = new Amg::Transform3D(associatedSurface.transform()); + double radius = cylbounds->r(); + double hlength = cylbounds->halflengthZ(); + muonsurf = new CylinderSurface(trans, radius + 1, hlength); + } + }else if (associatedSurface.type() == Trk::Surface::Disc) { + if (associatedSurface.bounds().type() == Trk::SurfaceBounds::Disc ) { + double newz = + ((associatedSurface.center().z() > 0) ? associatedSurface.center().z() + 1 : associatedSurface.center().z() - 1); + Amg::Vector3D newpos(associatedSurface.center().x(), associatedSurface.center().y(), newz); + Amg::Transform3D *trans = new Amg::Transform3D(associatedSurface.transform()); + trans->translation() << newpos; + const DiscBounds *discbounds = static_cast<const DiscBounds *>(&associatedSurface.bounds()); double rmin = discbounds->rMin(); double rmax = discbounds->rMax(); muonsurf = new DiscSurface(trans, rmin, rmax); @@ -1022,8 +1023,12 @@ namespace Trk { jac4 = jac4.inverse(); double dloc1 = idscatpar->parameters()[Trk::loc1] - scat2->parameters()[Trk::loc1]; double dloc2 = idscatpar->parameters()[Trk::loc2] - scat2->parameters()[Trk::loc2]; - const Trk::CylinderSurface *cylsurf = dynamic_cast<const Trk::CylinderSurface *>(&scat2->associatedSurface()); - const Trk::DiscSurface *discsurf = dynamic_cast<const Trk::DiscSurface *>(&scat2->associatedSurface()); + const Trk::CylinderSurface *cylsurf = nullptr; + if(scat2->associatedSurface().type() == Trk::Surface::Cylinder) + cylsurf = static_cast<const Trk::CylinderSurface *>(&scat2->associatedSurface()); + const Trk::DiscSurface *discsurf = nullptr; + if(scat2->associatedSurface().type() == Trk::Surface::Cylinder) + discsurf= static_cast<const Trk::DiscSurface *>(&scat2->associatedSurface()); if (cylsurf) { double length = 2 * M_PI * cylsurf->bounds().r(); @@ -1174,7 +1179,7 @@ namespace Trk { } if ((pull1 > 5 || pull2 > 5) && (pull1 > 25 || pull2 > 25 || - dynamic_cast<const StraightLineSurface *>(&closestmuonmeas->associatedSurface()))) { + closestmuonmeas->associatedSurface().type() == Trk::Surface::Line )) { if (startPar != lastidpar && startPar != indettrack->perigeeParameters()) { delete startPar; } @@ -1211,7 +1216,7 @@ namespace Trk { } makeProtoState(cache, trajectory, *itStates2); - if (itStates2 == endState2 - 1 && dynamic_cast<const AtaStraightLine *>(tpar) && tpar->position().perp() > 9000 && + if (itStates2 == endState2 - 1 && tpar->associatedSurface().type() == Trk::Surface::Line && tpar->position().perp() > 9000 && std::abs(tpar->position().z()) < 13000) { const TrackParameters *pseudopar = tpar->clone(); Amg::MatrixX covMatrix(1, 1); @@ -1228,9 +1233,8 @@ namespace Trk { pseudostate->setMeasurementErrors(errors); trajectory.addMeasurementState(pseudostate); ispseudo = true; - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "Adding pseudomeasurement" << endmsg; - } + ATH_MSG_DEBUG( "Adding pseudomeasurement" ); + } if (std::abs(trajectory.trackStates().back()->position().z()) > 20000 && std::abs(previousz) < 12000) { largegap = true; @@ -1536,17 +1540,17 @@ namespace Trk { for (itStates2 = beginStates2; itStates2 != endState2; ++itStates2) { const MeasurementBase *pseudo = dynamic_cast<const PseudoMeasurementOnTrack *>((*itStates2)->measurementOnTrack()); - const StraightLineSurface *slsurf = - (*itStates2)->measurementOnTrack() ? dynamic_cast<const StraightLineSurface *>(&(*itStates2)->measurementOnTrack() - ->associatedSurface()) : 0; - if (slsurf && !firstismuon && !newpseudo && + + bool isStraightLine = (*itStates2)->measurementOnTrack() ? (*itStates2)->measurementOnTrack()->associatedSurface().type() == Trk::Surface::Line : false; + + if (isStraightLine && !firstismuon && !newpseudo && (((itStates2 == beginStates2 || itStates2 == beginStates2 + 1) && std::abs((*itStates2)->measurementOnTrack()->globalPosition().z()) < 10000) /* || !nphi*/)) { // pseudo=(*itStates2)->measurementOnTrack(); const TrackParameters *par2 = ((*itStates2)->trackParameters() && nphi > 99) ? (*itStates2)->trackParameters()->clone() : m_propagator->propagateParameters( - *secondscatstate->trackParameters(), *slsurf, alongMomentum, false, *trajectory.m_fieldprop, Trk::nonInteracting); + *secondscatstate->trackParameters(), (*itStates2)->measurementOnTrack()->associatedSurface(), alongMomentum, false, *trajectory.m_fieldprop, Trk::nonInteracting); if (!par2) { continue; } @@ -1563,7 +1567,7 @@ namespace Trk { errors[1] = 10; firstpseudostate->setMeasurementErrors(errors); trajectory.addMeasurementState(firstpseudostate); - msg(MSG::DEBUG) << "Adding PseudoMeasurement" << endmsg; + ATH_MSG_DEBUG( "Adding PseudoMeasurement" ); continue; } if (pseudo && !firstismuon) { @@ -2084,8 +2088,16 @@ namespace Trk { return 0; } */ const RIO_OnTrack *rot = 0; - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(&prdsurf); - const StraightLineSurface *slsurf = !plsurf ? dynamic_cast<const StraightLineSurface *>(&prdsurf) : 0; + const PlaneSurface *plsurf = nullptr; + if(prdsurf.type() == Trk::Surface::Plane) + plsurf = static_cast<const PlaneSurface *>(&prdsurf); + + const StraightLineSurface *slsurf = nullptr; + if(prdsurf.type() == Trk::Surface::Line) + slsurf= static_cast<const StraightLineSurface *>(&prdsurf); + + + if (!slsurf && !plsurf) { ATH_MSG_ERROR("Surface is neither PlaneSurface nor StraightLineSurface!"); } @@ -2263,7 +2275,7 @@ namespace Trk { parameterVector[Trk::qOverP], new AmgSymMatrix(5)( *hitparam->covariance()))); const RIO_OnTrack *rot = 0; - if (!m_broadROTcreator.empty() && dynamic_cast<const StraightLineSurface *>(&prdsurf)) { + if (!m_broadROTcreator.empty() && prdsurf.type() == Trk::Surface::Line) { rot = m_broadROTcreator->correct(**it, *hitparam); } else { rot = m_ROTcreator->correct(**it, *trackparForCorrect); @@ -2336,12 +2348,17 @@ namespace Trk { MeasurementSet rots_tbd; for (itSet = rots.begin(); itSet != itSetEnd; ++itSet) { if (!(*itSet)) { - msg(MSG::WARNING) << "There is an empty MeasurementBase object in the track! Skip this object.." << endmsg; + ATH_MSG_WARNING( "There is an empty MeasurementBase object in the track! Skip this object.." ); } else { const RIO_OnTrack *rot = dynamic_cast<const RIO_OnTrack *>(*itSet); if (rot && m_DetID->is_mm(rot->identify())) { - const PlaneSurface* surf = dynamic_cast<const PlaneSurface *>(&rot->associatedSurface()); - if (not surf) throw std::runtime_error("dynamic cast to PlaneSurface failed in GlobalChi2Fitter::fit"); + //const PlaneSurface* surf = dynamic_cast<const PlaneSurface *>(&rot->associatedSurface()); + //if (not surf) throw std::runtime_error("dynamic cast to PlaneSurface failed in GlobalChi2Fitter::fit"); + if( rot->associatedSurface().type() != Trk::Surface::Plane ){ + rots_new.push_back(*itSet); + continue; + } + const PlaneSurface* surf = static_cast<const PlaneSurface *>(&rot->associatedSurface()); AtaPlane atapl(surf->center(), param.parameters()[Trk::phi], param.parameters()[Trk::theta], param.parameters()[Trk::qOverP], *surf); rot = m_ROTcreator->correct(*(rot->prepRawData()), atapl); rots_tbd.push_back(rot); @@ -2612,7 +2629,7 @@ namespace Trk { } hittype = TrackState::MDT; }else if (m_DetID->is_tgc(hitid)) { - if (!dynamic_cast<const TrapezoidBounds *>(&measbase2->associatedSurface().bounds())) { + if (measbase2->associatedSurface().bounds().type() != Trk::SurfaceBounds::Trapezoid ) { string2 = "TGC wire hit"; } else { if (msgLvl(MSG::DEBUG)) { @@ -2796,8 +2813,12 @@ namespace Trk { if (!layIndex.value() || !(*layerIter)->layerMaterialProperties()) { continue; } - const CylinderLayer *cyllay = dynamic_cast<const CylinderLayer *>((*layerIter)); - const DiscLayer *disclay = dynamic_cast<const DiscLayer *>((*layerIter)); + const CylinderLayer *cyllay = nullptr; + if( (*layerIter)->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyllay = static_cast<const CylinderLayer *>((*layerIter)); + const DiscLayer *disclay = nullptr; + if( (*layerIter)->surfaceRepresentation().type() == Trk::Surface::Disc ) + disclay = static_cast<const DiscLayer *>((*layerIter)); if (disclay) { if (disclay->center().z() < 0) { cache.m_negdiscs.push_back(disclay); @@ -2832,8 +2853,12 @@ namespace Trk { if (!layIndex.value() || !layer->layerMaterialProperties()) { continue; } - const CylinderSurface *cylsurf = dynamic_cast<const CylinderSurface *>(&layer->surfaceRepresentation()); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(&layer->surfaceRepresentation()); + const CylinderSurface *cylsurf = nullptr; + if( layer->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cylsurf = static_cast<const CylinderSurface *>(&layer->surfaceRepresentation()); + const DiscSurface *discsurf = nullptr; + if( layer->surfaceRepresentation().type() == Trk::Surface::Disc ) + discsurf = static_cast<const DiscSurface *>(&layer->surfaceRepresentation()); if (discsurf) { if (discsurf->center().z() < 0 && @@ -2952,10 +2977,18 @@ public: bool operator () (const Layer *one, const Layer *two) const { - const CylinderSurface *cyl1 = dynamic_cast<const CylinderSurface *>(&one->surfaceRepresentation()); - const DiscSurface *disc1 = dynamic_cast<const DiscSurface *>(&one->surfaceRepresentation()); - const CylinderSurface *cyl2 = dynamic_cast<const CylinderSurface *>(&two->surfaceRepresentation()); - const DiscSurface *disc2 = dynamic_cast<const DiscSurface *>(&two->surfaceRepresentation()); + const CylinderSurface *cyl1 = nullptr; + if( one->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyl1 = static_cast<const CylinderSurface *>(&one->surfaceRepresentation()); + const DiscSurface *disc1 = nullptr; + if( one->surfaceRepresentation().type() == Trk::Surface::Disc ) + disc1 = static_cast<const DiscSurface *>(&one->surfaceRepresentation()); + const CylinderSurface *cyl2 = nullptr; + if( two->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyl2 = static_cast<const CylinderSurface *>(&two->surfaceRepresentation()); + const DiscSurface *disc2 = nullptr; + if( two->surfaceRepresentation().type() == Trk::Surface::Disc ) + disc2 = static_cast<const DiscSurface *>(&two->surfaceRepresentation()); if (cyl1 && cyl2) { return(cyl1->bounds().r() < cyl2->bounds().r()); @@ -3607,21 +3640,25 @@ public: Trk::nonInteracting); } if (tmppar) { - const CylinderSurface *cylcalosurf = dynamic_cast<const CylinderSurface *>(&tmppar->associatedSurface()); - const DiscSurface *disccalosurf = dynamic_cast<const DiscSurface *>(&tmppar->associatedSurface()); + const CylinderSurface *cylcalosurf = nullptr; + if(tmppar->associatedSurface().type() == Trk::Surface::Cylinder) + cylcalosurf = static_cast<const CylinderSurface *>(&tmppar->associatedSurface()); + const DiscSurface *disccalosurf = nullptr; + if(tmppar->associatedSurface().type() == Trk::Surface::Disc) + disccalosurf = static_cast<const DiscSurface *>(&tmppar->associatedSurface()); if (cylcalosurf) { Amg::Transform3D *trans = new Amg::Transform3D(cylcalosurf->transform()); const CylinderBounds &cylbounds = cylcalosurf->bounds(); double radius = cylbounds.r(); double hlength = cylbounds.halflengthZ(); calosurf = new CylinderSurface(trans, radius - 1, hlength); - }else { + } else if (disccalosurf) { double newz = ((disccalosurf->center().z() > 0) ? disccalosurf->center().z() - 1 : disccalosurf->center().z() + 1); Amg::Vector3D newpos(disccalosurf->center().x(), disccalosurf->center().y(), newz); Amg::Transform3D *trans = new Amg::Transform3D(disccalosurf->transform()); trans->translation() << newpos; - const DiscBounds *discbounds = dynamic_cast<const DiscBounds *>(&disccalosurf->bounds()); + const DiscBounds *discbounds = static_cast<const DiscBounds *>(&disccalosurf->bounds()); double rmin = discbounds->rMin(); double rmax = discbounds->rMax(); calosurf = new DiscSurface(trans, rmin, rmax); @@ -4012,7 +4049,7 @@ public: addlayer = true; } - if (dynamic_cast<const AtaCylinder *>(layerpar)) { + if ( layerpar->associatedSurface().type() == Trk::Surface::Cylinder ) { // Hep3Vector diffvec=states[i]->position()-layerparams[layerno]->position(); double cylinderradius = layerpar->associatedSurface().bounds().r(); double trackimpact = std::abs(-refpar->position().x() * sinphi + refpar->position().y() * cosphi); @@ -4090,7 +4127,9 @@ public: const TrackParameters * GlobalChi2Fitter::makePerigee( Cache& cache, const TrackParameters ¶m, ParticleHypothesis matEffects) const { - const PerigeeSurface *persurf = dynamic_cast<const PerigeeSurface *>(¶m.associatedSurface()); + const PerigeeSurface *persurf = nullptr; + if( param.associatedSurface().type() == Trk::Surface::Perigee) + persurf = static_cast<const PerigeeSurface *>(¶m.associatedSurface()); const TrackParameters *per = 0; if (persurf && (!cache.m_acceleration || persurf->center().perp() > 5)) { @@ -4420,9 +4459,13 @@ public: delete tmppar; } // std::cout << "persurf: " << persurf << " nearest par: " << *nearestpar << std::endl; - per = - dynamic_cast<const Perigee *>(m_propagator->propagateParameters(*nearestpar, persurf, Trk::anyDirection, false, - *trajectory.m_fieldprop, Trk::nonInteracting)); + const Trk::TrackParameters* tmpPars = m_propagator->propagateParameters(*nearestpar, persurf, Trk::anyDirection, false, + *trajectory.m_fieldprop, Trk::nonInteracting); + + // Parameters are at a Perigee surface so they are perigee parameters + if( tmpPars ) + per = static_cast< const Perigee* >( tmpPars ); + if (!mymatvec.empty()) { delete nearestpar; } @@ -5353,7 +5396,9 @@ public: GXFTrackState *thisstate = trajectory.trackStates()[i]; GXFMaterialEffects *meff = thisstate->materialEffects(); if (meff) { - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(thisstate->surface()); + const PlaneSurface *plsurf = nullptr; + if( thisstate->surface()->type() == Trk::Surface::Plane ) + plsurf = static_cast<const PlaneSurface *>(thisstate->surface()); if (meff->deltaE() == 0 || (!trajectory.prefit() && plsurf)) { weightchanged = true; if (!myarray) { @@ -5443,7 +5488,9 @@ public: message << "scatno is out of range " << scatno << " !< " << cache.m_phiweight.size(); throw std::range_error(message.str()); } - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(thisstate->surface()); + const PlaneSurface *plsurf = nullptr; + if( thisstate->surface()->type() == Trk::Surface::Plane ) + plsurf = static_cast<const PlaneSurface *>(thisstate->surface()); if (thisstate->materialEffects()->deltaE() == 0 || plsurf) { myarray[(2 * scatno + nperpars) * nfitpars + 2 * scatno + nperpars] /= cache.m_phiweight[scatno]; cache.m_phiweight[scatno] = 1; @@ -6522,8 +6569,9 @@ public: const Layer *startlayer = firstmeasstate->trackParameters()->associatedSurface().associatedLayer(); if (startlayer && startlayer->layerMaterialProperties()) { double startfactor = startlayer->layerMaterialProperties()->alongPostFactor(); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(startlayer); - if (discsurf && discsurf->center().z() * discsurf->normal().z() < 0) { + const Surface& discsurf = startlayer->surfaceRepresentation(); + if( discsurf.type() == Trk::Surface::Disc && + discsurf.center().z() * discsurf.normal().z() < 0) { startfactor = startlayer->layerMaterialProperties()->oppositePostFactor(); } if (startfactor > 0.5) { @@ -6542,8 +6590,9 @@ public: const Layer *endlayer = lastmeasstate->trackParameters()->associatedSurface().associatedLayer(); if (endlayer && endlayer->layerMaterialProperties()) { double endfactor = endlayer->layerMaterialProperties()->alongPreFactor(); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(endlayer); - if (discsurf && discsurf->center().z() * discsurf->normal().z() < 0) { + const Surface& discsurf = endlayer->surfaceRepresentation(); + if( discsurf.type() == Trk::Surface::Disc && + discsurf.center().z() * discsurf.normal().z() < 0) { endfactor = endlayer->layerMaterialProperties()->oppositePreFactor(); } if (endfactor > 0.5) { @@ -7481,11 +7530,18 @@ public: }; const AmgVector(5) &vec = tmpprevpar->parameters(); - const Trk::CylinderSurface *cylsurf = dynamic_cast<const Trk::CylinderSurface *>(surf); - const Trk::DiscSurface *discsurf = dynamic_cast<const Trk::DiscSurface *>(surf); - const Trk::CylinderSurface *thiscylsurf = - dynamic_cast<const Trk::CylinderSurface *>(&tmpprevpar->associatedSurface()); - const Trk::DiscSurface *thisdiscsurf = dynamic_cast<const Trk::DiscSurface *>(&tmpprevpar->associatedSurface()); + bool cylsurf = true; + if( surf->type() == Trk::Surface::Cylinder ) + cylsurf = true; + bool discsurf = false; + if( surf->type() == Trk::Surface::Cylinder ) + discsurf = true; + bool thiscylsurf = false; + if( tmpprevpar->associatedSurface().type() == Trk::Surface::Cylinder ) + thiscylsurf = true; + bool thisdiscsurf = false; + if( tmpprevpar->associatedSurface().type() == Trk::Surface::Disc ) + thisdiscsurf = true; for (int i = 0; i < 5; i++) { AmgVector(5) vecpluseps = vec, vecminuseps = vec; @@ -7497,11 +7553,11 @@ public: vecpluseps[paraccessor.pardef[i]] += eps[i]; vecminuseps[paraccessor.pardef[i]] -= eps[i]; if (thiscylsurf && i == 0) { - if (vecpluseps[0] / thiscylsurf->bounds().r() > M_PI) { - vecpluseps[0] -= 2 * M_PI * thiscylsurf->bounds().r(); + if (vecpluseps[0] / tmpprevpar->associatedSurface().bounds().r() > M_PI) { + vecpluseps[0] -= 2 * M_PI * tmpprevpar->associatedSurface().bounds().r(); } - if (vecminuseps[0] / thiscylsurf->bounds().r() < -M_PI) { - vecminuseps[0] += 2 * M_PI * thiscylsurf->bounds().r(); + if (vecminuseps[0] / tmpprevpar->associatedSurface().bounds().r() < -M_PI) { + vecminuseps[0] += 2 * M_PI * tmpprevpar->associatedSurface().bounds().r(); } } if (thisdiscsurf && i == 1) { @@ -7554,7 +7610,7 @@ public: double diff = newparpluseps->parameters()[paraccessor.pardef[j]] - newparminuseps->parameters()[paraccessor.pardef[j]]; if (cylsurf && j == 0) { - double length = 2 * M_PI * cylsurf->bounds().r(); + double length = 2 * M_PI * surf->bounds().r(); if (fabs(fabs(diff) - length) < fabs(diff)) { if (diff > 0) { diff -= length; -- GitLab From 3066dafc6fafcd8d6ab11fcb769e2793c3be0164 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 19:21:41 +0100 Subject: [PATCH 152/209] IOVSvc: Support extensible folders. In IOVSvc::createCondObj, if the start of a new range matches the start of the last range in the container, then try to extend it with extendLastRange() rather than trying to insert a new range. This can happen when a folder is tagged as `extensible' in IOVDbSvc. --- Control/IOVSvc/CMakeLists.txt | 8 + Control/IOVSvc/share/IOVSvc_test.ref | 24 ++ Control/IOVSvc/share/IOVSvc_test.txt | 1 + Control/IOVSvc/src/IOVSvc.cxx | 43 +++- Control/IOVSvc/src/IOVSvcTool.cxx | 14 +- Control/IOVSvc/test/IOVSvc_test.cxx | 352 +++++++++++++++++++++++++++ 6 files changed, 428 insertions(+), 14 deletions(-) create mode 100644 Control/IOVSvc/share/IOVSvc_test.ref create mode 100644 Control/IOVSvc/share/IOVSvc_test.txt create mode 100644 Control/IOVSvc/test/IOVSvc_test.cxx diff --git a/Control/IOVSvc/CMakeLists.txt b/Control/IOVSvc/CMakeLists.txt index 566e1d22c10..4f280fd87c3 100644 --- a/Control/IOVSvc/CMakeLists.txt +++ b/Control/IOVSvc/CMakeLists.txt @@ -45,6 +45,14 @@ atlas_add_test( IOVSvcTool_test EXTRA_PATTERNS "^HistogramPersis.* INFO|^IOVSvc +DEBUG|^IOVSvcTool +DEBUG" ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) +atlas_add_test( IOVSvc_test + SOURCES + test/IOVSvc_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} AthenaBaseComps AthenaKernel SGTools StoreGateLib SGtests GaudiKernel TestTools EventInfo IOVSvcLib xAODEventInfo PersistentDataModel + EXTRA_PATTERNS "^HistogramPersis.* INFO|^IOVSvc +DEBUG|^IOVSvcTool +DEBUG" + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + # Install files from the package: atlas_install_joboptions( share/IOVSvc.txt share/IOVSvc.py ) diff --git a/Control/IOVSvc/share/IOVSvc_test.ref b/Control/IOVSvc/share/IOVSvc_test.ref new file mode 100644 index 00000000000..3ffb86b4f5a --- /dev/null +++ b/Control/IOVSvc/share/IOVSvc_test.ref @@ -0,0 +1,24 @@ +IOVSvc_test + + +Initializing Gaudi ApplicationMgr using job opts ../share/IOVSvc_test.txt +JobOptionsSvc INFO # =======> /home/sss/atlas/dvtest/build/../tests/../share/IOVSvc_test.txt +JobOptionsSvc INFO # (1,1): ApplicationMgr.CreateSvc += ["StoreGateSvc/DetectorStore"] +JobOptionsSvc INFO Job options successfully read in from ../share/IOVSvc_test.txt +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99) + running on karma on Mon Oct 29 16:20:22 2018 +==================================================================================================================================== +ApplicationMgr INFO Application Manager Configured successfully +ClassIDSvc INFO getRegistryEntries: read 1617 CLIDRegistry entries for module ALL +EventLoopMgr WARNING Unable to locate service "EventSelector" +EventLoopMgr WARNING No events will be processed from external input. +HistogramPersis...WARNING Histograms saving not required. +ApplicationMgr INFO Application Manager Initialized successfully +ApplicationMgr Ready +test1 +ClassIDSvc INFO getRegistryEntries: read 426 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVSvc ERROR unable to get range from db for 932847540 key diff --git a/Control/IOVSvc/share/IOVSvc_test.txt b/Control/IOVSvc/share/IOVSvc_test.txt new file mode 100644 index 00000000000..fb3065646b8 --- /dev/null +++ b/Control/IOVSvc/share/IOVSvc_test.txt @@ -0,0 +1 @@ +ApplicationMgr.CreateSvc += { "StoreGateSvc/DetectorStore" }; diff --git a/Control/IOVSvc/src/IOVSvc.cxx b/Control/IOVSvc/src/IOVSvc.cxx index 938289b648e..82b22fd482e 100755 --- a/Control/IOVSvc/src/IOVSvc.cxx +++ b/Control/IOVSvc/src/IOVSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /***************************************************************************** @@ -31,6 +31,33 @@ using namespace std; const std::string defaultStore = "StoreGateSvc"; + +namespace { + + +/** + * @brief Helper to check two EventIDBase objects for equality. + * Check either/both of run+lbn or timestamp. + * Don't use operator== for EventIDBase; that compares run+event+lbn only. + */ +bool eventIDMatch (const EventIDBase& e1, const EventIDBase& e2) +{ + if (e1.isRunLumi()) { + if (e1.run_number() != e2.run_number()) return false; + if (e1.lumi_block() != e2.lumi_block()) return false; + } + if (e1.isTimeStamp()) { + if (e1.time_stamp() != e2.time_stamp()) return false; + if (e1.time_stamp_ns_offset() != e2.time_stamp_ns_offset()) return false; + } + return true; +} + + +} // anonymous namespace + + + // /////////////////////////////////////////////////////////////////////////// // @@ -355,6 +382,8 @@ StatusCode IOVSvc::setRange(const CLID& clid, const std::string& key, IOVRange& iovr) { + std::lock_guard<std::recursive_mutex> lock(m_lock); + IIOVSvcTool *ist = getTool( clid, key ); if (ist == 0) { @@ -869,6 +898,18 @@ IOVSvc::createCondObj(CondContBase* ccb, const DataObjID& id, ATH_MSG_DEBUG( " new range for ID " << id << " : " << range << " IOA: " << ioa); + // If the start of the new range matches the start of the last range, then + // extend the last range rather than trying to insert a new range. + // This can happen when a folder is tagged as `extensible' in IOVDbSvc. + EventIDRange r; + if (ccb->range (range.start(), r) && + eventIDMatch (r.start(), range.start())) + { + if (ccb->extendLastRange (range).isSuccess()) { + return StatusCode::SUCCESS; + } + } + if (ccb->proxy() == nullptr) { SG::DataProxy* dp = p_detStore->proxy (id.clid(), sgKey); ATH_MSG_DEBUG( " found DataProxy " << dp << " for " << id ); diff --git a/Control/IOVSvc/src/IOVSvcTool.cxx b/Control/IOVSvc/src/IOVSvcTool.cxx index a618e660b34..689b3a3958d 100644 --- a/Control/IOVSvc/src/IOVSvcTool.cxx +++ b/Control/IOVSvc/src/IOVSvcTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "IOVSvc/IOVSvcTool.h" @@ -1409,18 +1409,6 @@ IOVSvcTool::regFcn(SG::DataProxy* dp, m_names[dp] = fullname; } - // if using old compiler, can't detect between non-virtual functions, - // so issue an error. - -#if (__GNUC__ < 3) - if (c.offset() == 0x7fff) { - m_log << MSG::ERROR << "Callback function " << c.name() - << " is not virtual." << " Cannot bind it to " << fullname << endmsg; - return StatusCode::FAILURE; - } -#endif - - // check if this prox/function pair already registered std::pair<pmITR,pmITR> fitr = m_proxyMap.equal_range( dp ); diff --git a/Control/IOVSvc/test/IOVSvc_test.cxx b/Control/IOVSvc/test/IOVSvc_test.cxx new file mode 100644 index 00000000000..059fd75c1af --- /dev/null +++ b/Control/IOVSvc/test/IOVSvc_test.cxx @@ -0,0 +1,352 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file IOVSvc/test/IOVSvc_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Some tests for IOVSvc. Not complete! + */ + + +#undef NDEBUG +#include "TestTools/initGaudi.h" +#include "StoreGate/StoreGateSvc.h" +#include "SGTools/DataProxy.h" +#include "AthenaKernel/IIOVSvc.h" +#include "AthenaKernel/IIOVDbSvc.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/CondCont.h" +#include "AthenaKernel/IAddressProvider.h" +#include "AthenaKernel/IOVTime.h" +#include "AthenaKernel/IOVRange.h" +#include "AthenaKernel/StorableConversions.h" +#include "GaudiKernel/ServiceHandle.h" +#include "GaudiKernel/IOpaqueAddress.h" +#include <sstream> +#include <cassert> +#include <iostream> + + +class Payload +{ +public: + Payload (int x) : m_x (x) {} + int m_x; +}; + +CLASS_DEF(Payload, 932847540, 0) +CLASS_DEF(CondCont<Payload>, 932847546, 0) + + +class TestRCUSvc + : public Athena::IRCUSvc +{ +public: + virtual StatusCode remove (Athena::IRCUObject* /*obj*/) override + { + return StatusCode::SUCCESS; + } + virtual size_t getNumSlots() const override + { return 1; } + virtual void add (Athena::IRCUObject* /*obj*/) override + { } + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); } +}; + + +class TestAddress + : public IOpaqueAddress +{ +public: + TestAddress (int); + DataObject* dobj(); + + virtual unsigned long addRef() override + { std::abort(); } + virtual unsigned long release() override + { std::abort(); } + virtual const CLID& clID() const override + { std::abort(); } + virtual long svcType() const override + { std::abort(); } + virtual IRegistry* registry() const override + { std::abort(); } + virtual void setRegistry( IRegistry* /*r*/ ) override + { std::abort(); } + virtual const std::string* par() const override + { std::abort(); } + virtual const unsigned long* ipar() const override + { std::abort(); } + + +private: + DataObject* m_dobj; +}; + + +TestAddress::TestAddress (int x) +{ + Payload* payload = new Payload (x); + m_dobj = SG::asStorable (payload); +} + + +DataObject* TestAddress::dobj() +{ + return m_dobj; +} + + +class TestLoader + : public IConverter +{ +public: + virtual StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override; + + virtual unsigned long addRef() override { return 1; } + virtual unsigned long release() override { return 1; } + virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); } + + virtual StatusCode initialize() override + { std::abort(); } + virtual StatusCode finalize() override + { std::abort(); } + virtual const CLID& objType() const override + { std::abort(); } + virtual long repSvcType() const override + { std::abort(); } + virtual StatusCode setDataProvider( IDataProviderSvc* /*pService*/ ) override + { std::abort(); } + virtual SmartIF<IDataProviderSvc>& dataProvider() const override + { std::abort(); } + virtual StatusCode setConversionSvc( IConversionSvc* /*pService*/ ) override + { std::abort(); } + virtual SmartIF<IConversionSvc>& conversionSvc() const override + { std::abort(); } + virtual StatusCode setAddressCreator( IAddressCreator* /*creator*/ ) override + { std::abort(); } + virtual SmartIF<IAddressCreator>& addressCreator() const override + { std::abort(); } + virtual StatusCode fillObjRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateObj( IOpaqueAddress* /*pAddress*/, DataObject* /*refpObject*/ ) override + { std::abort(); } + virtual StatusCode updateObjRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode createRep( DataObject* /*pObject*/, IOpaqueAddress*& /*refpAddress*/ ) override + { std::abort(); } + virtual StatusCode fillRepRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateRep( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateRepRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } +}; + + +StatusCode TestLoader::createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) +{ + if (TestAddress* addr = dynamic_cast<TestAddress*> (pAddress)) { + refpObject = addr->dobj(); + return StatusCode::SUCCESS; + } + return StatusCode::FAILURE; +} + + +class TestDBSvc + : public IAddressProvider, public IIOVDbSvc +{ +public: + TestDBSvc(); + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface( const InterfaceID& /*ti*/, void** /*pp*/ ) override + { std::abort(); } + + virtual StatusCode updateAddress(StoreID::type /*storeID*/, + SG::TransientAddress* /*pTAd*/, + const EventContext& /*ctx*/) override + { std::abort(); } + + virtual StatusCode getRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVTime& /*time*/, + IOVRange& /*range*/, + std::string& /*tag*/, + IOpaqueAddress*& /*ioa*/) override; + + virtual StatusCode setRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVRange& /*range*/, + const std::string& /*tag*/ ) override + { std::abort(); } + + virtual StatusCode signalBeginRun(const IOVTime& /*beginRunTime*/, + const EventContext& /*ctx*/) override + { std::abort(); } + + virtual void signalEndProxyPreload() override + { std::abort(); } + + virtual StatusCode registerTagInfoCallback() override + { std::abort(); } + + virtual std::vector<std::string> getKeyList() override + { std::abort(); } + + virtual bool getKeyInfo(const std::string& /*key*/, std::string& /*foldername*/, + std::string& /*tag*/, IOVRange& /*range*/, bool& /*retrieved*/, + unsigned long long& /*bytesRead*/, float& /*readTime*/) override + { std::abort(); } + + virtual bool dropObject(const std::string& /*key*/, + const bool /*resetCache*/=false) override + { std::abort(); } + + +private: + std::unique_ptr<IOpaqueAddress> m_addr1; + std::unique_ptr<IOpaqueAddress> m_addr2; + std::unique_ptr<IOpaqueAddress> m_addr3; +}; + + +TestDBSvc::TestDBSvc() + : m_addr1 (std::make_unique<TestAddress> (1)), + m_addr2 (std::make_unique<TestAddress> (2)), + m_addr3 (std::make_unique<TestAddress> (3)) +{ +} + + +StatusCode TestDBSvc::getRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVTime& time, + IOVRange& range, + std::string& /*tag*/, + IOpaqueAddress*& ioa) +{ + uint32_t lbn = time.event(); + + if (lbn >= 10 && lbn < 20) { + range = IOVRange (IOVTime (10, 10), IOVTime (10, 20)); + ioa = m_addr1.get(); + return StatusCode::SUCCESS; + } + + if (lbn >= 30 && lbn < 40) { + range = IOVRange (IOVTime (10, 30), IOVTime (10, lbn+1)); + ioa = m_addr2.get(); + return StatusCode::SUCCESS; + } + + if (lbn >= 50) { + range = IOVRange (IOVTime (10, 50), + IOVTime (10, IOVTime::MAXEVENT)); + ioa = m_addr3.get(); + return StatusCode::SUCCESS; + } + + return StatusCode::FAILURE; +} + + +std::string dump_cc (const CondCont<Payload>& cc) +{ + std::ostringstream ss; + for (const EventIDRange& r : cc.ranges()) { + const Payload* p = nullptr; + assert (cc.find (r.start(), p)); + ss << r << " [" << p->m_x << "]\n"; + } + return ss.str(); +} + + +// Testing extending containers. +void test1 (TestRCUSvc& rcusvc, StoreGateSvc& detStore, IIOVSvc& iovsvc) +{ + std::cout << "test1\n"; + + TestLoader testLoader; + DataObjID id (ClassID_traits<Payload>::ID(), "key"); + SG::DataProxy* proxy = new SG::DataProxy + (SG::TransientAddress (id.clid(), id.key()), &testLoader); + assert( detStore.addToStore (id.clid(), proxy).isSuccess() ); + + TestDBSvc testDBSvc; + proxy->setProvider (&testDBSvc, StoreID::EVENT_STORE); + + assert (iovsvc.regProxy(proxy, id.key()).isSuccess()); + + CondCont<Payload> ccb (rcusvc, id, proxy); + + EventIDBase now; + now.set_run_number (10); + now.set_lumi_block (15); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (17); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (25); + assert( iovsvc.createCondObj (&ccb, id, now).isFailure() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (32); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:33]} [2]\n"); + + now.set_lumi_block (36); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n"); + + now.set_lumi_block (34); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n"); + + now.set_lumi_block (55); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n" + "{[10,l:50] - [INVALID]} [3]\n"); + + now.set_lumi_block (1000); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n" + "{[10,l:50] - [INVALID]} [3]\n"); + + //std::cout << dump_cc (ccb); +} + + +int main() +{ + std::cout << "IOVSvc_test\n"; + ISvcLocator* svcLoc; + if (!Athena_test::initGaudi("IOVSvc_test.txt", svcLoc)) + return 1; + + ServiceHandle<IIOVSvc> iovsvc ("IOVSvc", "test"); + if (iovsvc.retrieve().isFailure()) return 1; + + ServiceHandle<StoreGateSvc> detStore ("DetectorStore", "test"); + if (detStore.retrieve().isFailure()) return 1; + + TestRCUSvc rcusvc; + test1 (rcusvc, *detStore.get(), *iovsvc.get()); + + return 0; +} -- GitLab From 6f0771ac14f9c47033cd9b151577e95ce2e16a1a Mon Sep 17 00:00:00 2001 From: amorley <anthony.morley@cern.ch> Date: Wed, 7 Nov 2018 16:20:59 +0100 Subject: [PATCH 153/209] Change matrix inversion in GX2Fitter to avoid using BLAS --- .../src/GlobalChi2Fitter.cxx | 60 ++++++++++--------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index a4b3efabfe3..b925d9264cc 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -4635,20 +4635,31 @@ public: cache.m_ainv.ResizeTo(cache.m_a.GetNcols(), cache.m_a.GetNcols()); double *myarray = cache.m_a.GetMatrixArray(); double *myarrayinv = cache.m_ainv.GetMatrixArray(); - AlSymMat weight(cache.m_a.GetNcols()); + + Amg::MatrixX weightAMG(cache.m_a.GetNcols(), cache.m_a.GetNcols()); + Amg::MatrixX weightInvAMG = Amg::MatrixX::Identity(cache.m_a.GetNcols(), cache.m_a.GetNcols()); for (int i = 0; i < cache.m_a.GetNcols(); ++i) { for (int j = 0; j <= i; ++j) { - weight[i][j] = myarray[i * cache.m_a.GetNcols() + j]; + weightAMG(i,j) = weightAMG(j,i) = myarray[i * cache.m_a.GetNcols() + j]; } } - int ok = weight.invert(); - for (int i = 0; i < cache.m_a.GetNcols(); ++i) { - for (int j = 0; j <= i; ++j) { - myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weight[i][j]; + + + + // Solve assuming the matrix is SPD. + // Cholesky Decomposition is used + if(weightAMG.determinant() !=0 ) + { + // Solve for x where Wx = I + // this is cheaper than invert as invert makes no assumptions about the + // matrix being symmetric + weightInvAMG = weightAMG.llt().solve(weightInvAMG); + for (int i = 0; i < cache.m_a.GetNcols(); ++i) { + for (int j = 0; j <= i; ++j) { + myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weightInvAMG(i,j); + } } - } - // bool ok=lu.Invert(ainv); - if (ok) { + } else { ATH_MSG_DEBUG ("matrix inversion failed!"); m_matrixinvfailed++; cache.m_fittercode = FitterStatusCode::MatrixInversionFailure; @@ -7326,9 +7337,8 @@ public: // Calculate track errors at each state, except scatterers and brems // - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "CalculateTrackErrors" << endmsg; - } + + ATH_MSG_DEBUG( "CalculateTrackErrors" ); std::vector<GXFTrackState *> &states = trajectory.trackStates(); int nstatesupstream = trajectory.numberOfUpstreamStates(); @@ -7530,18 +7540,12 @@ public: }; const AmgVector(5) &vec = tmpprevpar->parameters(); - bool cylsurf = true; - if( surf->type() == Trk::Surface::Cylinder ) - cylsurf = true; - bool discsurf = false; - if( surf->type() == Trk::Surface::Cylinder ) - discsurf = true; - bool thiscylsurf = false; - if( tmpprevpar->associatedSurface().type() == Trk::Surface::Cylinder ) - thiscylsurf = true; - bool thisdiscsurf = false; - if( tmpprevpar->associatedSurface().type() == Trk::Surface::Disc ) - thisdiscsurf = true; + + bool cylsurf = surf->type() == Trk::Surface::Cylinder; + bool discsurf = surf->type() == Trk::Surface::Disc; + const Surface& previousSurface = tmpprevpar->associatedSurface(); + bool thiscylsurf = previousSurface.type() == Trk::Surface::Cylinder; + bool thisdiscsurf = previousSurface.type() == Trk::Surface::Disc; for (int i = 0; i < 5; i++) { AmgVector(5) vecpluseps = vec, vecminuseps = vec; @@ -7553,11 +7557,11 @@ public: vecpluseps[paraccessor.pardef[i]] += eps[i]; vecminuseps[paraccessor.pardef[i]] -= eps[i]; if (thiscylsurf && i == 0) { - if (vecpluseps[0] / tmpprevpar->associatedSurface().bounds().r() > M_PI) { - vecpluseps[0] -= 2 * M_PI * tmpprevpar->associatedSurface().bounds().r(); + if (vecpluseps[0] / previousSurface.bounds().r() > M_PI) { + vecpluseps[0] -= 2 * M_PI * previousSurface.bounds().r(); } - if (vecminuseps[0] / tmpprevpar->associatedSurface().bounds().r() < -M_PI) { - vecminuseps[0] += 2 * M_PI * tmpprevpar->associatedSurface().bounds().r(); + if (vecminuseps[0] / previousSurface.bounds().r() < -M_PI) { + vecminuseps[0] += 2 * M_PI * previousSurface.bounds().r(); } } if (thisdiscsurf && i == 1) { -- GitLab From 4333340b84bf3a453ef8195aeb902cbab9a796d8 Mon Sep 17 00:00:00 2001 From: amorley <anthony.morley@cern.ch> Date: Wed, 7 Nov 2018 16:29:32 +0100 Subject: [PATCH 154/209] Change matrix inversion in GX2Fitter to avoid using BLAS --- .../TrkGlobalChi2Fitter/CMakeLists.txt | 4 +-- .../src/GlobalChi2Fitter.cxx | 30 +++++++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt b/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt index cc7803ee65f..b7b892db7d0 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt @@ -19,7 +19,6 @@ atlas_depends_on_subdirs( PUBLIC DetectorDescription/IdDictDetDescr Event/EventPrimitives MagneticField/MagFieldInterfaces - Tracking/TrkAlignment/TrkAlgebraUtils Tracking/TrkDetDescr/TrkDetDescrInterfaces Tracking/TrkDetDescr/TrkGeometry Tracking/TrkDetDescr/TrkSurfaces @@ -44,8 +43,7 @@ atlas_add_component( TrkGlobalChi2Fitter src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps GaudiKernel TrkEventPrimitives TrkMaterialOnTrack TrkParameters TrkFitterInterfaces TrkFitterUtils AtlasDetDescr IdDictDetDescr EventPrimitives MagFieldInterfaces TrkAlgebraUtils TrkDetDescrInterfaces TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkTrack TrkVertexOnTrack TrkExInterfaces TrkExUtils TrkToolInterfaces ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps GaudiKernel TrkEventPrimitives TrkMaterialOnTrack TrkParameters TrkFitterInterfaces TrkFitterUtils AtlasDetDescr IdDictDetDescr EventPrimitives MagFieldInterfaces TrkDetDescrInterfaces TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkTrack TrkVertexOnTrack TrkExInterfaces TrkExUtils TrkToolInterfaces ) # Install files from the package: atlas_install_headers( TrkGlobalChi2Fitter ) - diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index b925d9264cc..e5280850c53 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -72,7 +72,6 @@ #include "IdDictDetDescr/IdDictManager.h" #include "TDecompChol.h" -#include "TrkAlgebraUtils/AlSymMat.h" #include "EventPrimitives/EventPrimitivesToStringConverter.h" #include <exception> @@ -4644,8 +4643,6 @@ public: } } - - // Solve assuming the matrix is SPD. // Cholesky Decomposition is used if(weightAMG.determinant() !=0 ) @@ -6327,21 +6324,28 @@ public: } double *myarray = a.GetMatrixArray(); double *myarrayinv = fullcov.GetMatrixArray(); - AlSymMat weight(a.GetNcols()); + Amg::MatrixX weightAMG(a.GetNcols(), a.GetNcols()); + Amg::MatrixX weightInvAMG = Amg::MatrixX::Identity(a.GetNcols(), a.GetNcols()); for (int i = 0; i < a.GetNcols(); ++i) { for (int j = 0; j <= i; ++j) { - weight[i][j] = myarray[i * a.GetNcols() + j]; - } - } - int ok = weight.invert(); - for (int i = 0; i < a.GetNcols(); ++i) { - for (int j = 0; j <= i; ++j) { - myarrayinv[i * a.GetNcols() + j] = myarrayinv[j * a.GetNcols() + i] = weight[i][j]; + weightAMG(i,j) = weightAMG(j,i) = myarray[i * a.GetNcols() + j]; } } - // bool ok=newlu.Invert(fullcov); - if (ok) { + // Solve assuming the matrix is SPD. + // Cholesky Decomposition is used + if(weightAMG.determinant() !=0 ) + { + // Solve for x where Wx = I + // this is cheaper than invert as invert makes no assumptions about the + // matrix being symmetric + weightInvAMG = weightAMG.llt().solve(weightInvAMG); + for (int i = 0; i < cache.m_a.GetNcols(); ++i) { + for (int j = 0; j <= i; ++j) { + myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weightInvAMG(i,j); + } + } + } else { ATH_MSG_DEBUG( "matrix inversion failed!" ); m_matrixinvfailed++; cache.m_fittercode = FitterStatusCode::MatrixInversionFailure; -- GitLab From a0eff5fb47bd68af8e6e1219ad5ede8aa69d805a Mon Sep 17 00:00:00 2001 From: Julie Kirk <Julie.Kirk@cern.ch> Date: Wed, 7 Nov 2018 17:02:35 +0100 Subject: [PATCH 155/209] Change default menu to "Physics_pp_v7_primaries" for TriggerTest tests modified: Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh modified: Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh modified: Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh modified: Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh --- .../TriggerTest/test/exec_athena_art_trigger_validation.sh | 2 +- .../TrigValidation/TriggerTest/test/test_slice_minbias_build.sh | 2 +- .../TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh | 2 +- .../TriggerTest/test/test_slice_minbias_hmt_grid.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh index f241b22485f..86934acf209 100755 --- a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh +++ b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh @@ -5,7 +5,7 @@ echo $(date "+%FT%H:%M %Z")" Execute Athena test ${NAME}" ### DEFAULTS if [ -z ${MENU} ]; then - export MENU="MC_pp_v7_tightperf_mc_prescale" + export MENU="Physics_pp_v7_primaries" fi if [ -z ${EVENTS} ]; then diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh index 2884934e529..c5c19166152 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_build" export SLICE="minbias" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export EVENTS="10" export INPUT="minbias" export COST_MONITORING="False" diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh index 39486bde693..a5d353f1089 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_grid" export SLICE="minbias" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export INPUT="minbias" source exec_athena_art_trigger_validation.sh diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh index ad0491c3eed..78dbdc4feb4 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_hmt_grid" export SLICE="minbiasEnhanced" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export EVENTS="50" export COST_MONITORING="False" -- GitLab From c5a9b2dfb1f413dde09b39661dfb3c836db1ed40 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 19:25:22 +0100 Subject: [PATCH 156/209] TileEvent: Comply with ATLAS naming conventions. Identifiers should not start with underscores. --- .../TileEvent/TileBeamElemCollection.h | 4 +- .../TileEvent/TileEvent/TileCellCollection.h | 4 +- .../TileEvent/TileEvent/TileContainer.h | 14 +++--- .../TileEvent/TileEvent/TileContainer.icc | 12 ++--- .../TileEvent/TileDigitsCollection.h | 2 +- .../TileEvent/TileEvent/TileHitCollection.h | 2 +- .../TileEvent/TileEvent/TileLogicalOrdering.h | 6 +-- .../TileEvent/TileMutableDataContainer.h | 2 +- .../TileEvent/TileRawChannelCollection.h | 2 +- .../TileEvent/TileRawDataCollection.h | 24 +++++----- .../TileEvent/TileRawDataCollection.icc | 26 +++++------ .../TileEvent/TileRawDataContainer.h | 24 +++++----- .../TileEvent/TileRawDataContainer.icc | 46 +++++++++---------- .../TileEvent/TileRawDataNonConstContainer.h | 4 +- .../test/TileMutableDataContainer_test.cxx | 2 +- 15 files changed, 87 insertions(+), 87 deletions(-) diff --git a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h index f3121f70f91..353d4998ba7 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileBeamElemCollection_H @@ -15,7 +15,7 @@ public: typedef TileRawDataCollection<TileBeamElem> MyBase; typedef MyBase::ID ID; - typedef TileBeamElem _TElement; + typedef TileBeamElem TElement; TileBeamElemCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy) { } diff --git a/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h index 4f78ef63f6d..52658f2e005 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileCellCollection_H @@ -14,7 +14,7 @@ public: typedef TileRawDataCollection<TileCell> MyBase; typedef MyBase::ID ID; - typedef TileCell _TElement; + typedef TileCell TElement; // ATTENTION !!! // TileCollection is not owner of TileCells by default !!! diff --git a/TileCalorimeter/TileEvent/TileEvent/TileContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileContainer.h index b1e895812f1..033c513fecf 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** @@ -33,27 +33,27 @@ #include "TileEvent/TileMuonReceiverObj.h" #include <string> -template <typename _TElement> -class TileContainer: public DataVector<_TElement> +template <typename TELEMENT> +class TileContainer: public DataVector<TELEMENT> { public: - typedef DataVector<_TElement> MyVector; + typedef DataVector<TELEMENT> MyVector; typedef typename MyVector::const_iterator my_const_iterator ; // constructor - TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : DataVector < _TElement > (ownPolicy) { } + TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : DataVector < TELEMENT > (ownPolicy) { } // destructor virtual ~TileContainer() { } // insert a Tile element into a collection. - inline void add (_TElement* rc) { MyVector::push_back(rc); } + inline void add (TELEMENT* rc) { MyVector::push_back(rc); } // print all the channels virtual void print() const; virtual operator std::string () const; - std::string whoami (void) const { _TElement elem; + std::string whoami (void) const { TELEMENT elem; return "TileContainer of "+elem.whoami(); } private: diff --git a/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc index f43a3d09dc5..aafd22ef401 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileContainer @@ -8,14 +8,14 @@ #include <sstream> #include <iomanip> -template <typename _TElement> -void TileContainer<_TElement>::print() const +template <typename TELEMENT> +void TileContainer<TELEMENT>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TElement> -TileContainer<_TElement>::operator std::string() const +template <typename TELEMENT> +TileContainer<TELEMENT>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -28,7 +28,7 @@ TileContainer<_TElement>::operator std::string() const my_const_iterator it1 = this->begin(); my_const_iterator it2 = this->end(); - const _TElement * elem; + const TELEMENT * elem; for(;it1!=it2;++it1){ elem = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h index 2a041daac7b..438793223cd 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h @@ -21,7 +21,7 @@ public: typedef TileRawDataCollection<TileDigits> MyBase; typedef MyBase::ID ID; - typedef TileDigits _TElement; + typedef TileDigits TElement; TileDigitsCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy), m_FragSize(0), m_FragBCID(0) { m_FragExtraWords.resize(2); } diff --git a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h index d714fa1dd7c..9411ad69dc6 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h @@ -15,7 +15,7 @@ public: typedef TileRawDataCollection<TileHit> MyBase; typedef MyBase::ID ID; - typedef TileHit _TElement; + typedef TileHit TElement; TileHitCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy) { } diff --git a/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h b/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h index 4e388c8132a..24a4da39fdf 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILEEVENT_TILERAWDATAORDERING_H @@ -12,7 +12,7 @@ * @version 0-0-2 , Jan 30, 2003 */ -template <class _TElement> +template <class TELEMENT> class TileLogicalOrdering { @@ -23,7 +23,7 @@ class TileLogicalOrdering /** Operator for sorting */ - bool operator () (const _TElement* ch1, const _TElement* ch2) + bool operator () (const TELEMENT* ch1, const TELEMENT* ch2) { return ( ch1->identify() < ch2->identify() ); } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h index bd2d1413b02..2e2adae3cde 100644 --- a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h @@ -53,7 +53,7 @@ public: typedef typename BASE::TYPE TYPE; typedef typename BASE::UNIT UNIT; typedef typename BASE::IDENTIFIABLE Collection; - typedef typename BASE::_TElement Element; + typedef typename BASE::TElement Element; /** diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h index 63211d37227..48880bda965 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h @@ -15,7 +15,7 @@ public: typedef TileRawDataCollection<TileRawChannel> MyBase; typedef MyBase::ID ID; - typedef TileRawChannel _TElement; + typedef TileRawChannel TElement; TileRawChannelCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy), diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h index cb785a1fb6a..64301b013e8 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** @@ -32,29 +32,29 @@ #include <map> #include <inttypes.h> -template <typename _TElement> class TileRawDataCollection - : public DataVector<_TElement> +template <typename TELEMENT> class TileRawDataCollection + : public DataVector<TELEMENT> { public: - typedef typename TileRawDataCollection<_TElement>::const_iterator TCollection_const_iterator ; + typedef typename TileRawDataCollection<TELEMENT>::const_iterator TCollection_const_iterator ; // required for a Digit Collection typedef int ID; typedef Identifier TT_ID; - typedef _TElement DIGIT; - typedef _TElement OBJECT; + typedef TELEMENT DIGIT; + typedef TELEMENT OBJECT; // construct a container for a given super-drawer (fragment) - TileRawDataCollection<_TElement> ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) - : DataVector <_TElement> (ownPolicy), + TileRawDataCollection<TELEMENT> ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + : DataVector <TELEMENT> (ownPolicy), m_id(id), m_lvl1Id(0), m_lvl1Type(0), m_detEvType(0), m_rodBCID(0) { this->reserve(48); } - TileRawDataCollection<_TElement> ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) - : DataVector < _TElement > (ownPolicy), + TileRawDataCollection<TELEMENT> ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + : DataVector < TELEMENT > (ownPolicy), m_id(0), m_lvl1Id(0), m_lvl1Type(0), m_detEvType(0), m_rodBCID(0) { this->reserve(48); } // destructor - virtual ~TileRawDataCollection<_TElement> () { } + virtual ~TileRawDataCollection<TELEMENT> () { } // clear everything for next event virtual void clear (); @@ -71,7 +71,7 @@ template <typename _TElement> class TileRawDataCollection // print all the Channels virtual void print() const; virtual operator std::string () const; - virtual std::string whoami (void) const { _TElement elem; + virtual std::string whoami (void) const { TELEMENT elem; return "TileRawDataCollection of "+elem.whoami(); } /** Setter for level1 id from ROD header */ diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc index 303a2311314..a9a9a44aeb8 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileRawDataCollection @@ -10,16 +10,16 @@ /* // -template <typename _TElement> -void TileRawDataCollection<_TElement>::setTT(const TT_ID& id, +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::setTT(const TT_ID& id, TCollection_const_iterator b, TCollection_const_iterator e) { m_Map[id] = ITPAIR(b,e); return ; } -template <typename _TElement> -void TileRawDataCollection<_TElement>::getTT(const TT_ID& id, +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::getTT(const TT_ID& id, TCollection_const_iterator& b, TCollection_const_iterator& e) const { ID_IT_MAP_ITER itPair = m_Map.find(id); @@ -40,25 +40,25 @@ void TileRawDataCollection<_TElement>::getTT(const TT_ID& id, } */ -template <typename _TElement> -void TileRawDataCollection<_TElement>::clear() +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::clear() { m_lvl1Id = 0; m_lvl1Type = 0; m_detEvType = 0; m_rodBCID = 0; - DataVector<_TElement>::clear(); + DataVector<TELEMENT>::clear(); } -template <typename _TElement> -void TileRawDataCollection<_TElement>::print() const +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TElement> -TileRawDataCollection<_TElement>::operator std::string() const +template <typename TELEMENT> +TileRawDataCollection<TELEMENT>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -72,7 +72,7 @@ TileRawDataCollection<_TElement>::operator std::string() const TCollection_const_iterator it1 = this->begin(); TCollection_const_iterator it2 = this->end(); - const _TElement * elem; + const TELEMENT * elem; for(;it1!=it2;++it1){ elem = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h index 83697ef25da..b24a91400d4 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h @@ -29,16 +29,16 @@ #include <string> #include <inttypes.h> -template <typename _TCollection> class TileRawDataContainer - : public IdentifiableContainer<_TCollection> +template <typename TCOLLECTION> class TileRawDataContainer + : public IdentifiableContainer<TCOLLECTION> { public: - typedef typename _TCollection::_TElement _TElement; - typedef typename TileRawDataContainer<_TCollection>::const_iterator TContainer_const_iterator ; - typedef typename _TCollection::TCollection_const_iterator TCollection_const_iterator ; + typedef typename TCOLLECTION::TElement TElement; + typedef typename TileRawDataContainer<TCOLLECTION>::const_iterator TContainer_const_iterator ; + typedef typename TCOLLECTION::TCollection_const_iterator TCollection_const_iterator ; - typedef IdentifiableContainer<_TCollection> MyBase; + typedef IdentifiableContainer<TCOLLECTION> MyBase; typedef TileFragHash::TYPE TYPE; typedef TileRawChannelUnit::UNIT UNIT; @@ -61,8 +61,8 @@ public: // insert a TileRawData element into a collection. // this is only to be used by Algorithm-builder - void add (_TElement* rc, bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS); - inline void push_back(_TElement* rc) { add(rc,true); } + void add (TElement* rc, bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS); + inline void push_back(TElement* rc) { add(rc,true); } inline TYPE get_hashType() const { return this->m_hashFunc.type(); } inline UNIT get_unit() const { return this->m_unit; } inline void set_unit(UNIT unit) { m_unit=unit; } @@ -75,7 +75,7 @@ public: // print all the Collections virtual void print() const; virtual operator std::string () const; - virtual std::string whoami (void) const { _TCollection coll; + virtual std::string whoami (void) const { TCOLLECTION coll; return "TileRawDataContainer of "+coll.whoami(); } private: @@ -90,14 +90,14 @@ private: // Persistent representation of TileRawDataContainer for POOL -template <typename _TCollection> class TileRawDataCollectionVec - : public DataVector<_TCollection> +template <typename TCOLLECTION> class TileRawDataCollectionVec + : public DataVector<TCOLLECTION> { public: TileRawDataCollectionVec() - : DataVector<_TCollection>(SG::VIEW_ELEMENTS) + : DataVector<TCOLLECTION>(SG::VIEW_ELEMENTS) , m_type(TileFragHash::Default) //, m_unit(TileRawChannelUnit::ADCcounts) { } diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc index a2052bd4977..9bd9a408828 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileRawDataContainer @@ -14,8 +14,8 @@ #include <sstream> #include <iomanip> -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::initialize(bool createColl, TYPE type, SG::OwnershipPolicy ownPolicy) { // initialize HashFunc @@ -25,7 +25,7 @@ void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, int ncoll = this->m_hashFunc.max(); for(int i=0; i<ncoll;++i){ TileFragHash::ID frag = this->m_hashFunc.identifier(i); - _TCollection * coll = new _TCollection(frag,ownPolicy) ; + TCOLLECTION * coll = new TCOLLECTION(frag,ownPolicy) ; StatusCode sc = this->addCollection(coll,static_cast<IdentifierHash>(i)); if (sc.isFailure() ) { ISvcLocator* svcLoc = Gaudi::svcLocator( ); @@ -47,8 +47,8 @@ void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, return; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::TileRawDataContainer(bool createColl, TYPE type, UNIT unit, SG::OwnershipPolicy ownPolicy) @@ -62,8 +62,8 @@ TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, return; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::TileRawDataContainer(bool createColl, SG::OwnershipPolicy ownPolicy) : MyBase(TileCablingService::getInstance()->getTileHWID()->drawer_hash_max()) , m_unit(TileRawChannelUnit::ADCcounts) @@ -75,23 +75,23 @@ TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, return; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::clear() +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::clear() { TContainer_const_iterator it1 = this->begin(); TContainer_const_iterator it2 = this->end(); for(;it1!=it2;++it1){ - const _TCollection * const_coll = *it1; - _TCollection * coll = const_cast<_TCollection *>(const_coll); + const TCOLLECTION * const_coll = *it1; + TCOLLECTION * coll = const_cast<TCOLLECTION *>(const_coll); coll->clear(); } return; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::add(TElement* rc, bool createColl, SG::OwnershipPolicy ownPolicy) { if (this->m_hashFunc.max() == 0 && TileCablingService::getInstance()->getTileHWID() != 0) { @@ -104,7 +104,7 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, // return ; //} - _TCollection * coll; + TCOLLECTION * coll; int frag = rc->frag_ID(); IdentifierHash fragHash = static_cast<IdentifierHash>(m_hashFunc(frag)); @@ -120,7 +120,7 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, if (createColl) { - coll = new _TCollection(frag,ownPolicy); + coll = new TCOLLECTION(frag,ownPolicy); StatusCode sc = this->addCollection(coll,fragHash); if (sc.isFailure() ) { @@ -159,22 +159,22 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, } } else { // collection exists - const _TCollection * const_coll = *it; - coll = const_cast<_TCollection *>(const_coll); + const TCOLLECTION * const_coll = *it; + coll = const_cast<TCOLLECTION *>(const_coll); } coll->push_back(rc); return ; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::print() const +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::operator std::string() const +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -187,7 +187,7 @@ TileRawDataContainer<_TCollection>::operator std::string() const TContainer_const_iterator it1 = this->begin(); TContainer_const_iterator it2 = this->end(); - const _TCollection * coll; + const TCOLLECTION * coll; for(;it1!=it2;++it1){ coll = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h index 364b19b9db7..29568f9103c 100644 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -32,7 +32,7 @@ template <typename COLLECTION> class TileRawDataNonConstContainer { public: - typedef typename COLLECTION::_TElement element_t; + typedef typename COLLECTION::TElement element_t; TileRawDataNonConstContainer (SG::OwnershipPolicy ownPolicy); void push_back (element_t* rc); diff --git a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx index a892deae3b2..03e136274e3 100644 --- a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx +++ b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx @@ -68,7 +68,7 @@ class TestCollection : public TileRawDataCollection<TestElement> { public: - typedef TestElement _TElement; + typedef TestElement TElement; using TileRawDataCollection<TestElement>::TileRawDataCollection; }; -- GitLab From 806825294b5df121673c2a2dc78a5519e036e565 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 19:28:26 +0100 Subject: [PATCH 157/209] CaloEvent: Clang fix. The previous root workaround change causes a problem with clang, which doesn't seem to properly implement __attribute__((used)) for destructors. For clang, move the destructor completely out-of-line. (Trying to remove the destructor entirely resulted in a mysterious crash in TClass...). --- Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h | 6 +++++- Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h index 1a665a806a1..90c9f62b172 100644 --- a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h +++ b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef CALOEVENT_CALOCLUSTERMOMENTSTORE_H @@ -59,7 +59,11 @@ class CaloClusterMomentStore CaloClusterMomentIterator(moment_store_const_iter iStore) ATH_CLING_BODY (: m_actual(iStore) { } ) /*! \brief Destructor */ +#ifdef __clang__ + ~CaloClusterMomentIterator(); +#else ~CaloClusterMomentIterator() ATH_CLING_BODY( { } ) +#endif /*! \brief Iterator advance method */ CaloClusterMomentIterator next() diff --git a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx index 9e7a4e7374e..be405ef58c7 100644 --- a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx +++ b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -68,3 +68,8 @@ bool CaloClusterMomentStore::retrieveMomentTypes(moment_type_list& } return oldSize < rMomList.size(); } + + +#ifdef __clang__ +CaloClusterMomentStore::CaloClusterMomentIterator::~CaloClusterMomentIterator() {} +#endif -- GitLab From 9a28a2a353e71f4d42d8fecec28161feb8fb475e Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 7 Nov 2018 17:25:09 +0100 Subject: [PATCH 158/209] Update packages:TrigAnalysisExamples TrigAnalysisInterfaces TrigBunchCrossingTool TrigDecisionMaker TrigDecisionTool TriggerMatchingTool TrigJiveXML TrigObjectMatching TrigRootAnalysis from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../src/TrigAnalysisExApp.cxx | 156 ++++++++++++++++++ .../src/TriggerAnalysisHelper.cxx | 6 +- .../src/TriggerAnalysisHelper.h | 7 +- .../src/TriggerAnalysisTutorial.cxx | 4 +- .../src/TriggerAnalysisTutorial.h | 3 +- 5 files changed, 167 insertions(+), 9 deletions(-) create mode 100644 Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx new file mode 100644 index 00000000000..2faa81ae7f2 --- /dev/null +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx @@ -0,0 +1,156 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/* + * TrigAnalysisApp.cxx + * 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * Simple TEvent application for trigger analysis + * Original implementation provided by W. Buttinger + */ + +#ifndef TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H +#define TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H 1 + + +#include "AthAnalysisBaseComps/AthAnalysisHelper.h" //tool creation and configuration +#include "POOLRootAccess/TEvent.h" //event looping +#include "GaudiKernel/ToolHandle.h" //for better working with tools + +#include "TrigDecisionTool/TrigDecisionTool.h" + +//ROOT includes +#include "TString.h" +#include "TSystem.h" + +#include <iostream> + + +int main() { + + IAppMgrUI* app = POOL::Init("POOLRootAccess/basic.opts"); //important to do this first, for MessageSvc to exist properly + + // Open the input file: + TString fileName = "/afs/cern.ch/atlas/project/PAT/xAODs/r8565/valid2.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.recon.AOD.e4993_s2887_r8565/AOD.09534072._000257.pool.root.1"; + + ToolHandle<Trig::TrigDecisionTool> tdt("Trig::TrigDecisionTool/TrigDecisionTool"); +#ifndef XAOD_ANALYSIS + //only need to set this property if using a FULL offline release (not analysis release) + std::vector<std::string> EDMLibraries = { "TrigSteeringEvent", "TrigMuonEvent", + "TrigBphysicsEvent", "TrigCaloEvent", + "TrigInDetEvent", + "TrigParticle", "TrigMissingEtEvent", + "TrigDecisionEvent", "TrigMonitoringEvent", + "TrigTopoEvent" , "TrigCombinedEvent", + "TrigMonitoringEventTPCnv", "RecTPCnv", + "TrigCaloEventTPCnv", + "TrigDecisionEventTPCnv", "TrigInDetEventTPCnv", + "TrigMissingEtEventTPCnv", "TrigMuonEventTPCnv", + "TrigParticleTPCnv", "TrigSteeringEventTPCnv", + "TrigTopoEventTPCnv", "TrigCombinedEventTPCnv", + "tauEventTPCnvDict", "RecTPCnvDict", + "TrigMonitoringEventTPCnvDict", + "OLD_RecTPCnvDict", + "TrigCosmicEvent", + "xAODCaloEvent", "xAODEgamma", "xAODTracking", "xAODMuon", "xAODTau", "xAODJet", + "xAODTrigBphys", "xAODTrigMissingET", "xAODTrigEgamma", "xAODTrigMuon", "xAODTrigCalo", + "xAODTrigMinBias", "xAODBTagging", "xAODTrigRinger", + "xAODHIEvent", + "xAODCaloEventDict", "xAODEgammaDict", "xAODTrackingDict", "xAODMuonDict", "xAODTauDict", "xAODJetDict", + "xAODTrigBphysDict", "xAODTrigMissingETDict", "xAODTrigEgammaDict", "xAODTrigMuonDict", "xAODTrigCaloDict", + "xAODTrigMinBiasDict", "xAODBTaggingDict", + "xAODHIEventDict"}; + AAH::setProperty(tdt,"Navigation.Dlls",EDMLibraries); + POOL::TEvent::EReadMode mode = POOL::TEvent::kPOOLAccess; //use POOL mode for full offline release +#else + POOL::TEvent::EReadMode mode = POOL::TEvent::kClassAccess; //use fast xAODRootAccess mode in analysis release +#endif + + //loop over input file with POOL + POOL::TEvent evt(mode); + evt.readFrom( fileName ); + evt.getEntry(0); + + tdt.retrieve(); + + for(int i=0;i < 10 /*evt.getEntries()*/; i++) { + if( evt.getEntry(i) < 0) { std::cout << "Failed to read event " << i << std::endl; continue; } + + std::cout << "HLT_.* decision = " << tdt->isPassed("HLT_.*") << std::endl; + + auto cg = tdt->getChainGroup("HLT_.*"); + + //this only works in FULL offline release + auto feat = cg->features(); + std::vector<Trig::Feature<xAOD::TrigMissingET> > metfeats = feat.elementFeature<xAOD::TrigMissingETContainer>(); + std::cout << "found " << metfeats.size() << " met features" << std::endl; + + for(auto& feat : metfeats) { + std::cout << "feature pointing to " << feat.cptr() << " ex: " << feat.cptr()->ex() << " ey:" << feat.cptr()->ey() << std::endl; + } + + const std::string eltrigger="HLT_2e17_lhvloose_nod0"; + std::cout << eltrigger << " passed: " << tdt->isPassed( eltrigger ) << std::endl; + + // Features can be retrieved even when trigger fails + // The following condition returns the features for all TriggerElements, irregardless whether they are deactivated (i.e., the hypo fails) + auto fcel = tdt->features( eltrigger, TrigDefs::alsoDeactivateTEs ); + + //Retrieve the RoI descriptors for electron trigger + std::vector< Trig::Feature<TrigRoiDescriptor> > rois = fcel.elementFeature<TrigRoiDescriptorCollection>("initialRoI"); + std::cout << "found " << rois.size() << " roi features" << std::endl; + for(auto& roi : rois) { + std::cout << "feature pointing to " << roi.cptr() << " eta: " << roi.cptr()->eta() << " phi:" << roi.cptr()->phi() << std::endl; + } + + // Retrieve a vector of Trigger Element (TE) features, i.e. collect all the TEs that contain ElectronContainers + std::vector<Trig::Feature<xAOD::ElectronContainer> > vec = fcel.containerFeature<xAOD::ElectronContainer>("egamma_Electrons"); + std::cout << "Electron trigger has " << vec.size() << " electron features " << std::endl; + for( const Trig::Feature<xAOD::ElectronContainer> feat : vec ) { + // With a TE, retrieve ancestors and activeState (did the hypo pass/fail?) + // Which step is active? + const xAOD::ElectronContainer *cont=feat.cptr(); + for(const xAOD::Electron *e : *cont){ + if(!e) + continue; + // Check whether the electron was selected by the hypothesis + std::cout << " eta: " << e->eta() << " phi: " << e->phi() << "et: " << e->e()/cosh(e->eta()) << std::endl; + } + std::cout << " L2Calo Active " << (tdt->ancestor<xAOD::TrigEMCluster>(feat.te(),"")).te()->getActiveState() + << " L2Electron Active " <<(tdt->ancestor<xAOD::TrigElectronContainer>(feat.te(),"")).te()->getActiveState() + << " EFCalo Active " << (tdt->ancestor<xAOD::CaloClusterContainer>(feat.te(),"")).te()->getActiveState() << std::endl; + } + + // Retrieve featues from L2 step + std::vector<Trig::Feature<xAOD::TrigElectronContainer> > vecl2 = fcel.containerFeature<xAOD::TrigElectronContainer>(); + std::cout << "Electron trigger has " << vecl2.size() << " trig electron features " << std::endl; + for( const Trig::Feature<xAOD::TrigElectronContainer> feat : vecl2 ) { + // With a TE, retrieve ancestors and activeState (did the hypo pass/fail?) + // Which step is active? + const xAOD::TrigElectronContainer *cont=feat.cptr(); + for(const xAOD::TrigElectron *e : *cont){ + if(!e) + continue; + // Check whether the electron was selected by the hypothesis + std::cout << " eta: " << e->eta() << " phi: " << e->phi() << "e: " << e->e() << std::endl; + } + std::cout << " L2Calo Active " << (tdt->ancestor<xAOD::TrigEMCluster>(feat.te(),"")).te()->getActiveState() << std::endl; + } + + + // Can also look at the combinations of the two rois + std::cout << eltrigger << " has " << fcel.getCombinations().size() << " combinations, " + << fcel.containerFeature<xAOD::ElectronContainer>().size() << " Electron features, " << std::endl; + for( const Trig::Combination comb : fcel.getCombinations()){ + std::vector< Trig::Feature <xAOD::ElectronContainer> > elfeats = comb.containerFeature<xAOD::ElectronContainer>(); + std::cout << "Combination has " << elfeats.size() << " Electron features " << std::endl; + } + + + } + + app->finalize(); //optional trigger finalization of all services and tools created by the Gaudi Application + return 0; +} + +#endif //> !TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H)))) diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx index 382c139ef74..c1346f10120 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx @@ -1,8 +1,10 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ /* * TriggerAnalysisHelper.cxx - * Copyright (C) 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * * - * Distributed under terms of the license. */ #include "AthenaKernel/errorcheck.h" #include "TriggerAnalysisHelper.h" diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h index 4a63b8200d0..ca494a57752 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h @@ -1,8 +1,11 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ /* * TriggerAnalysisHelper.h - * Copyright (C) 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * * - * Distributed under terms of the license. + */ #ifndef TRIGGERANALYSISHELPER_H #define TRIGGERANALYSISHELPER_H diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx index 622565dca9a..ec1531f686d 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx @@ -1,9 +1,7 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TriggerAnalysisTutorial.cxx 792124 2017-01-13 17:55:55Z ssnyder $ - // System include(s): #include <iomanip> diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h index b4f7a9cf7da..82bc6f1c13e 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h @@ -1,10 +1,9 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TriggerAnalysisTutorial.h 786167 2016-11-23 21:52:33Z ssnyder $ #ifndef TRIGANALYSISEXAMPLES_TRIGGERANALYSISTUTORIAL_H #define TRIGANALYSISEXAMPLES_TRIGGERANALYSISTUTORIAL_H -- GitLab From bd46f6caf1f0dd307dcadb375c6e3080642609f5 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 7 Nov 2018 17:43:41 +0100 Subject: [PATCH 159/209] Update packages:TriggerJobOpts from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py index e6fbddc8a4a..9bf7744ac57 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py @@ -400,6 +400,9 @@ class run2Config(JobProperty): '2016', '2017', ] + def _do_action(self): + from TriggerMenu.egamma.EgammaSliceFlags import run2ConfigAction as egammaRun2ConfigAction + egammaRun2ConfigAction(self.get_Value()) _flags.append(run2Config) -- GitLab From 3607cddc15253e0151df8a77e01cfd6971d994fa Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 7 Nov 2018 18:04:10 +0100 Subject: [PATCH 160/209] Update packages:TrigDetCalib from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigDetCalib/CMakeLists.txt | 6 +- .../TrigDetCalib/python/TrigDetCalibConfig.py | 55 +++ .../TrigDetCalib/src/TrigCheckForMuons.cxx | 312 ++++++++++++++++++ .../TrigDetCalib/src/TrigCheckForMuons.h | 102 ++++++ .../TrigDetCalib/src/TrigL1CaloOverflow.cxx | 13 +- .../TrigDetCalib/src/TrigL1CaloOverflow.h | 3 +- .../TrigDetCalib/src/TrigROBSelector.cxx | 9 +- .../TrigDetCalib/src/TrigSubDetListWriter.cxx | 87 +++-- .../src/components/TrigDetCalib_entries.cxx | 4 +- 9 files changed, 533 insertions(+), 58 deletions(-) create mode 100644 Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx create mode 100644 Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt b/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt index 351e33f3c06..ff3e03b3bd7 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt +++ b/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt @@ -16,11 +16,13 @@ atlas_depends_on_subdirs( PUBLIC Control/AthenaKernel Event/EventInfo Event/xAOD/xAODEventInfo + Event/xAOD/xAODMuon Tracking/TrkEvent/TrkTrack Trigger/TrigSteer/TrigInterfaces Trigger/TrigSteer/TrigSteering Trigger/TrigT1/TrigT1Result - Trigger/TrigTools/TrigTimeAlgs ) + Trigger/TrigTools/TrigTimeAlgs + Trigger/TrigEvent/TrigMuonEvent ) # External dependencies: find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint ) @@ -31,7 +33,7 @@ atlas_add_component( TrigDetCalib src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} IRegionSelector GaudiKernel TrigInDetEvent TrigSteeringEvent AthenaBaseComps AthenaKernel EventInfo TrkTrack TrigInterfacesLib TrigSteeringLib TrigT1Result TrigTimeAlgsLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} IRegionSelector GaudiKernel TrigInDetEvent TrigSteeringEvent AthenaBaseComps AthenaKernel EventInfo TrkTrack TrigInterfacesLib TrigSteeringLib TrigT1Result TrigTimeAlgsLib TrigMuonEvent) # Install files from the package: atlas_install_headers( TrigDetCalib ) diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py b/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py index 555c2bc3065..e37486a718c 100755 --- a/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py +++ b/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py @@ -6,6 +6,7 @@ from TrigDetCalib.TrigDetCalibConf import TrigROBSelector from TrigDetCalib.TrigDetCalibConf import ScoutingStreamWriter from TrigDetCalib.TrigDetCalibConf import TrigEtaHypo from TrigDetCalib.TrigDetCalibConf import TrigCheckForTracks +from TrigDetCalib.TrigDetCalibConf import TrigCheckForMuons from TrigDetCalib.TrigDetCalibMonitoring import setCalibMonTools from AthenaCommon.Logging import logging @@ -536,3 +537,57 @@ class ScoutTestAlg(ScoutingStreamWriter): #For Example: self.CollectionTypeName = ["TrigRoiDescriptor#secondaryRoI_EF", "TrigMuonEFContainer#MuonEF","TrigOperationalInfo#DataScouting"] + + + + + +class TrigCheckForMuons_pebM(TrigCheckForMuons): + __slots__ = [] + def __init__(self, name = 'TrigCheckForMuons_pebM', + etaWidth = 0.3, phiWidth = 0.3): + super( TrigCheckForMuons_pebM , self ).__init__( name ) + + self.AddCTPResult = True + self.AddHLTResult = True + self.etaWidth = etaWidth + self.phiWidth = phiWidth + self.MaxRoIsPerEvent = -1 + self.muonLabels = ["MuonEFInfo",""] + self.PEBInfoLabel = "pebM" + + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterValidationMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterOnlineMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterCosmicMonitoring + validation = TrigROBListWriterValidationMonitoring(name+"ValidationMonitoring") + online = TrigROBListWriterOnlineMonitoring(name+"OnlineMonitoring") + cosmic = TrigROBListWriterCosmicMonitoring(name+"CosmicMonitoring") + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig(name + '_Time') + self.AthenaMonTools = [ validation, online, time, cosmic ] + +class TrigCheckForMuons_peb075(TrigCheckForMuons): + __slots__ = [] + def __init__(self, name = 'TrigCheckForMuons_peb075', + etaWidth = 0.75, phiWidth = 0.75): + super( TrigCheckForMuons_peb075 , self ).__init__( name ) + + self.AddCTPResult = True + self.AddHLTResult = True + self.etaWidth = etaWidth + self.phiWidth = phiWidth + self.MaxRoIsPerEvent = -1 + self.muonLabels = ["MuonEFInfo",""] + self.PEBInfoLabel = "peb075" + + #self.ROBSelector.Subdetectors = "All" # this allows to modify list of subdetectors to include + + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterValidationMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterOnlineMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterCosmicMonitoring + validation = TrigROBListWriterValidationMonitoring(name+"ValidationMonitoring") + online = TrigROBListWriterOnlineMonitoring(name+"OnlineMonitoring") + cosmic = TrigROBListWriterCosmicMonitoring(name+"CosmicMonitoring") + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig(name + '_Time') + self.AthenaMonTools = [ validation, online, time, cosmic ] diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx new file mode 100644 index 00000000000..f9235caa6df --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx @@ -0,0 +1,312 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "GaudiKernel/MsgStream.h" +#include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "TrigSteeringEvent/PartialEventBuildingInfo.h" +#include "IRegionSelector/IRegSelSvc.h" +#include "xAODMuon/MuonContainer.h" + + +#include "TrigCheckForMuons.h" + +using namespace std; + +TrigCheckForMuons::TrigCheckForMuons(const std::string& name, ISvcLocator* pSvcLocator) + : HLT::AllTEAlgo(name, pSvcLocator), + //m_clidSvc("ClassIDSvc", name), + //m_types(), m_names(), m_momType(), m_clid(), + m_robSelector("TrigROBSelector", this ), + m_addCTPResult(1), m_addHLTResult(1), + m_addOppositePhiRoI(false), m_addOppositeEtaPhiRoI(false), + m_nRoIs(0), + m_mindRSqr(0.01*0.01) +{ + declareProperty("muonLabels", m_muonLabels, "List of labels for xAOD::Muon collection"); + declareProperty("ROBSelector", m_robSelector, "The ROB Selector Tool"); + declareProperty("AddCTPResult", m_addCTPResult, "Add the CTP result to the list of ROBs"); + declareProperty("AddOppositePhiRoI", m_addOppositePhiRoI = false, "Add also RoIs opposite in phi but same eta"); + declareProperty("AddOppositeEtaPhiRoI", m_addOppositeEtaPhiRoI = false, "Add also RoIs opposite in phi and opposite in eta"); + declareProperty("AddHLTResult", m_addHLTResult, "Add the HLT result to the list of ROBs"); + declareProperty("etaEdge", m_etaEdge = 5.0, "Upper limit of |eta| range"); + declareProperty("etaWidth", m_etaWidth = 0.1, "Width of the RoI in eta"); + declareProperty("phiWidth", m_phiWidth = 0.1, "Width of the RoI in phi"); + declareProperty("PEBInfoLabel", m_pebLabel = "dunno", "The label under which the PartialEventBuildingInfo object is stored"); + declareProperty("MaxRoIsPerEvent", m_maxRoIsPerEvent = -1); + declareProperty("extraROBs", m_extraROBs); + declareProperty("rejectAll", m_rejectAll = false); + declareProperty("overlapdR" , m_mindRSqr = 0.01*0.01 ); + + + declareMonitoredStdContainer("nROBs", m_nROBs); + declareMonitoredStdContainer("detectors", m_dets); + declareMonitoredVariable("roIEta", m_roIEta); + declareMonitoredVariable("roIPhi", m_roIPhi); +} + + +HLT::ErrorCode TrigCheckForMuons::hltInitialize() +{ + msg() << MSG::INFO << "Initializing CPTResult "<<m_addCTPResult + << " HLTResult "<< m_addHLTResult<< endmsg; + if (m_addCTPResult){ + m_trigResults.push_back(eformat::TDAQ_CTP); + m_trigResults.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); + msg() << MSG::INFO << " Will add TDAQ_CTP, TDAQ_MUON_CTP_INTERFACE to event record" << endmsg; + } + if (m_addHLTResult){ + m_trigResults.push_back(eformat::TDAQ_HLT); + msg() << MSG::INFO << " Will add TDAQ_HLT to event record " << endmsg; + } + return HLT::OK; +} + + +HLT::ErrorCode TrigCheckForMuons::hltBeginRun() +{ + msg() << MSG::INFO << "in hltBeginRun() " << endmsg; + return m_robSelector->setupMonitoring(); +} + + +HLT::ErrorCode TrigCheckForMuons::hltFinalize() +{ + /* OI-- Not using this so far + if (!m_clidSvc.retrieve().isSuccess()) { + msg() << MSG::FATAL << "Cannot get ClassIDSvc " << m_clidSvc << endmsg; + return HLT::FATAL; + } + + std::vector< std::string> coll = m_collectionTypeName.value(); + + m_types.clear(); + m_names.clear(); + + for (std::vector<std::string>::const_iterator it = coll.begin(), it_e = coll.end(); it != it_e; it++) { + std::size_t found = (*it).find_first_of('#'); + + if (found != std::string::npos) + { + m_types.push_back((*it).substr(0,found)); + m_names.push_back((*it).substr(found+1,(*it).size()-found+1)); + if (msgLvl()<=MSG::DEBUG) msg() << MSG::DEBUG << "Will look for Collection " << m_types.back() << " with " << m_names.back() << " for PEB stream"<< endmsg; + }else{ + + msg() << MSG::FATAL << "Collection type and collection name not configured correctly. " << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + } + + if (m_types.size() != m_names.size()){ + msg() << MSG::FATAL << "Collection type and collection name vectors have different size. " << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + m_clid.clear(); + + for (std::vector<std::string>::const_iterator it = m_types.begin(), it_e = m_types.end(); it != it_e; it++) { + CLID classid; + if (!m_clidSvc->getIDOfTypeName(*it, classid).isSuccess()){ + msg() << MSG::WARNING << "Cannot convert type. No CLID for " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } else { + int momType = -1; + const SG::BaseInfoBase* baseInfo = SG::BaseInfoBase::find( classid ); + if( ! baseInfo ){ + msg() << MSG::FATAL << "Please fix me: Cannot convert type. No BaseInfo for " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + if( baseInfo->is_base( ClassID_traits< xAOD::IParticleContainer >::ID() ) ) { + momType = 0; + } else if( baseInfo->is_base( ClassID_traits< I4MomentumContainer >::ID() ) ) { + // this is an "old" container, handle it through I4MomentumContainer + momType = 1; + } else { + msg() << MSG::FATAL << "Please fix me: I do not know how to extract eta/phi for this class " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + m_clid.push_back(classid); + m_momType.push_back(momType); + if (msgLvl()<=MSG::DEBUG) msg() << MSG::DEBUG << "CLID "<< classid << " is OK, accept for PEB " << endmsg; + + } + } + */ + return HLT::OK; +} + +//------------------------------------------------------------------------------------- +HLT::ErrorCode TrigCheckForMuons::hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output) +{ + + bool debug = msg().level()<=MSG::DEBUG; + + m_nRoIs++; + if( debug ){ + msg() << MSG::DEBUG << "Executing this TrigCheckForMuons " ; + if (m_maxRoIsPerEvent > -1) msg() << " RoI " << m_nRoIs << "/" << m_maxRoIsPerEvent; + msg() << endmsg; + } + + if (m_maxRoIsPerEvent > -1 && m_nRoIs > m_maxRoIsPerEvent) { + if( debug ) + msg() << MSG::DEBUG << "RoI limit (" << m_maxRoIsPerEvent + << ") reached for this event : will not process this RoI" << endmsg; + return HLT::OK; + } + + // Get Objects + + //HLT::ErrorCode status = HLT::BAD_ALGO_CONFIG; + + + // create new partial EB directive + PartialEventBuildingInfo* pebInfo = config()->getPEBI(); + if(!pebInfo){ + if( debug ) + msg() << MSG::DEBUG << "*** Not Executing this TrigCheckForMuons " << name() << ", not a calib chain" << endmsg; + return HLT::OK; + } + + + //--------- Get list of eta/phi of interesting objects ---------- + + // FIXME : can trace number of recorded muons per event and only add new once + + ElementLinkVector<xAOD::MuonContainer> elvmuon; + std::vector<ElementLink<xAOD::MuonContainer> > muonVec; + + for( auto mLabel : m_muonLabels ){ + bool foundLabel = false; + size_t nMu0 = muonVec.size(); + size_t nMu1 = 0; + for( auto TEvec : inputTE) + for( auto oneTE : TEvec ){ + // use getFeatureLinks instead of "Link" to get them all recursively, otherwise Bphys topo will stop search + HLT::ErrorCode status = getFeaturesLinks<xAOD::MuonContainer,xAOD::MuonContainer>(oneTE, elvmuon); + if(status==HLT::OK ) { + foundLabel = true; + bool found = false; + nMu1 += elvmuon.size(); + for( const auto & efmu : elvmuon ){ + if( found ) break; + for(const auto& part : muonVec ){ + if( (*part)->charge() * (*efmu)->charge() < 0 ) continue; + double deta = (*part)->eta() - (*efmu)->eta(); + double dphi = (*part)->phi() - (*efmu)->phi(); + double deltaR2 = deta*deta +dphi*dphi; + if( deltaR2 <= m_mindRSqr){ + found = true; + if(debug) msg() << MSG::DEBUG << " SKIP (Already have) muon with pt="<<(*efmu)->pt() << " eta=" + << (*efmu)->eta() << " phi=" << (*efmu)->phi() << " charge="<< (*efmu)->charge() << endmsg; + break; + } + } // loop over muonVec + if( !found ){ + muonVec.push_back(efmu); + if(debug) msg() << MSG::DEBUG << " Found muon pt="<<(*efmu)->pt() << " eta=" + << (*efmu)->eta() << " phi=" << (*efmu)->phi() << " charge="<< (*efmu)->charge() << endmsg; + } + }// end loop over muons + if(debug){ + if( !foundLabel ) msg() << " No collection with label "<< mLabel << " is found " << endmsg; + else + msg() << MSG::DEBUG << " Found "<< nMu1 << " muons with label "<< mLabel + <<" recorded "<< muonVec.size() - nMu0 << endmsg; + } + + } + }// end loop over TEs + } // end loop over labels + + + for(const auto& muon : muonVec ){ + + m_roIEta = (*muon)->eta(); + m_roIPhi = (*muon)->phi(); + + if (debug) msg() << MSG::DEBUG << "Processing muon " << m_roIEta << " " << m_roIPhi << endmsg; + + double etaMin = std::max(-m_etaEdge,m_roIEta - m_etaWidth); + double etaMax = std::min( m_etaEdge,m_roIEta + m_etaWidth); + + double phiMin = m_roIPhi - m_phiWidth; + double phiMax = m_roIPhi + m_phiWidth; + while (phiMin < 0) phiMin += 2*M_PI; + while (phiMax > 2*M_PI) phiMax -= 2*M_PI; // AH HA!! This is wrong! Need in the range -pi .. pi + + TrigRoiDescriptor roi( m_roIEta, etaMin, etaMax, m_roIPhi, phiMin, phiMax ); + + // now add ROBs + HLT::ErrorCode ec = m_robSelector->fillPEBInfo(*pebInfo, roi, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB " << endmsg; + return ec; + } + + if( m_addOppositePhiRoI || m_addOppositeEtaPhiRoI) { + m_roIPhi_2 = (*muon)->phi(); + while (m_roIPhi_2 < 0) m_roIPhi_2 += 2*M_PI; + while (m_roIPhi_2 > 2*M_PI) m_roIPhi_2 -= 2*M_PI; + + double phiMin_2 =( m_roIPhi_2 + M_PI) - m_phiWidth; //Making a few redefintions of phi to look at muons produced in the oppoisite direction. Keeping eta the same, but changing phi. + double phiMax_2 = (m_roIPhi_2 + M_PI) + m_phiWidth; + while (phiMin_2 < 0) phiMin_2 += 2*M_PI; + while (phiMax_2 > 2*M_PI) phiMax_2 -= 2*M_PI; + + if( m_addOppositePhiRoI ) { //To now look for muons in the opposite phi direction, create a second TrigRoiDescriptor + TrigRoiDescriptor roi2( m_roIEta, etaMin, etaMax, m_roIPhi_2 + M_PI, phiMin_2, phiMax_2 ); + + // now add ROBs + ec = m_robSelector->fillPEBInfo(*pebInfo, roi2, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB for roi2" << endmsg; + return ec; + } + } + if( m_addOppositeEtaPhiRoI ) {//To now look for muons in the opposite eta and phi direction, + double etaMin_2 = std::max(-m_etaEdge,-m_roIEta - m_etaWidth); + double etaMax_2 = std::min( m_etaEdge,-m_roIEta + m_etaWidth); + TrigRoiDescriptor roi2( m_roIEta, etaMax_2, etaMin_2, m_roIPhi_2 + M_PI, phiMin_2, phiMax_2 ); + + // now add ROBs + ec = m_robSelector->fillPEBInfo(*pebInfo, roi2, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB for roi2" << endmsg; + return ec; + } + } + } + + + if (debug) msg() << MSG::DEBUG << "Recorded " << m_nROBs.back() << " ROBs " << endmsg; + + + } // end loop over muons + + // Add extra ROBs + for (std::vector<uint32_t>::const_iterator rob = m_extraROBs.begin(); rob != m_extraROBs.end(); rob++) + pebInfo->add(*rob); + + // Add trig results as specified in properties + pebInfo->addSubDetector(m_trigResults); + + if(! m_rejectAll){ // Flag used for commissioning + HLT::TriggerElement* te = addRoI(output); + te->setActiveState(true); + } + return HLT::OK; +} + + +HLT::ErrorCode TrigCheckForMuons::hltEndEvent() +{ + m_robSelector->reset(); + m_dets.clear(); + m_nROBs.clear(); + m_nRoIs = 0; + return HLT::OK; +} diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h new file mode 100644 index 00000000000..21ecd56ecce --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h @@ -0,0 +1,102 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/********************************************************************************** + * @Project: LAr Calibration + * @Package: TrigEgammaHypo + * @Class : TrigCheckForMuons + * + * @brief : Algorithm to write out a list of ROBs around muons + * + * @author Olya Igonkina, Amy Tee + * + * File and Version Information: + * $Id: TrigCheckForMuons.h 707504 2015-11-12 16:33:46Z fwinkl $ + **********************************************************************************/ + +#ifndef TrigDetCalib_TrigCheckForMuons_H +#define TrigDetCalib_TrigCheckForMuons_H + +#include "TrigInterfaces/AllTEAlgo.h" + +#include "GaudiKernel/ToolHandle.h" +#include "GaudiKernel/ServiceHandle.h" +#include <vector> +#include <string> + +#include "IRegionSelector/RegSelEnums.h" +#include "GaudiKernel/ITHistSvc.h" +#include "TrigDetCalib/ITrigROBSelector.h" + +#include "eformat/SourceIdentifier.h" +#include "TrigNavStructure/Types.h" + +class IRegSelSvc; +class MsgStream; +class PartialEventBuildingInfo; +class TH1I; + +namespace HLT { + class TriggerElement; +} + +/** + @class TrigCheckForMuons + Algorithm to write out a list of ROBs around all muons. + In principle, we could also run it only once per event. + However, if there is another chain that also wants all muons and is not yet finished, then we risk to miss some muons. + It is very quick, and every ROB will be written only once, so it should not be a problem to repeat it.. + + @author Olya Igonkina +*/ +class TrigCheckForMuons : public HLT::AllTEAlgo +{ + public: + + TrigCheckForMuons(const std::string& name, ISvcLocator* pSvcLocator); //!< std Gaudi algorthm constructor + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltFinalize(); + + /** @brief take one input TriggerElement and process it + It tries to retrieve any attached TrigRoIDescriptor features and prints them. + @param input TriggerElement to be processed + @param output TriggerElement coming out of the algorithm + */ + + HLT::ErrorCode hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output); + + HLT::ErrorCode hltBeginRun(); + + HLT::ErrorCode hltEndEvent(); + + + private: + + ToolHandle<ITrigROBSelector> m_robSelector; + bool m_addCTPResult, m_addHLTResult; + bool m_addOppositePhiRoI; + bool m_addOppositeEtaPhiRoI; + + double m_etaEdge, m_etaWidth, m_phiWidth; + + std::string m_pebLabel; + std::vector<std::string> m_muonLabels; + + int m_maxRoIsPerEvent, m_nRoIs; + + // Hardcoded extra ROBs that should be shipped in all cases + std::vector<uint32_t> m_extraROBs; + + // Monitored variables + std::vector<DETID> m_dets; + std::vector<eformat::SubDetector> m_trigResults; + std::vector<int> m_nROBs; + double m_roIEta, m_roIPhi, m_roIPhi_2; + float m_mindRSqr; + + bool m_rejectAll; +}; + +#endif diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx index 14c2a7964bf..ca8f6da194b 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "TrigL1CaloOverflow.h" @@ -20,6 +20,7 @@ TrigL1CaloOverflow::TrigL1CaloOverflow(const std::string& name, ISvcLocator* pSv declareProperty("ignoreAbortGap", m_ignoreAbortGap = true, "Ignore overflows in abort gap"); declareProperty("acceptCMXOverflows", m_acceptCMXOverflows = true, "Accept CMX overflows"); declareProperty("acceptCaloRoIBOverflows", m_acceptCaloRoIBOverflows = true, "Accept Calo RoIB overflows"); + declareProperty("acceptLvl1ConsistencyProblems", m_acceptLvl1Consist = true, "Accept events with problems in the Lvl1 consistency checker"); } HLT::ErrorCode TrigL1CaloOverflow::hltInitialize() @@ -64,6 +65,16 @@ HLT::ErrorCode TrigL1CaloOverflow::hltExecute(std::vector<std::vector<HLT::Trigg } } + // Events with issues in the consistency checker (not strictly overflows, see ATR-14607) + if (m_acceptLvl1Consist) { + HLT::ErrorCode ec = config()->getLvlConverterStatus(); + if ( ec.reason()==HLT::Reason::MISSING_FEATURE && + ec.steeringInternalReason()==HLT::SteeringInternalReason::MISSING_CALO_ROI ) { // see Lvl1ConsistencyChecker.cxx + addRoI(output)->setActiveState(true); + ATH_MSG_DEBUG("Event has Lvl1 consistency checker problems"); + } + } + afterExecMonitors().ignore(); return HLT::OK; } diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h index f66de6c1284..85c42e630d0 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGDETCALIB_TRIGL1CALOOVERFLOW_H @@ -32,6 +32,7 @@ private: bool m_ignoreAbortGap; bool m_acceptCMXOverflows; bool m_acceptCaloRoIBOverflows; + bool m_acceptLvl1Consist; }; diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx index fd841c4de55..c9416a25df2 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx @@ -44,6 +44,11 @@ TrigROBSelector::TrigROBSelector(const std::string& type, const std::string& nam m_detNames[MDT] = "MDT"; m_detNames[RPC] = "RPC"; m_detNames[TGC] = "TGC"; + /* on April 19, 2018, these subdetectors were not included by default, so do not change this + m_detNames[LAR] = "LAR"; + m_detNames[FTK] = "FTK"; + */ + m_detNames[CSC] = "CSC"; // included since April 19, 2018, small size } @@ -91,7 +96,7 @@ StatusCode TrigROBSelector::initialize() } if (m_detSpec.find("Muons") != std::string::npos) - isIncluded[MDT] = isIncluded[RPC] = isIncluded[TGC] = true; + isIncluded[MDT] = isIncluded[RPC] = isIncluded[TGC] = isIncluded[CSC] = true; if (m_detSpec.find("EM") != std::string::npos) isIncluded[TTEM] = isIncluded[FCALEM] = true; @@ -101,7 +106,7 @@ StatusCode TrigROBSelector::initialize() if (m_detSpec.find("All") != std::string::npos) { for (std::map<DETID,std::string>::const_iterator name = m_detNames.begin(); - name != m_detNames.end(); name++) + name != m_detNames.end(); name++) isIncluded[name->first] = true; } diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx index 47e4262e5a4..baba42d1a0e 100755 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx @@ -79,47 +79,41 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() for(std::vector<std::string>::iterator detit = m_detId.begin(); detit != m_detId.end(); ++detit){ //if (m_detSpec.find("HLTResult") != std::string::npos) { - if (*detit=="HLTResult") { + if (*detit=="RPC") { + m_sourceid.push_back(eformat::MUON_RPC_BARREL_A_SIDE); + m_sourceid.push_back(eformat::MUON_RPC_BARREL_C_SIDE); + } else if (*detit=="HLTResult") { m_sourceid.push_back(eformat::TDAQ_HLT); m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="L2EFResult") { + } else if (*detit=="TDAQ_HLT") { + m_sourceid.push_back(eformat::TDAQ_HLT); + } else if (*detit=="L2EFResult") { m_sourceid.push_back(eformat::TDAQ_LVL2); m_sourceid.push_back(eformat::TDAQ_EVENT_FILTER); m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="TDAQ_LVL2") { + } else if (*detit=="TDAQ_LVL2") { m_sourceid.push_back(eformat::TDAQ_LVL2); - } - if (*detit=="TDAQ_EVENT_FILTER") { + } else if (*detit=="TDAQ_EVENT_FILTER") { m_sourceid.push_back(eformat::TDAQ_EVENT_FILTER); - } - if (*detit=="TDAQ_CTP") { + } else if (*detit=="TDAQ_CTP") { m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="TDAQ_SFI") { + } else if (*detit=="TDAQ_SFI") { m_sourceid.push_back(eformat::TDAQ_SFI); - } - if (*detit=="TDAQ_SFO") { + } else if (*detit=="TDAQ_SFO") { m_sourceid.push_back(eformat::TDAQ_SFO); - } - if (*detit=="TDAQ_CALO") { + } else if (*detit=="TDAQ_CALO" || *detit=="TDAQ_L1CALO") { m_sourceid.push_back(eformat::TDAQ_CALO_PREPROC); m_sourceid.push_back(eformat::TDAQ_CALO_CLUSTER_PROC_DAQ); m_sourceid.push_back(eformat::TDAQ_CALO_CLUSTER_PROC_ROI); m_sourceid.push_back(eformat::TDAQ_CALO_JET_PROC_DAQ); m_sourceid.push_back(eformat::TDAQ_CALO_JET_PROC_ROI); - } - if (*detit=="TDAQ_MUON") { + } else if (*detit=="TDAQ_MUON") { m_sourceid.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); - } - if (*detit=="TDAQ_BEAM_CRATE") { + } else if (*detit=="TDAQ_BEAM_CRATE") { m_sourceid.push_back(eformat::TDAQ_BEAM_CRATE); - } - if (*detit=="TDAQ_L2SV") { + } else if (*detit=="TDAQ_L2SV") { m_sourceid.push_back(eformat::TDAQ_L2SV); - } - if (*detit=="InnerDetector") { + } else if (*detit=="InnerDetector") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); @@ -133,8 +127,7 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::TRT_BARREL_C_SIDE); m_sourceid.push_back(eformat::TRT_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::TRT_ENDCAP_C_SIDE); - } - if (*detit=="SiOnly") { + } else if (*detit=="SiOnly") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); @@ -143,20 +136,16 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::SCT_BARREL_C_SIDE); m_sourceid.push_back(eformat::SCT_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::SCT_ENDCAP_C_SIDE); - } - if (*detit=="DBM") { + } else if (*detit=="DBM") { m_sourceid.push_back(eformat::PIXEL_DBM); - } - if (*detit=="IBL") { + } else if (*detit=="IBL") { m_sourceid.push_back(eformat::PIXEL_IBL); - } - if (*detit=="Pixel") { + } else if (*detit=="Pixel") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); m_sourceid.push_back(eformat::PIXEL_B_LAYER); - } - if (*detit=="Muons") { + } else if (*detit=="Muons") { m_sourceid.push_back(eformat::MUON_ANCILLARY_CRATE); m_sourceid.push_back(eformat::MUON_MDT_BARREL_A_SIDE); m_sourceid.push_back(eformat::MUON_MDT_BARREL_C_SIDE); @@ -169,19 +158,16 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_C_SIDE); m_sourceid.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); - } - if (*detit=="CSC") { + } else if (*detit=="CSC") { m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_C_SIDE); - } - if (*detit=="Tile") { + } else if (*detit=="Tile") { m_sourceid.push_back(eformat::TILECAL_LASER_CRATE); m_sourceid.push_back(eformat::TILECAL_BARREL_A_SIDE); m_sourceid.push_back(eformat::TILECAL_BARREL_C_SIDE); m_sourceid.push_back(eformat::TILECAL_EXT_A_SIDE); m_sourceid.push_back(eformat::TILECAL_EXT_C_SIDE); - } - if (*detit=="LAr") { + } else if (*detit=="LAr") { m_sourceid.push_back(eformat::LAR_EM_BARREL_A_SIDE); m_sourceid.push_back(eformat::LAR_EM_BARREL_C_SIDE); m_sourceid.push_back(eformat::LAR_EM_ENDCAP_A_SIDE); @@ -190,22 +176,23 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::LAR_FCAL_C_SIDE); m_sourceid.push_back(eformat::LAR_HAD_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::LAR_HAD_ENDCAP_C_SIDE); - } - if (*detit=="FORWARD_BCM") { + } else if (*detit=="FCal") { + m_sourceid.push_back(eformat::LAR_FCAL_A_SIDE); + m_sourceid.push_back(eformat::LAR_FCAL_C_SIDE); + } else if (*detit=="FORWARD_BCM") { m_sourceid.push_back(eformat::FORWARD_BCM); - } - if (*detit=="FORWARD_LUCID") { + } else if (*detit=="FORWARD_LUCID") { m_sourceid.push_back(eformat::FORWARD_LUCID); - } - if (*detit=="FORWARD_ZDC") { + } else if (*detit=="FORWARD_ZDC") { m_sourceid.push_back(eformat::FORWARD_ZDC); - } - if (*detit=="FORWARD_ALPHA") { + } else if (*detit=="FORWARD_ALPHA") { m_sourceid.push_back(eformat::FORWARD_ALPHA); - } - if (*detit=="FORWARD_AFP") { + } else if (*detit=="FORWARD_AFP") { m_sourceid.push_back(eformat::FORWARD_AFP); + } else { + ATH_MSG_ERROR("Unknown detector ID for partial event building:" << *detit << ". Please update TrigSubSetListWriter."); } + } if (m_detSpec.find("ID") != std::string::npos) { @@ -286,7 +273,7 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() if (do_RPC) m_detectors.push_back(RPC); if (do_TGC) m_detectors.push_back(TGC); - msg() << MSG::INFO << "Selected subdetectors = "; + msg() << MSG::INFO << "Selected "<< m_detectors.size() << " subdetectors = "; for (std::vector<DETID>::const_iterator det = m_detectors.begin(); det != m_detectors.end(); det++) msg() << *det << " "; msg() << endmsg; diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx index 259070ebe6a..340d8d0e6d8 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx @@ -3,15 +3,15 @@ #include "../TrigSubDetListWriter.h" #include "../TrigEtaHypo.h" #include "../TrigCheckForTracks.h" +#include "../TrigCheckForMuons.h" #include "../ScoutingStreamWriter.h" #include "../TrigL1CaloOverflow.h" - DECLARE_COMPONENT( TrigROBSelector ) DECLARE_COMPONENT( TrigROBListWriter ) DECLARE_COMPONENT( TrigSubDetListWriter ) DECLARE_COMPONENT( TrigEtaHypo ) DECLARE_COMPONENT( TrigCheckForTracks ) +DECLARE_COMPONENT( TrigCheckForMuons ) DECLARE_COMPONENT( ScoutingStreamWriter ) DECLARE_COMPONENT( TrigL1CaloOverflow ) - -- GitLab From 9fa6fd1093b057bcbe5e56abee9b4a920e6212ff Mon Sep 17 00:00:00 2001 From: Peter van Gemmeren <gemmeren@anl.gov> Date: Wed, 7 Nov 2018 12:35:34 -0600 Subject: [PATCH 161/209] Attempt to fix test refs --- .../share/AthenaPoolMultiTestCheckNull.ref | 4 +- .../share/AthenaPoolMultiTestEventSplit.ref | 5 - .../share/AthenaPoolExample_Read.ref | 151 ++++++++---------- .../share/AthenaPoolExample_ReadAgain.ref | 151 ++++++++---------- .../share/AthenaPoolExample_ReadConcat.ref | 151 ++++++++---------- 5 files changed, 195 insertions(+), 267 deletions(-) diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref index 119e565dbf5..3cae56eba8c 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref @@ -20,6 +20,8 @@ FullColl DEBUG In initialize FullColl DEBUG Found 'StoreName':StoreGateSvc store. FullColl.Regist... DEBUG Property update for OutputLevel : new value = 2 FullColl DEBUG Tool initialized +FullColl DEBUG Retrieved IncidentSvc +FullColl DEBUG Added MetaDataStop listener FullColl DEBUG Not class requested by Tool, skipping (40774348,"RunEventTag") FullColl DEBUG Not class requested by Tool, skipping (222376821,"*") FullColl DEBUG End initialize @@ -29,8 +31,8 @@ FullColl DEBUG Adding private ToolHandle tool FullColl.RegistrationSt FullColl DEBUG Data Deps for FullColl AthenaEventLoopMgr INFO Setup EventSelector service EventSelector EventSelector DEBUG Try item: "PFN:NullableCollection.root" from the collection list. +FullColl DEBUG handle() incident type: MetaDataStop FullColl.Regist... INFO Collection Events output: 0 -FullColl.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:CheckNull.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) ReadData INFO in finalize() ReadData DEBUG Calling destructor FullColl DEBUG In finalize diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref index 7b4f8a6b074..36f5a8982dc 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref @@ -428,16 +428,11 @@ Splitter48 INFO EventInfo event: 19 run: 0 Splitter48 INFO L1 passed Triggered INFO EventInfo event: 19 run: 0 Triggered INFO L1 passed -Stream2 INFO AthenaOutputStream Stream2 ::stop() StorageSvc INFO EventStreamInfo_p3 [11DF1B8C-0DEE-4687-80D7-E74B520ACBB4] Stream2 INFO Records written: 8 -Stream1 INFO AthenaOutputStream Stream1 ::stop() Stream1 INFO Records written: 8 -Stream3 INFO AthenaOutputStream Stream3 ::stop() Stream3 INFO Records written: 6 -Others INFO AthenaOutputStream Others ::stop() Others INFO Records written: 2 -Bad INFO AthenaOutputStream Bad ::stop() Bad INFO Records written: 1 CollBit1.Regist... INFO Collection Events output: 7 CollBit1.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref index e9531c91d12..f09b644e02b 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref @@ -1,19 +1,19 @@ -Tue Nov 6 13:05:07 CST 2018 +Wed Nov 7 11:52:31 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5403 configurables from 4 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on hepd-0003 on Tue Nov 6 13:05:14 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:52:38 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-05T2307/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host hepd-0003.lcrc.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -173,12 +169,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -243,9 +233,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. @@ -264,10 +252,7 @@ PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_ MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -336,7 +321,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -369,7 +354,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -402,7 +387,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -435,7 +420,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -468,7 +453,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -501,7 +486,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -534,7 +519,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -567,7 +552,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -600,7 +585,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -633,7 +618,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20100 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -696,10 +681,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -786,10 +768,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. @@ -829,7 +808,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -851,7 +830,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -873,7 +852,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -895,7 +874,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -917,7 +896,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -939,7 +918,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -961,7 +940,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -983,7 +962,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1005,7 +984,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1027,7 +1006,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1049,7 +1028,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1071,7 +1050,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1093,7 +1072,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1115,7 +1094,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1137,7 +1116,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1159,7 +1138,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1181,7 +1160,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1203,7 +1182,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1225,7 +1204,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1247,7 +1226,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -1341,10 +1320,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. @@ -1393,7 +1369,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1419,7 +1395,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1445,7 +1421,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1471,7 +1447,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1497,7 +1473,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1523,7 +1499,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1549,7 +1525,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1575,7 +1551,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1601,7 +1577,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1627,7 +1603,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1653,7 +1629,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1679,7 +1655,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1705,7 +1681,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1731,7 +1707,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1757,7 +1733,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1783,7 +1759,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1809,7 +1785,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1835,7 +1811,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1861,7 +1837,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1887,7 +1863,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18972 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -1896,6 +1872,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -1905,8 +1882,8 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObj_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.109(+- 1.04)/ 0/ 10 [ms] #= 92 -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.099(+- 0.99)/ 0/ 10 [ms] #=101 +cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.198(+- 1.39)/ 0/ 10 [ms] #=101 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.435(+- 2.04)/ 0/ 10 [ms] #= 92 ChronoStatSvc INFO Time User : Tot= 490 [ms] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref index 6f172c5357d..c76b9fa46d8 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref @@ -1,19 +1,19 @@ -Tue Nov 6 13:06:06 CST 2018 +Wed Nov 7 11:53:30 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5403 configurables from 4 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on hepd-0003 on Tue Nov 6 13:06:13 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:53:37 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-05T2307/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host hepd-0003.lcrc.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -395,7 +380,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -428,7 +413,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -461,7 +446,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -494,7 +479,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -527,7 +512,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -560,7 +545,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -593,7 +578,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -626,7 +611,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -659,7 +644,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -692,7 +677,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19644 +PoolSvc INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 19642 PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -846,10 +828,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. @@ -889,7 +868,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -911,7 +890,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -933,7 +912,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -955,7 +934,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -977,7 +956,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -999,7 +978,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1021,7 +1000,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1043,7 +1022,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1065,7 +1044,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1087,7 +1066,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1109,7 +1088,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1131,7 +1110,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1153,7 +1132,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1175,7 +1154,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1197,7 +1176,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1219,7 +1198,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1241,7 +1220,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1263,7 +1242,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1285,7 +1264,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1307,7 +1286,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -1401,10 +1380,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. @@ -1453,7 +1429,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1479,7 +1455,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1505,7 +1481,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1531,7 +1507,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1557,7 +1533,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1583,7 +1559,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1609,7 +1585,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1635,7 +1611,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1661,7 +1637,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1687,7 +1663,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1713,7 +1689,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1739,7 +1715,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1765,7 +1741,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1791,7 +1767,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1817,7 +1793,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1843,7 +1819,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1869,7 +1845,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1895,7 +1871,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1921,7 +1897,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1947,7 +1923,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19074 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -1956,6 +1932,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -1966,8 +1943,8 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.099(+- 0.99)/ 0/ 10 [ms] #=101 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.217(+- 1.46)/ 0/ 10 [ms] #= 92 -ChronoStatSvc INFO Time User : Tot= 490 [ms] #= 1 +cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.326(+- 1.78)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.51 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref index da351bad9f1..13fa6484917 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref @@ -1,19 +1,19 @@ -Tue Nov 6 13:06:25 CST 2018 +Wed Nov 7 11:53:50 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5403 configurables from 4 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on hepd-0003 on Tue Nov 6 13:06:32 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:53:57 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-05T2307/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host hepd-0003.lcrc.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -395,7 +380,7 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -428,7 +413,7 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -461,7 +446,7 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -494,7 +479,7 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -527,7 +512,7 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -560,7 +545,7 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -593,7 +578,7 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -626,7 +611,7 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -659,7 +644,7 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -692,7 +677,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19695 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -846,10 +828,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. @@ -889,7 +868,7 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -911,7 +890,7 @@ ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -933,7 +912,7 @@ ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -955,7 +934,7 @@ ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -977,7 +956,7 @@ ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -999,7 +978,7 @@ ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1021,7 +1000,7 @@ ReadData INFO EventInfo event: 6 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1043,7 +1022,7 @@ ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1065,7 +1044,7 @@ ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1087,7 +1066,7 @@ ReadData INFO EventInfo event: 9 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1109,7 +1088,7 @@ ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1131,7 +1110,7 @@ ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1153,7 +1132,7 @@ ReadData INFO EventInfo event: 12 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1175,7 +1154,7 @@ ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1197,7 +1176,7 @@ ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1219,7 +1198,7 @@ ReadData INFO EventInfo event: 15 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1241,7 +1220,7 @@ ReadData INFO EventInfo event: 16 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1263,7 +1242,7 @@ ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1285,7 +1264,7 @@ ReadData INFO EventInfo event: 18 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1307,7 +1286,7 @@ ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16734 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -1394,10 +1373,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. @@ -1441,7 +1417,7 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1467,7 +1443,7 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1493,7 +1469,7 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1519,7 +1495,7 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1545,7 +1521,7 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1571,7 +1547,7 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1597,7 +1573,7 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1623,7 +1599,7 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1649,7 +1625,7 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1675,7 +1651,7 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1701,7 +1677,7 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1727,7 +1703,7 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1753,7 +1729,7 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1779,7 +1755,7 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1805,7 +1781,7 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1831,7 +1807,7 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1857,7 +1833,7 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1883,7 +1859,7 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1909,7 +1885,7 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection @@ -1935,7 +1911,7 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18602 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -1944,6 +1920,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -1954,8 +1931,8 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=101 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.326(+- 1.78)/ 0/ 10 [ms] #= 92 -ChronoStatSvc INFO Time User : Tot= 490 [ms] #= 1 +cObj_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.109(+- 1.04)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.5 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully -- GitLab From eaa6c35fa1d45cb026cbf86e674beb63f0c75f45 Mon Sep 17 00:00:00 2001 From: John Derek Chapman <chapman@hep.phy.cam.ac.uk> Date: Mon, 17 Sep 2018 10:15:10 +0000 Subject: [PATCH 162/209] Cherry-pick MM_geoFixes from 21.3 to master MM Geometry Fixes See merge request atlas/athena!14189 --- .../MuonCnv/MuonEventTPCnv/test/make_dd.icc | 2 +- .../MuonAGDDBase/src/mm_readoutHandler.cxx | 35 +- .../MMDetectorDescription.h | 7 +- .../MuonReadoutGeometry/MuonChannelDesign.h | 34 +- .../src/MMReadoutElement.cxx | 64 +- .../src/MM_DigitizationTool.cxx | 54 +- .../src/MM_FastDigitizer.cxx | 4 +- .../NSW_Sim/data/NSW_StationDescription.xml | 2 +- .../MuonG4/NSW_Sim/data/stations.v1.82.xml | 339 ++++ .../MuonG4/NSW_Sim/data/stations.v2.06.xml | 1802 +++++++++++++++++ .../TrigT1NSWSimTools/src/MMT_struct.cxx | 6 +- 11 files changed, 2286 insertions(+), 63 deletions(-) create mode 100644 MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml create mode 100644 MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc index 8fa1bdaaaad..b0b48f61b30 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc +++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc @@ -235,7 +235,7 @@ const MuonGM::MuonDetectorManager& make_dd() spos3->ID.detectorAddress = "dum3.1.1....3A"; ddmdet.Register(); - ddmdet.roParameters.stereoAngel.push_back(0); + ddmdet.roParameters.stereoAngle.push_back(0); AGDDDetectorPositioner* mpos2 = new AGDDDetectorPositioner ("pmdum2", xform); deleter.add (mpos2); diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx b/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx index b6a90dc5898..9e76d69890c 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx @@ -18,13 +18,46 @@ void mm_readoutHandler::ElementHandle() bool ret=true; MM->roParameters.stripPitch = getAttributeAsDouble ("stripPitch", ret); + if (! ret) std::cout << "WARNING: stripPitch is missing" << std::endl; + MM->roParameters.gasThickness = getAttributeAsDouble ("gasThickness", ret); + if (! ret) std::cout << "WARNING: gasThickness is missing" << std::endl; + MM->roParameters.pcbThickness = getAttributeAsDouble ("pcbThickness", ret); + if (! ret) std::cout << "WARNING: pcbThickness is missing" << std::endl; + MM->roParameters.driftThickness = getAttributeAsDouble ("driftThickness", ret); - MM->roParameters.stereoAngel = getAttributeAsVector ("stereoAngle", ret); + if (! ret) std::cout << "WARNING: driftThickness is missing" << std::endl; + + MM->roParameters.stereoAngle = getAttributeAsVector ("stereoAngle", ret); + if (! ret) std::cout << "WARNING: stereoAngle is missing" << std::endl; + MM->roParameters.readoutSide = getAttributeAsIntVector ("readoutSide", ret); + if (! ret) std::cout << "WARNING: readoutSide is missing" << std::endl; + MM->roParameters.zpos = getAttributeAsDouble ("zPos", ret); + if (! ret) std::cout << "WARNING: zPos is missing" << std::endl; + MM->roParameters.distanceFromZAxis = getAttributeAsDouble ("distanceFromZAxis", ret); + if (! ret) std::cout << "WARNING: distanceFromZAxis is missing" << std::endl; + MM->roParameters.roLength = getAttributeAsDouble ("roLength", ret); + if (! ret) std::cout << "WARNING: roLength is missing" << std::endl; + + MM->roParameters.sStripWidth = getAttributeAsDouble ("sStripWidth", ret); + if (! ret) std::cout << "WARNING: sStripWidth is missing" << std::endl; + + MM->roParameters.lStripWidth = getAttributeAsDouble ("lStripWidth", ret); + if (! ret) std::cout << "WARNING: lStripWidth is missing" << std::endl; + + MM->roParameters.activeH = getAttributeAsDouble ("activeH", ret); + if (! ret) std::cout << "WARNING: activeH is missing" << std::endl; + + MM->roParameters.minYPhi = getAttributeAsDouble ("minYPhi", ret); + if (! ret) std::cout << "WARNING: minYPhi is missing" << std::endl; + + MM->roParameters.maxYPhi = getAttributeAsDouble ("maxYPhi", ret); + if (! ret) std::cout << "WARNING: maxYPhi is missing" << std::endl; + } diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h b/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h index f42da84164d..46ba4eec3ca 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h @@ -16,11 +16,16 @@ struct MMReadoutParameters { double gasThickness; double pcbThickness; double driftThickness; - std::vector<double> stereoAngel; + std::vector<double> stereoAngle; std::vector<int> readoutSide; double zpos; double distanceFromZAxis; double roLength; + double sStripWidth; + double lStripWidth; + double activeH; + double minYPhi; + double maxYPhi; }; class MMDetectorDescription: public AGDDDetector { diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h index 0a71604a230..230e66d477a 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h @@ -116,15 +116,20 @@ namespace MuonGM { Amg::Vector2D chPos; if (!channelPosition( chNum, chPos) ) return -10000.; - - double sA = stereoAngle(chNum); + // For MM Stereo strips, we rotated the geometry so the main axis is along the stereo angle + // As such,our calculations are in 1D and do not require the use of the angle + // We are commenting out instead of removing while we come to a permanent solution + // Alexandre Laurier September 12 2018 + //double sA = stereoAngle(chNum); - Amg::Vector2D chLoc( (pos.x()-chPos.x())*cos(sA)-(pos.y()-chPos.y())*sin(sA), - + (pos.x()-chPos.x())*sin(sA)+(pos.y()-chPos.y())*cos(sA) ); + //Amg::Vector2D chLoc( (pos.x()-chPos.x())*cos(sA)-(pos.y()-chPos.y())*sin(sA), + // + (pos.x()-chPos.x())*sin(sA)+(pos.y()-chPos.y())*cos(sA) ); + Amg::Vector2D chLoc( pos.x()-chPos.x() , pos.y()-chPos.y()); if ( validMode && fabs(chLoc.x()) > 0.5*channelWidth( pos) ) { + std::cout << "problem in identification of the channel: distance to nearest channel, channel width:" - <<chLoc.x()<<","<< channelWidth(pos) << std::endl; + <<chLoc.x()<<","<< channelWidth(pos) << std::endl; } return chLoc.x(); @@ -149,7 +154,11 @@ namespace MuonGM { // xMid = pos.x() - pos.y()*tan(sAngle); // For all MM planes the local position is already rotated xMid = pos.x(); - chNum = int( cos(sAngle)*(xMid - xMfirst)/inputPitch+1.5 ); + // This line is to deal with strips in the deadzone. For now, return strip #1 until we figure out best fix + // Alexandre Laurier 12 Sept 2018 + if (xMid > -xSize/2 && xMid < firstPos+inputPitch/2) return 1; // + chNum = int( (xMid - xMfirst)/inputPitch+1.5 ); + //chNum = int( cos(sAngle)*(xMid - xMfirst)/inputPitch+1.5 ); } if (chNum<1) return -1; if (chNum>nch) return -1; // used also for calculation of the number of strips @@ -250,7 +259,7 @@ namespace MuonGM { } else if ( type==MuonChannelDesign::etaStrip ) { - if (sAngle==0.||inputPitch<1.0) { + if (sAngle==0.) { // MM == inputPitch<1.0 always use same code to calculate strip position for layers with and without stereo angle @@ -268,6 +277,10 @@ namespace MuonGM { pos[0] = x; pos[1] = 0; } + else if (inputPitch <1.0) { + pos[0] = firstPos + inputPitch*(st-1); + pos[1] = 0; + } else { // default pos[0] = x; pos[1] = 0; @@ -275,6 +288,13 @@ namespace MuonGM { return true; } + else if (inputPitch <1.0) { + pos[0] = firstPos + inputPitch*(st-1); + pos[1] = 0; + return true; + } + + // strip central position double xMid = firstPos + (st-1)*inputPitch/cos(sAngle); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx index a860746fefe..cc34eaebf8f 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx @@ -175,14 +175,20 @@ namespace MuonGM { // identifier of the first channel to retrieve max number of strips Identifier id = manager()->mmIdHelper()->channelID(getStationName(),getStationEta(),getStationPhi(),m_ml, il+1, 1); int chMax = manager()->mmIdHelper()->channelMax(id); - if ( chMax < 0 ) chMax = 2500; - + if ( chMax < 0 ) { + chMax = 2500; + reLog()<<MSG::WARNING<<"MMReadoutElement -- Max number of strips not a real value"<<endmsg; + } char side = getStationEta() < 0 ? 'C' : 'A'; char sector_l = getStationName().substr(2,1)=="L" ? 'L' : 'S'; MMDetectorHelper aHelper; MMDetectorDescription* mm = aHelper.Get_MMDetector(sector_l, abs(getStationEta()), getStationPhi(), m_ml, side); MMReadoutParameters roParam = mm->GetReadoutParameters(); + m_halfX = roParam.activeH/2; + m_minHalfY = roParam.sStripWidth/2; + m_maxHalfY = roParam.lStripWidth/2; + m_etaDesign[il].type=0; m_etaDesign[il].xSize=2*m_halfX; @@ -193,53 +199,55 @@ namespace MuonGM { m_etaDesign[il].deadI = 0.; m_etaDesign[il].deadS = 0.; - double pitch = getStationName().substr(2,1)=="L" ? roParam.stripPitch : roParam.stripPitch; + double pitch = roParam.stripPitch; m_etaDesign[il].inputPitch = pitch; m_etaDesign[il].inputLength = m_etaDesign[il].minYSize; m_etaDesign[il].inputWidth = pitch; m_etaDesign[il].thickness = roParam.gasThickness; - if (m_ml == 1) m_etaDesign[il].sAngle = (roParam.stereoAngel).at(il); - else if (m_ml == 2) m_etaDesign[il].sAngle = (roParam.stereoAngel).at(il); + if (m_ml == 1) m_etaDesign[il].sAngle = (roParam.stereoAngle).at(il); + else if (m_ml == 2) m_etaDesign[il].sAngle = (roParam.stereoAngle).at(il); else reLog()<<MSG::WARNING <<"MMReadoutElement -- Unexpected Multilayer: m_ml= " << m_ml <<endmsg; if (m_etaDesign[il].sAngle == 0.) { // stereo angle 0. - m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch; - m_etaDesign[il].signY = 1 ; + m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch; + m_etaDesign[il].signY = 1 ; - m_etaDesign[il].nch = (int) (m_etaDesign[il].xSize/pitch) + 1; + m_etaDesign[il].nch = (int) (m_etaDesign[il].xSize/pitch) + 1; - if (m_etaDesign[il].nch > chMax) { // fix with help of dead zone + if (m_etaDesign[il].nch > chMax) { // fix with help of dead zone - double dead = 0.5*(m_etaDesign[il].xSize - chMax*pitch); - m_etaDesign[il].deadO = dead; - m_etaDesign[il].deadI = dead; - m_etaDesign[il].firstPos += dead; - m_etaDesign[il].nch = chMax; - } + double dead = 0.5*(m_etaDesign[il].xSize - chMax*pitch); + m_etaDesign[il].deadO = dead; + m_etaDesign[il].deadI = dead; + m_etaDesign[il].firstPos += dead; + m_etaDesign[il].nch = chMax; + } } else { - m_etaDesign[il].signY = il==2? 1 : -1 ; + m_etaDesign[il].signY = il==2? 1 : -1 ; // firstPos in the position of the centre of the 1st strip on locX axis - m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize // lower module boundary - +0.5*pitch/cos(m_etaDesign[il].sAngle) // half of the strip size in x projection - -0.5*m_etaDesign[il].minYSize*tan(fabs(m_etaDesign[il].sAngle)); // offset needed to fill the corner - // the position of the centre of the last strip on locX axis (in order to cover the module) - double lastPos = 0.5*m_etaDesign[il].xSize // upper module boundary - -0.5*pitch/cos(m_etaDesign[il].sAngle) // half of the strip size in x projection - +0.5*m_etaDesign[il].maxYSize*tan(fabs(m_etaDesign[il].sAngle)); // offset needed to fill the corner + // Alexandre Laurier 12 Sept 2018 + // The MM planes were rotated previously so now the local axis follows the stereo Angle of the strips + // This means all the local coordinates calculations are to be done without x-y projections + // This change was implemented due to tracking constraints and conventions + + // first strip is at bottom of ga + empty strip volume + half strip + m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch + roParam.minYPhi; + + double lastPos = 0.5*m_etaDesign[il].xSize-0.5*pitch-roParam.maxYPhi; // number of channels needed to cover the module - m_etaDesign[il].nch = int((lastPos -m_etaDesign[il].firstPos)/(pitch*cos(m_etaDesign[il].sAngle)))+1 ; + m_etaDesign[il].nch = int((lastPos -m_etaDesign[il].firstPos)/(pitch*cos(m_etaDesign[il].sAngle)))+1; - if (m_etaDesign[il].nch > chMax) { // dead zone does not help here - just limit number of channels + if (m_etaDesign[il].nch > chMax) { // dead zone does not help here - just limit number of channels - std::cerr<<"number of strips exceeds the maximum, adjusted:"<<m_etaDesign[il].nch<<"->"<<chMax << std::endl; - m_etaDesign[il].nch = chMax; + std::cerr<<"number of strips exceeds the maximum, adjusted:"<<m_etaDesign[il].nch<<"->"<<chMax << std::endl; + m_etaDesign[il].nch = chMax; - } + } } diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx index 76e98991e1c..f1463d8a85c 100644 --- a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx +++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx @@ -931,9 +931,23 @@ StatusCode MM_DigitizationTool::doDigitization() { // contain (name, eta, phi, multiPlet) m_idHelper->get_detectorElement_hash(layerID, detectorElementHash); + const MuonGM::MuonChannelDesign* mmChannelDesign = detectorReadoutElement->getDesign(digitID); - double distToChannelWithStripID = mmChannelDesign->distanceToChannel(positionOnSurface, stripNumber); - double distToChannel = mmChannelDesign->distanceToChannel(positionOnSurface); + // As of September 12 2018, to reduce the number of errors and warnings in MM digitization, + // we assign the strips in the dead regions stripNumber=1 (short term fix). + // The distToChannel validation breaks when we do this so we must add another if statement + // These changes should be reverted once we arrive to a proper solution for these dead strips + // Alexandre Laurier 12 Sept 2018 + double distToChannelWithStripID; + double distToChannel; + if (stripNumber ==1){ + distToChannelWithStripID =0.; + distToChannel =0.; + } + else{ + distToChannelWithStripID = mmChannelDesign->distanceToChannel(positionOnSurface, stripNumber); + distToChannel = mmChannelDesign->distanceToChannel(positionOnSurface); + } ATH_MSG_DEBUG(" looking up collection using detectorElementHash " << (int)detectorElementHash << " " @@ -947,7 +961,7 @@ StatusCode MM_DigitizationTool::doDigitization() { m_exitcode = 12; if(m_writeOutputFile) m_ntuple->Fill(); continue; - } + } // Obtain Magnetic Field At Detector Surface Amg::Vector3D hitOnSurfaceGlobal = surf.transform()*hitOnSurface; @@ -1013,22 +1027,24 @@ StatusCode MM_DigitizationTool::doDigitization() { MM_ElectronicsToolInput stripDigitOutput( tmpStripOutput.NumberOfStripsPos(), tmpStripOutput.chipCharge(), tmpStripOutput.chipTime(), digitID , hit.kineticEnergy()); // This block is purely validation - for(size_t i = 0; i<tmpStripOutput.NumberOfStripsPos().size(); i++){ - int tmpStripID = tmpStripOutput.NumberOfStripsPos().at(i); - bool isValid; - Identifier cr_id = m_idHelper->channelID(stName, m_idHelper->stationEta(layerID), m_idHelper->stationPhi(layerID), m_idHelper->multilayer(layerID), m_idHelper->gasGap(layerID), tmpStripID, true, &isValid); - if (!isValid) { - ATH_MSG_WARNING( "MicroMegas digitization: failed to create a valid ID for (chip response) strip n. " << tmpStripID << "; associated positions will be set to 0.0." ); - } else { - Amg::Vector2D cr_strip_pos(0., 0.); - if ( !detectorReadoutElement->stripPosition(cr_id,cr_strip_pos) ) { - ATH_MSG_WARNING("MicroMegas digitization: failed to associate a valid local position for (chip response) strip n. " - << tmpStripID - << "; associated positions will be set to 0.0." - ); - } - } - } + if (stripNumber!=1){ // Extra if statement from quick fix from deadstrip = #1 + for(size_t i = 0; i<tmpStripOutput.NumberOfStripsPos().size(); i++){ + int tmpStripID = tmpStripOutput.NumberOfStripsPos().at(i); + bool isValid; + Identifier cr_id = m_idHelper->channelID(stName, m_idHelper->stationEta(layerID), m_idHelper->stationPhi(layerID), m_idHelper->multilayer(layerID), m_idHelper->gasGap(layerID), tmpStripID, true, &isValid); + if (!isValid) { + ATH_MSG_WARNING( "MicroMegas digitization: failed to create a valid ID for (chip response) strip n. " << tmpStripID << "; associated positions will be set to 0.0." ); + } else { + Amg::Vector2D cr_strip_pos(0., 0.); + if ( !detectorReadoutElement->stripPosition(cr_id,cr_strip_pos) ) { + ATH_MSG_WARNING("MicroMegas digitization: failed to associate a valid local position for (chip response) strip n. " + << tmpStripID + << "; associated positions will be set to 0.0." + ); + } + } + } + } v_stripDigitOutput.push_back(stripDigitOutput); diff --git a/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx b/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx index aae0346ccde..fcc59733e26 100644 --- a/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx +++ b/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx @@ -332,7 +332,7 @@ StatusCode MM_FastDigitizer::execute() { Amg::Vector3D ldir = surf.transform().inverse().linear()*Amg::Vector3D(hit.globalDirection().x(), hit.globalDirection().y(), hit.globalDirection().z()); Amg::Vector3D ldirTime; // the stereo angle vector stores the angles in rad. the vector indices are 0,1,2,3 which map to layers 1,2,3,4 - if ( std::abs( (roParam.stereoAngel).at(m_idHelper->gasGap(layid)-1) ) > 0. ) + if ( std::abs( (roParam.stereoAngle).at(m_idHelper->gasGap(layid)-1) ) > 0. ) ldirTime = ldir; else ldirTime = surf.transform().inverse().linear()*Amg::Vector3D(hit.globalDirection().x(), hit.globalDirection().y(), -hit.globalDirection().z()); @@ -532,7 +532,7 @@ StatusCode MM_FastDigitizer::execute() { ATH_MSG_VERBOSE(" Prd: r " << prd->globalPosition().perp() << " phi " << prd->globalPosition().phi() << " z " << prd->globalPosition().z()); } else { for (int loop_direction = -1; loop_direction <=1; loop_direction+=2) { - Amg::Vector3D stepInDriftGap = loop_direction * ldir * (roParam.stripPitch/std::cos(roParam.stereoAngel.at(m_idHelper->gasGap(layid)-1) ))/abs(ldir.x()); + Amg::Vector3D stepInDriftGap = loop_direction * ldir * (roParam.stripPitch/std::cos(roParam.stereoAngle.at(m_idHelper->gasGap(layid)-1) ))/abs(ldir.x()); if (loop_direction == 1) CurrentHitInDriftGap = slpos + stepInDriftGap; while (std::abs(CurrentHitInDriftGap.z()) <= roParam.gasThickness) { Amg::MatrixX* cov = new Amg::MatrixX(1,1); diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml index fdc3bfa9648..f934c8d20a9 120000 --- a/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml @@ -1 +1 @@ -stations.v1.81.xml \ No newline at end of file +stations.v1.82.xml \ No newline at end of file diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml new file mode 100644 index 00000000000..d6422110eba --- /dev/null +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AGDD> + +<section name="NSW_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > +<!-- Global variables--> +<var name="NSW_NbrOfLayers" value="4"/> +<var name="NSW_NbrOfDriftPcb" value="3"/> +<var name="NSW_NbrOfROPcb" value="2"/> +</section> + +<section name="NSW_sTGC_Parameters" version="13.7" top_volume="useless" date=" June 30, 2016 " author="Daniel Lellouch"> +<!-- ================ Global Variables ================= --> + +<!-- Thickness of a quadruplet --> +<var name="NSW_sTGC_Tck" value="49.34"/> +<!-- Gas Gap inside one layer --> +<var name="NSW_sTGC_GasTck" value="2.85"/> +<!-- G10 thickness per layer --> +<var name="NSW_sTGC_pcbTck" value="3"/> +<!-- Number of layers in a quaduplet --> +<var name="NSW_sTGC_NbrOfLayers" value="4"/> +<!-- Wire pitch --> +<var name="NSW_sTGC_WirePitch" value="1.8"/> +<!-- Strip pitch --> +<var name="NSW_sTGC_StripPitch" value="3.2"/> +<!-- Strip width --> +<var name="NSW_sTGC_StripWidth" value="2.7"/> +<!-- Width of G10 frame besides gas volume --> +<var name="NSW_sTGC_SideFrame" value="28.5"/> +<!-- Width of G10 frame in base w/o capacitor --> +<var name="NSW_sTGC_hFrameNoCapacitor" value="11"/> +<!-- Width of G10 frame in base with capacitor --> +<var name="NSW_sTGC_hFrameCapacitor" value="14"/> +<!-- Opening (in degrees) of trapezes in small wedges --> +<var name="NSW_sTGC_SmallOpening" value="17"/> +<!-- Opening (in degrees) of trapezes in large wedges --> +<var name="NSW_sTGC_LargeOpening" value="28"/> +<!-- Z center of small Pivot --> +<var name="NSW_sTGC_ZSmallPivot" value="7344"/> +<!-- Z center of small Confirm --> +<var name="NSW_sTGC_ZSmallConfirm" value="7010"/> +<!-- Z center of Large Pivot --> +<var name="NSW_sTGC_ZLargePivot" value="7474"/> +<!-- Z center of Large Confirm --> +<var name="NSW_sTGC_ZLargeConfirm" value="7808"/> +<!-- Z of each volume, relative to center of quadruplet --> +<array name="NSW_sTGC_LayerDeltaZ" values="-16.45;-5.48;5.49;16.46"/> +<!-- Side of the Pad readout --> +<array name="NSW_sTGC_PadSide" values="-1;1;-1;1"/> +<!-- Side of the Strip readout --> +<array name="NSW_sTGC_StripSide" values="1;-1;1;-1"/> +</section> + +<!-- ================ sTGC ========================= --> + + +<section name="NewSmallWheels_sTGC" version="22.1" top_volume="useless" date=" June 22, 2018 " author="Daniel Lellouch"> + +<composition name="NSW_sTGC"> + +<sTGC_Tech type="sTGC_1" geometryLevel="1" nLayers="NSW_sTGC_NbrOfLayers" gasTck="NSW_sTGC_GasTck" pcbTck="NSW_sTGC_pcbTck" Tck="NSW_sTGC_Tck" f4="NSW_sTGC_hFrameNoCapacitor" f5="NSW_sTGC_hFrameNoCapacitor" f6="NSW_sTGC_SideFrame"/> + +<!-- ================ small Pivot ========================= --> + +<sTGC type="sTG1-QS1P" tech="sTGC_1" subType="QS1P" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="279.32" lPadWidth="667.18" padH="80;80;80.24;80.24" rankPadPhi="4;3;2;1" nPadPhi="4;4;3;3" anglePadPhi="5" firstPadPhiDivision_C="-5;-5;-2.5;-2.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-5;-5;-2.5;-2.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;17;17" firstPadH="65.8;65.8;28.61;28.61" firstPadRow="1;1;1;1" sStripWidth="293.48" lStripWidth="681.33" wireCutout="802.8;829.8;856.8;883.8" nWires="371;370;370;370" firstWire="-333;-331.65;-332.55;-332.1" wireGroupWidth="20" nStrips="406" firstTriggerBand="3;3;3;3" nTriggerBands="28;28;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13; 12;13;12;13;12;13;10" StripsInBandsLayer2="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;13;12; 13;12;13;12;13;12;10" StripsInBandsLayer3="12;13;12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;12;13;12;13;12; 13;12;13;13;12;13;8" StripsInBandsLayer4="12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;13;12;13;12;13;12;13; 12;13;12;13;13;12;8" nWireGroups="19;20;19;19" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1P" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS2P" tech="sTGC_1" subType="QS2P" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="677.64" lPadWidth="1026.28" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;15;15" firstPadH="93.2;93.2;60.09;60.09" firstPadRow="18;18;18;18" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="569;570;570;570" firstWire="-511.2;-511.65;-512.55;-512.1" wireGroupWidth="20" nStrips="365" firstTriggerBand="34;34;34;34" nTriggerBands="30;30;30;30" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="4;13;12;13;12;13;12;13;12;12; 12;13;12;12;13;12;13;12;13;12; 13;12;13;12;;12;13;12;13;11" StripsInBandsLayer2="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer3="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer4="7;12;13;12;13;12;13;13;12;12; 12;13;12;13;12;13;13;12;13;12; 13;12;13;12;13;12;13;13;12;7" nWireGroups="29;30;29;29" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2P" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS3P" tech="sTGC_1" subType="QS3P" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1037.46" lPadWidth="1330.62" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="12;12;13;13" firstPadH="89.4;89.4;59.88;59.88" firstPadRow="33;33;33;33" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="739;739;739;738" firstWire="-664.2;-664.65;-663.75;-663.3" wireGroupWidth="20" nStrips="307" firstTriggerBand="64;64;64;64" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="3;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;12;13;12;13; 12;13;12;13;12;5" StripsInBandsLayer2="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 13;12;13;12;13;3" StripsInBandsLayer3="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 12;13;12;13;13" StripsInBandsLayer4="7;13;12;13;12;13;12;13;12;12; 12;13;13;12;13;12;13;12;13;12; 13;12;13;13;11" nWireGroups="37;38;38;38" firstWireGroup="20;14;10;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3P" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + + +<!-- ================ small confirm =============== --> + +<sTGC type="sTG1-QS1C" tech="sTGC_1" subType="QS1C" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="293.48" lPadWidth="681.33" padH="76.35;76.35;76.59;76.59" rankPadPhi="1;4;2;3" nPadPhi="4;4;4;4" anglePadPhi="5" firstPadPhiDivision_C="-3.75;-6.25;-3.75;-6.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-6.25;-3.75;-6.25;-3.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="17;17;18;18" firstPadH="78.4;78.4;43.21;43.21" firstPadRow="2;2;2;2" sStripWidth="293.48" lStripWidth="681.33" wireCutout="883.8;856.8;829.8;802.8" nWires="370;370;370;371" firstWire="-332.1;-331.65;-332.55;-333" wireGroupWidth="20" nStrips="406" firstTriggerBand="5;5;5;5" nTriggerBands="32;32;31;31" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;12;11;12;12;12; 12;12;12;12;12;12;12;12;11;12;12;12" StripsInBandsLayer2="12;12;12;12;11;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 11;12;12;12;12;12;12;12;12;12;12;11" StripsInBandsLayer3="12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;11;10" StripsInBandsLayer4="12;12;12;12;12;12;12;12;11; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;12;9" nWireGroups="20;19;19;19" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1C" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS2C" tech="sTGC_1" subType="QS2C" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="691.8" lPadWidth="1040.43" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;15;15" firstPadH="43.8;43.8;89.29;89.29" firstPadRow="19;19;20;20" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="570;570;570;569" firstWire="-512.1;-511.65;-512.55;-511.2" wireGroupWidth="20" nStrips="365" firstTriggerBand="64;64;64;64" nTriggerBands="31;31;31;31" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="2;12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;11;12" StripsInBandsLayer2="12;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer3="2;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer4="5;12;11;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12" nWireGroups="30;29;29;29" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2C" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS3C" tech="sTGC_1" subType="QS3C" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1051.61" lPadWidth="1344.78" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="61.66;61.66;34.38;34.38" firstPadRow="35;35;35;35" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="738;739;739;739" firstWire="-663.3;-664.65;-663.75;-664.2" wireGroupWidth="20" nStrips="307" firstTriggerBand="37;37;37;37" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="6;7;12;12;12;12;12;12;11;11; 12;12;12;12;12;12;12;12;12;12; 12;11;12;13;12;12" StripsInBandsLayer2="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;13;12" StripsInBandsLayer3="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;13" StripsInBandsLayer4="1;12;12;12;12;12;12;11;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;11" nWireGroups="38;38;38;38" firstWireGroup="5;14;15;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3C" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + + +<!-- ================ Large Pivot ==================== --> + +<sTGC type="sTG1-QL1P" tech="sTGC_1" subType="QL1P" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="476.42" lPadWidth="1126.66" padH="81.42;81.42;81.66;81.66" rankPadPhi="4;3;2;1" nPadPhi="6;6;7;7" anglePadPhi="5" firstPadPhiDivision_C="-10;-10;-12.5;-12.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-10;-10;-12.5;-12.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;16;16" firstPadH="54.39;54.39;98.15;98.15" firstPadRow="1;1;2;2" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="808;835;862;889" nWires="621;620;620;620" firstWire="-558;-556.65;-557.55;-557.1" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="30;30;30;30" firstStripInTrigger="45;45;45;45" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13; 13;12;13;13;13;12;13;13" StripsInBandsLayer2="13;13;12;13;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;13;12; 13;13;12;13;13;13;12;13" StripsInBandsLayer3="13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13" StripsInBandsLayer4="13;13;12;13;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;13;12;13; 13;13;12;13;13;13;12;13" nWireGroups="32;32;32;32" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1P" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL2P" tech="sTGC_1" subType="QL2P" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1144.12" lPadWidth="1727.34" padH="81.42;81.42;81.66;81.66" rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="14;14;15;15" firstPadH="99.51;99.51;65.69;65.69" firstPadRow="18;18;18;18" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="953;954;954;954" firstWire="-856.8;-857.25;-858.15;-857.7" wireGroupWidth="20" nStrips="366" firstTriggerBand="33;33;33;33" nTriggerBands="30;30;30;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="9;6;12;13;13;12;13;13;13;12;13;13;1313;13;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer2="9;6;13;13;12;13;13;13;12;13;13;12;1213;13;13;12;13;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer3="7;8;12;13;13;13;12;13;13;13;12;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13;13" StripsInBandsLayer4="7;8;13;13;13;12;13;13;13;12;13;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13" nWireGroups="48;49;49;48" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2P" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL3P" tech="sTGC_1" subType="QL3P" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1745.99" lPadWidth="2054" padH="81.42;81.42;81.66;81.66" + rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;14;14" firstPadH="32.38;32.38;83.57;83.57" firstPadRow="32;32;33;33" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1133;1134;1134;1134" firstWire="-1018.8;-1019.25;-1019.7;-1019.7" wireGroupWidth="20" nStrips="353" firstTriggerBand="63;63;63;62" nTriggerBands="28;28;28;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="10;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13;12;13" StripsInBandsLayer2="11;13;12;13;13;13;12;13;13; 12;13;13;13;12;13;13;13;12;13; 13;13;12;13;13;12;13;13;11" StripsInBandsLayer3="13;13;13;12;13;13;13;12;13; 13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13;8" StripsInBandsLayer4="1;13;13;13;12;13;13;13;13;12; 13;13;13;12;13;13;13;12;13;13; 13;13;12;13;13;13;12;13;7" nWireGroups="57;58;58;57" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3P" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<!-- =============== Large Confirm ===================== --> + +<sTGC type="sTG1-QL1C" tech="sTGC_1" subType="QL1C" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="490.84" lPadWidth="1141.09" padH="85.07;85.07;85.31;85.31" rankPadPhi="4;3;2;1" nPadPhi="6;6;6;6" anglePadPhi="5" firstPadPhiDivision_C="-8.75;-11.25;-8.75;-11.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-11.25;-8.75;-11.25;-8.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;16;16" firstPadH="77.79;77.79;38.01;38.01" firstPadRow="1;1;1;1" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="889;862;835;808" nWires="620;620;620;621" firstWire="-557.1;-556.65;-557.55;-558" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="29;29;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="13;13;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;13;14;13;13; 13;14;13;13;14;13;13;13" StripsInBandsLayer2="13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13" StripsInBandsLayer3="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13" StripsInBandsLayer4="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 14;13;13;14;13;13;14;13" nWireGroups="32;32;32;32" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1C" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL2C" tech="sTGC_1" subType="QL2C" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1158.55" lPadWidth="1741.77" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="14;14;14;14" firstPadH="99.84;99.84;63.9;63.9" firstPadRow="17;17;17;17" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="954;954;954;953" firstWire="-857.7;-857.25;-858.15;-856.8" wireGroupWidth="20" nStrips="366" firstTriggerBand="30;30;30;30" nTriggerBands="29;29;29;29" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;5;13;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13;13;14; 13;13;14;13;13;13;14;13;13" StripsInBandsLayer2="11;5;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13" StripsInBandsLayer3="10;7;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;14;13;13; 14;13;13;14;13;13;14;13;13" StripsInBandsLayer4="9;7;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;14;13;13; 14;13;13;14;13;13;14;13;12" nWireGroups="49;49;48;48" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2C" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL3C" tech="sTGC_1" subType="QL3C" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1760.42" lPadWidth="2054" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="83.76;83.76;51.17;51.17" firstPadRow="31;31;31;31" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1134;1134;1134;1133" firstWire="-1019.7;-1019.25;-1020.15;-1018.8" wireGroupWidth="20" nStrips="353" firstTriggerBand="60;60;60;60" nTriggerBands="28;28;28;28" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="3;13;13;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;13;14;13; 13;13;14;13;13;14;8" StripsInBandsLayer2="2;14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;7" StripsInBandsLayer3="2;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;13;14;13;13;14; 13;13;14;13;13;14;4" StripsInBandsLayer4="3;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;14;13;13;14;13;3" nWireGroups="58;58;57;57" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3C" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +</composition> +</section> + + +<!-- ========== MicroMegas ============================== --> + +<section name="NSW_MM_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + +<!-- Frames. "f1": frame width close to the trapezium large side. "f2": frame width close to the trapezium small side. "f3": frame width close to the trapezium oblique side --> + +<!-- Distance from IP, labeled zmin_MM in Parameter Book --> +<var name="NSW_MM_LM_distanceFromIP" value="7536"/> +<var name="NSW_MM_SM_distanceFromIP" value="7072"/> +<!-- Thickness of Multilayer and the subcomponent (mm)--> +<var name="NSW_MM_GasTck" value="5.04"/> +<var name="NSW_MM_ROPcbTck" value="11.69"/> +<var name="NSW_MM_DriftPcbTck" value="11.284"/> +<var name="NSW_MM_MultilayerTck" value="NSW_NbrOfLayers* NSW_MM_GasTck + (NSW_NbrOfDriftPcb) * NSW_MM_DriftPcbTck+ ( NSW_NbrOfROPcb) * NSW_MM_ROPcbTck" /> <!-- Thickness of one multilayer --> + +<!-- Large sector modules (LM1" LM2). Modules are all trapezoid. ""Height"": radial envelope" ""base/top Width"": upper/lower side of the trapezoid--> +<var name="NSW_MM_LM1_InnerRadius" value="923" /> +<var name="NSW_MM_LM1_Length" value="2310" /> +<var name="NSW_MM_LM1_outerRadius" value="NSW_MM_LM1_InnerRadius+NSW_MM_LM1_Length" /> +<var name="NSW_MM_LM1_f1" value="30"/> +<var name="NSW_MM_LM1_f2" value="30"/> +<var name="NSW_MM_LM1_f3" value="100"/> +<var name="NSW_MM_LMGap_Length" value="5" /> <!-- Radial gap between LM1 and LM2 --> +<var name="NSW_MM_LM2_InnerRadius" value="NSW_MM_LM1_outerRadius+NSW_MM_LMGap_Length" /> +<var name="NSW_MM_LM2_Length" value="1410" /> +<var name="NSW_MM_LM2_outerRadius" value="NSW_MM_LM2_InnerRadius+NSW_MM_LM2_Length" /> +<var name="NSW_MM_LM1_baseWidth" value="640" /> +<var name="NSW_MM_LM1_topWidth" value="2008.5" /> +<var name="NSW_MM_LM2_baseWidth" value="2022.8" /> +<var name="NSW_MM_LM2_topWidth" value="2220" /> +<var name="NSW_MM_LM2_f1" value="30"/> +<var name="NSW_MM_LM2_f2" value="30"/> +<var name="NSW_MM_LM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_LM1_activeA" value="453.0"/> +<var name="NSW_MM_LM1_activeB" value="1780.0"/> +<var name="NSW_MM_LM1_activeH" value="2238.8"/> +<var name="NSW_MM_LM2_activeA" value="1828.0"/> +<var name="NSW_MM_LM2_activeB" value="2015.0"/> +<var name="NSW_MM_LM2_activeH" value="1339.3"/> +<!-- Small sector modules (SM1" SM2). Modules are all trapezoids. ""Height"": radial envelope" ""base/top Width"": upper/lower side --> +<var name="NSW_MM_SM1_InnerRadius" value="895" /> +<var name="NSW_MM_SM1_Length" value="2210" /> +<var name="NSW_MM_SM1_outerRadius" value="NSW_MM_SM1_InnerRadius+NSW_MM_SM1_Length" /> +<var name="NSW_MM_SMGap_Length" value="5" /> <!-- Radial gap between SM1 and SM2 --> +<var name="NSW_MM_SM1_f1" value="30"/> +<var name="NSW_MM_SM1_f2" value="30"/> +<var name="NSW_MM_SM1_f3" value="100"/> +<var name="NSW_MM_SM2_InnerRadius" value="NSW_MM_SM1_outerRadius+NSW_MM_SMGap_Length" /> +<var name="NSW_MM_SM2_Length" value="1350" /> +<var name="NSW_MM_SM2_outerRadius" value="NSW_MM_SM2_InnerRadius+NSW_MM_SM2_Length" /> +<var name="NSW_MM_SM1_baseWidth" value="500" /> +<var name="NSW_MM_SM1_topWidth" value="1319.2" /> +<var name="NSW_MM_SM2_baseWidth" value="1321.1" /> +<var name="NSW_MM_SM2_topWidth" value="1821.5" /> +<var name="NSW_MM_SM2_f1" value="30"/> +<var name="NSW_MM_SM2_f2" value="30"/> +<var name="NSW_MM_SM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_SM1_activeA" value="310.0"/> +<var name="NSW_MM_SM1_activeB" value="1102.5"/> +<var name="NSW_MM_SM1_activeH" value="2139.3"/> +<var name="NSW_MM_SM2_activeA" value="1130.0"/> +<var name="NSW_MM_SM2_activeB" value="1575.0"/> +<var name="NSW_MM_SM2_activeH" value="1279.3"/> + +<var name="NSW_MM_LargeSector_ZCENTER" value="(NSW_sTGC_ZLargePivot+NSW_sTGC_ZLargeConfirm)/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="(NSW_sTGC_ZSmallPivot+NSW_sTGC_ZSmallConfirm)/2."/> + + +<!-- Thickness of inter-multilayer spacers --> +<var name="NSW_MM_SpacerThickness" value="50" /> + +<!-- Global z-coordinate for the sector center --> +<!-- <var name="NSW_MM_LargeSector_ZCENTER" value="NSW_MM_LM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="NSW_MM_SM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> --> + +</section> + +<section name="NewSmallWheelsMM" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + + +<!-- Technologies --> +<mm_Tech type="MM_1" geometryLevel="1" nLayers="NSW_NbrOfLayers" gasTck="NSW_MM_GasTck" driftPcbTck="NSW_MM_DriftPcbTck" ROPcbTck="NSW_MM_ROPcbTck" Tck="NSW_MM_MultilayerTck" /> +<mmSpacer_Tech type="Spa_1" Tck="NSW_MM_SpacerThickness" /> + +<!-- large wheel --> +<micromegas type="sMD1-1-1" tech="MM_1" subType="M1L1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-1" tech="MM_1" subType="M2L1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> +<micromegas type="sMD1-1-2" tech="MM_1" subType="M1L2" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-2" tech="MM_1" subType="M2L2" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> + +<mmSpacer type="spa1-1" tech="Spa_1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM1_Length" /> +<mmSpacer type="spa1-2" tech="Spa_1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM2_Length" /> + + +<!-- small wheel --> +<micromegas type="sMD3-1-1" tech="MM_1" subType="M1S1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-1" tech="MM_1" subType="M2S1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<micromegas type="sMD3-1-2" tech="MM_1" subType="M1S2" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-2" tech="MM_1" subType="M2S2" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<mmSpacer type="spa3-1" tech="Spa_1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM1_Length" /> +<mmSpacer type="spa3-2" tech="Spa_1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM2_Length" /> + +<composition name="NSW_MM" > +<!-- A-SIDE --> + +<!-- LARGE SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD1-1-1" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-1" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<!-- spacer --> +<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD1-1-2" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-2" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> + +<!-- SMALL SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD3-1-1" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-1" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- spacer --> +<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD3-1-2" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-2" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- C-SIDE --> +<!-- LARGE SECTOR --> +<!-- spacer --> +<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> + +<!-- SMALL SECTOR --> +<!-- spacer --> +<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> + +</composition> + +</section> + + +<!-- ========== Poisitionning sTGC in NSW================ --> + + +<section name="NewSmallWheels" version="4.3" top_volume="useless" date=" April 20, 2015 " author="Daniel Lellouch"> + +<composition name="NewSmallWheel"> + <posXYZ volume="NSW_sTGC" X_Y_Z="0.;0.;0."/> + <posXYZ volume="NSW_MM" X_Y_Z="0.;0.;0." /> +</composition> + +</section> +</AGDD> diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml new file mode 100644 index 00000000000..3c7deddc506 --- /dev/null +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml @@ -0,0 +1,1802 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AGDD> + +<section name="NSW_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > +<!-- Global variables--> +<var name="NSW_NbrOfLayers" value="4"/> +<var name="NSW_NbrOfDriftPcb" value="3"/> +<var name="NSW_NbrOfROPcb" value="2"/> +<!--Center between the large sectors and the small sectors--> +<var name="ZCenter_Global" value="7409"/> +</section> + +<section name="NSW_sTGC_Parameters" version="13.7" top_volume="useless" date=" June 30, 2016 " author="Daniel Lellouch"> +<!-- ================ Global Variables ================= --> + +<!-- Thickness of a quadruplet --> +<var name="NSW_sTGC_Tck" value="49.34"/> +<!-- Gas Gap inside one layer --> +<var name="NSW_sTGC_GasTck" value="2.85"/> +<!-- G10 thickness per layer --> +<var name="NSW_sTGC_pcbTck" value="3"/> +<!-- Number of layers in a quaduplet --> +<var name="NSW_sTGC_NbrOfLayers" value="4"/> +<!-- Wire pitch --> +<var name="NSW_sTGC_WirePitch" value="1.8"/> +<!-- Strip pitch --> +<var name="NSW_sTGC_StripPitch" value="3.2"/> +<!-- Strip width --> +<var name="NSW_sTGC_StripWidth" value="2.7"/> +<!-- Width of G10 frame besides gas volume --> +<var name="NSW_sTGC_SideFrame" value="28.5"/> +<!-- Width of G10 frame in base w/o capacitor --> +<var name="NSW_sTGC_hFrameNoCapacitor" value="11"/> +<!-- Width of G10 frame in base with capacitor --> +<var name="NSW_sTGC_hFrameCapacitor" value="14"/> +<!-- Opening (in degrees) of trapezes in small wedges --> +<var name="NSW_sTGC_SmallOpening" value="17"/> +<!-- Opening (in degrees) of trapezes in large wedges --> +<var name="NSW_sTGC_LargeOpening" value="28"/> +<!-- Z center of small Pivot --> +<var name="NSW_sTGC_ZSmallPivot" value="ZCenter_Global-65"/> +<!-- Z center of small Confirm --> +<var name="NSW_sTGC_ZSmallConfirm" value="ZCenter_Global-399"/> +<!-- Z center of Large Pivot --> +<var name="NSW_sTGC_ZLargePivot" value="ZCenter_Global+65"/> +<!-- Z center of Large Confirm --> +<var name="NSW_sTGC_ZLargeConfirm" value="ZCenter_Global+399"/> +<!-- Z of each volume, relative to center of quadruplet --> +<array name="NSW_sTGC_LayerDeltaZ" values="-16.45;-5.48;5.49;16.46"/> +<!-- Side of the Pad readout --> +<array name="NSW_sTGC_PadSide" values="-1;1;-1;1"/> +<!-- Side of the Strip readout --> +<array name="NSW_sTGC_StripSide" values="1;-1;1;-1"/> +</section> + +<!-- ================ sTGC ========================= --> + + +<section name="NewSmallWheels_sTGC" version="22.1" top_volume="useless" date=" June 22, 2018 " author="Daniel Lellouch"> + +<composition name="NSW_sTGC"> + +<sTGC_Tech type="sTGC_1" geometryLevel="1" nLayers="NSW_sTGC_NbrOfLayers" gasTck="NSW_sTGC_GasTck" pcbTck="NSW_sTGC_pcbTck" Tck="NSW_sTGC_Tck" f4="NSW_sTGC_hFrameNoCapacitor" f5="NSW_sTGC_hFrameNoCapacitor" f6="NSW_sTGC_SideFrame"/> + +<!-- ================ small Pivot ========================= --> + +<sTGC type="sTG1-QS1P" tech="sTGC_1" subType="QS1P" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="279.32" lPadWidth="667.18" padH="80;80;80.24;80.24" rankPadPhi="4;3;2;1" nPadPhi="4;4;3;3" anglePadPhi="5" firstPadPhiDivision_C="-5;-5;-2.5;-2.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-5;-5;-2.5;-2.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;17;17" firstPadH="65.8;65.8;28.61;28.61" firstPadRow="1;1;1;1" sStripWidth="293.48" lStripWidth="681.33" wireCutout="802.8;829.8;856.8;883.8" nWires="371;370;370;370" firstWire="-333;-331.65;-332.55;-332.1" wireGroupWidth="20" nStrips="406" firstTriggerBand="3;3;3;3" nTriggerBands="28;28;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13; 12;13;12;13;12;13;10" StripsInBandsLayer2="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;13;12; 13;12;13;12;13;12;10" StripsInBandsLayer3="12;13;12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;12;13;12;13;12; 13;12;13;13;12;13;8" StripsInBandsLayer4="12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;13;12;13;12;13;12;13; 12;13;12;13;13;12;8" nWireGroups="19;20;19;19" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1P" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS2P" tech="sTGC_1" subType="QS2P" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="677.64" lPadWidth="1026.28" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;15;15" firstPadH="93.2;93.2;60.09;60.09" firstPadRow="18;18;18;18" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="569;570;570;570" firstWire="-511.2;-511.65;-512.55;-512.1" wireGroupWidth="20" nStrips="365" firstTriggerBand="34;34;34;34" nTriggerBands="30;30;30;30" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="4;13;12;13;12;13;12;13;12;12; 12;13;12;12;13;12;13;12;13;12; 13;12;13;12;;12;13;12;13;11" StripsInBandsLayer2="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer3="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer4="7;12;13;12;13;12;13;13;12;12; 12;13;12;13;12;13;13;12;13;12; 13;12;13;12;13;12;13;13;12;7" nWireGroups="29;30;29;29" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2P" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS3P" tech="sTGC_1" subType="QS3P" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1037.46" lPadWidth="1330.62" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="12;12;13;13" firstPadH="89.4;89.4;59.88;59.88" firstPadRow="33;33;33;33" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="739;739;739;738" firstWire="-664.2;-664.65;-663.75;-663.3" wireGroupWidth="20" nStrips="307" firstTriggerBand="64;64;64;64" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="3;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;12;13;12;13; 12;13;12;13;12;5" StripsInBandsLayer2="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 13;12;13;12;13;3" StripsInBandsLayer3="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 12;13;12;13;13" StripsInBandsLayer4="7;13;12;13;12;13;12;13;12;12; 12;13;13;12;13;12;13;12;13;12; 13;12;13;13;11" nWireGroups="37;38;38;38" firstWireGroup="20;14;10;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3P" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + + +<!-- ================ small confirm =============== --> + +<sTGC type="sTG1-QS1C" tech="sTGC_1" subType="QS1C" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="293.48" lPadWidth="681.33" padH="76.35;76.35;76.59;76.59" rankPadPhi="1;4;2;3" nPadPhi="4;4;4;4" anglePadPhi="5" firstPadPhiDivision_C="-3.75;-6.25;-3.75;-6.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-6.25;-3.75;-6.25;-3.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="17;17;18;18" firstPadH="78.4;78.4;43.21;43.21" firstPadRow="2;2;2;2" sStripWidth="293.48" lStripWidth="681.33" wireCutout="883.8;856.8;829.8;802.8" nWires="370;370;370;371" firstWire="-332.1;-331.65;-332.55;-333" wireGroupWidth="20" nStrips="406" firstTriggerBand="5;5;5;5" nTriggerBands="32;32;31;31" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;12;11;12;12;12; 12;12;12;12;12;12;12;12;11;12;12;12" StripsInBandsLayer2="12;12;12;12;11;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 11;12;12;12;12;12;12;12;12;12;12;11" StripsInBandsLayer3="12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;11;10" StripsInBandsLayer4="12;12;12;12;12;12;12;12;11; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;12;9" nWireGroups="20;19;19;19" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1C" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS2C" tech="sTGC_1" subType="QS2C" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="691.8" lPadWidth="1040.43" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;15;15" firstPadH="43.8;43.8;89.29;89.29" firstPadRow="19;19;20;20" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="570;570;570;569" firstWire="-512.1;-511.65;-512.55;-511.2" wireGroupWidth="20" nStrips="365" firstTriggerBand="64;64;64;64" nTriggerBands="31;31;31;31" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="2;12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;11;12" StripsInBandsLayer2="12;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer3="2;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer4="5;12;11;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12" nWireGroups="30;29;29;29" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2C" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS3C" tech="sTGC_1" subType="QS3C" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1051.61" lPadWidth="1344.78" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="61.66;61.66;34.38;34.38" firstPadRow="35;35;35;35" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="738;739;739;739" firstWire="-663.3;-664.65;-663.75;-664.2" wireGroupWidth="20" nStrips="307" firstTriggerBand="37;37;37;37" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="6;7;12;12;12;12;12;12;11;11; 12;12;12;12;12;12;12;12;12;12; 12;11;12;13;12;12" StripsInBandsLayer2="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;13;12" StripsInBandsLayer3="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;13" StripsInBandsLayer4="1;12;12;12;12;12;12;11;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;11" nWireGroups="38;38;38;38" firstWireGroup="5;14;15;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3C" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + + +<!-- ================ Large Pivot ==================== --> + +<sTGC type="sTG1-QL1P" tech="sTGC_1" subType="QL1P" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="476.42" lPadWidth="1126.66" padH="81.42;81.42;81.66;81.66" rankPadPhi="4;3;2;1" nPadPhi="6;6;7;7" anglePadPhi="5" firstPadPhiDivision_C="-10;-10;-12.5;-12.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-10;-10;-12.5;-12.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;16;16" firstPadH="54.39;54.39;98.15;98.15" firstPadRow="1;1;2;2" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="808;835;862;889" nWires="621;620;620;620" firstWire="-558;-556.65;-557.55;-557.1" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="30;30;30;30" firstStripInTrigger="45;45;45;45" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13; 13;12;13;13;13;12;13;13" StripsInBandsLayer2="13;13;12;13;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;13;12; 13;13;12;13;13;13;12;13" StripsInBandsLayer3="13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13" StripsInBandsLayer4="13;13;12;13;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;13;12;13; 13;13;12;13;13;13;12;13" nWireGroups="32;32;32;32" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1P" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL2P" tech="sTGC_1" subType="QL2P" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1144.12" lPadWidth="1727.34" padH="81.42;81.42;81.66;81.66" rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="14;14;15;15" firstPadH="99.51;99.51;65.69;65.69" firstPadRow="18;18;18;18" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="953;954;954;954" firstWire="-856.8;-857.25;-858.15;-857.7" wireGroupWidth="20" nStrips="366" firstTriggerBand="33;33;33;33" nTriggerBands="30;30;30;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="9;6;12;13;13;12;13;13;13;12;13;13;1313;13;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer2="9;6;13;13;12;13;13;13;12;13;13;12;1213;13;13;12;13;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer3="7;8;12;13;13;13;12;13;13;13;12;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13;13" StripsInBandsLayer4="7;8;13;13;13;12;13;13;13;12;13;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13" nWireGroups="48;49;49;48" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2P" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL3P" tech="sTGC_1" subType="QL3P" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1745.99" lPadWidth="2054" padH="81.42;81.42;81.66;81.66" + rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;14;14" firstPadH="32.38;32.38;83.57;83.57" firstPadRow="32;32;33;33" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1133;1134;1134;1134" firstWire="-1018.8;-1019.25;-1019.7;-1019.7" wireGroupWidth="20" nStrips="353" firstTriggerBand="63;63;63;62" nTriggerBands="28;28;28;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="10;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13;12;13" StripsInBandsLayer2="11;13;12;13;13;13;12;13;13; 12;13;13;13;12;13;13;13;12;13; 13;13;12;13;13;12;13;13;11" StripsInBandsLayer3="13;13;13;12;13;13;13;12;13; 13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13;8" StripsInBandsLayer4="1;13;13;13;12;13;13;13;13;12; 13;13;13;12;13;13;13;12;13;13; 13;13;12;13;13;13;12;13;7" nWireGroups="57;58;58;57" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3P" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<!-- =============== Large Confirm ===================== --> + +<sTGC type="sTG1-QL1C" tech="sTGC_1" subType="QL1C" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="490.84" lPadWidth="1141.09" padH="85.07;85.07;85.31;85.31" rankPadPhi="4;3;2;1" nPadPhi="6;6;6;6" anglePadPhi="5" firstPadPhiDivision_C="-8.75;-11.25;-8.75;-11.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-11.25;-8.75;-11.25;-8.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;16;16" firstPadH="77.79;77.79;38.01;38.01" firstPadRow="1;1;1;1" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="889;862;835;808" nWires="620;620;620;621" firstWire="-557.1;-556.65;-557.55;-558" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="29;29;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="13;13;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;13;14;13;13; 13;14;13;13;14;13;13;13" StripsInBandsLayer2="13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13" StripsInBandsLayer3="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13" StripsInBandsLayer4="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 14;13;13;14;13;13;14;13" nWireGroups="32;32;32;32" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1C" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL2C" tech="sTGC_1" subType="QL2C" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1158.55" lPadWidth="1741.77" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="14;14;14;14" firstPadH="99.84;99.84;63.9;63.9" firstPadRow="17;17;17;17" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="954;954;954;953" firstWire="-857.7;-857.25;-858.15;-856.8" wireGroupWidth="20" nStrips="366" firstTriggerBand="30;30;30;30" nTriggerBands="29;29;29;29" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;5;13;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13;13;14; 13;13;14;13;13;13;14;13;13" StripsInBandsLayer2="11;5;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13" StripsInBandsLayer3="10;7;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;14;13;13; 14;13;13;14;13;13;14;13;13" StripsInBandsLayer4="9;7;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;14;13;13; 14;13;13;14;13;13;14;13;12" nWireGroups="49;49;48;48" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2C" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL3C" tech="sTGC_1" subType="QL3C" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1760.42" lPadWidth="2054" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="83.76;83.76;51.17;51.17" firstPadRow="31;31;31;31" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1134;1134;1134;1133" firstWire="-1019.7;-1019.25;-1020.15;-1018.8" wireGroupWidth="20" nStrips="353" firstTriggerBand="60;60;60;60" nTriggerBands="28;28;28;28" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="3;13;13;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;13;14;13; 13;13;14;13;13;14;8" StripsInBandsLayer2="2;14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;7" StripsInBandsLayer3="2;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;13;14;13;13;14; 13;13;14;13;13;14;4" StripsInBandsLayer4="3;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;14;13;13;14;13;3" nWireGroups="58;58;57;57" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3C" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +</composition> +</section> + + +<!-- ========== MicroMegas ============================== --> + +<section name="NSW_MM_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + +<!-- Frames. "f1": frame width close to the trapezium large side. "f2": frame width close to the trapezium small side. "f3": frame width close to the trapezium oblique side --> + +<!-- Distance from IP, labeled zmin_MM in Parameter Book --> +<var name="NSW_MM_LM_distanceFromIP" value="7536"/> +<var name="NSW_MM_SM_distanceFromIP" value="7072"/> +<!-- Thickness of Multilayer and the subcomponent (mm)--> +<var name="NSW_MM_GasTck" value="5.04"/> +<var name="NSW_MM_ROPcbTck" value="11.69"/> +<var name="NSW_MM_DriftPcbTck" value="11.284"/> +<var name="NSW_MM_MultilayerTck" value="NSW_NbrOfLayers* NSW_MM_GasTck + (NSW_NbrOfDriftPcb) * NSW_MM_DriftPcbTck+ ( NSW_NbrOfROPcb) * NSW_MM_ROPcbTck" /> <!-- Thickness of one multilayer --> + +<!-- Large sector modules (LM1" LM2). Modules are all trapezoid. ""Height"": radial envelope" ""base/top Width"": upper/lower side of the trapezoid--> +<var name="NSW_MM_LM1_InnerRadius" value="923" /> +<var name="NSW_MM_LM1_Length" value="2310" /> +<var name="NSW_MM_LM1_outerRadius" value="NSW_MM_LM1_InnerRadius+NSW_MM_LM1_Length" /> +<var name="NSW_MM_LM1_f1" value="30"/> +<var name="NSW_MM_LM1_f2" value="30"/> +<var name="NSW_MM_LM1_f3" value="100"/> +<var name="NSW_MM_LMGap_Length" value="5" /> <!-- Radial gap between LM1 and LM2 --> +<var name="NSW_MM_LM2_InnerRadius" value="NSW_MM_LM1_outerRadius+NSW_MM_LMGap_Length" /> +<var name="NSW_MM_LM2_Length" value="1410" /> +<var name="NSW_MM_LM2_outerRadius" value="NSW_MM_LM2_InnerRadius+NSW_MM_LM2_Length" /> +<var name="NSW_MM_LM1_baseWidth" value="640" /> +<var name="NSW_MM_LM1_topWidth" value="2008.5" /> +<var name="NSW_MM_LM2_baseWidth" value="2022.8" /> +<var name="NSW_MM_LM2_topWidth" value="2220" /> +<var name="NSW_MM_LM2_f1" value="30"/> +<var name="NSW_MM_LM2_f2" value="30"/> +<var name="NSW_MM_LM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_LM1_activeA" value="453.0"/> +<var name="NSW_MM_LM1_activeB" value="1780.0"/> +<var name="NSW_MM_LM1_activeH" value="2238.8"/> +<var name="NSW_MM_LM2_activeA" value="1828.0"/> +<var name="NSW_MM_LM2_activeB" value="2015.0"/> +<var name="NSW_MM_LM2_activeH" value="1339.3"/> +<!-- Small sector modules (SM1" SM2). Modules are all trapezoids. ""Height"": radial envelope" ""base/top Width"": upper/lower side --> +<var name="NSW_MM_SM1_InnerRadius" value="895" /> +<var name="NSW_MM_SM1_Length" value="2210" /> +<var name="NSW_MM_SM1_outerRadius" value="NSW_MM_SM1_InnerRadius+NSW_MM_SM1_Length" /> +<var name="NSW_MM_SMGap_Length" value="5" /> <!-- Radial gap between SM1 and SM2 --> +<var name="NSW_MM_SM1_f1" value="30"/> +<var name="NSW_MM_SM1_f2" value="30"/> +<var name="NSW_MM_SM1_f3" value="100"/> +<var name="NSW_MM_SM2_InnerRadius" value="NSW_MM_SM1_outerRadius+NSW_MM_SMGap_Length" /> +<var name="NSW_MM_SM2_Length" value="1350" /> +<var name="NSW_MM_SM2_outerRadius" value="NSW_MM_SM2_InnerRadius+NSW_MM_SM2_Length" /> +<var name="NSW_MM_SM1_baseWidth" value="500" /> +<var name="NSW_MM_SM1_topWidth" value="1319.2" /> +<var name="NSW_MM_SM2_baseWidth" value="1321.1" /> +<var name="NSW_MM_SM2_topWidth" value="1821.5" /> +<var name="NSW_MM_SM2_f1" value="30"/> +<var name="NSW_MM_SM2_f2" value="30"/> +<var name="NSW_MM_SM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_SM1_activeA" value="310.0"/> +<var name="NSW_MM_SM1_activeB" value="1102.5"/> +<var name="NSW_MM_SM1_activeH" value="2139.3"/> +<var name="NSW_MM_SM2_activeA" value="1130.0"/> +<var name="NSW_MM_SM2_activeB" value="1575.0"/> +<var name="NSW_MM_SM2_activeH" value="1279.3"/> + +<var name="NSW_MM_LargeSector_ZCENTER" value="ZCenter_Global+232."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="ZCenter_Global-232."/> + + +<!-- Thickness of inter-multilayer spacers --> +<var name="NSW_MM_SpacerThickness" value="50" /> + +<!-- Global z-coordinate for the sector center --> +<!-- <var name="NSW_MM_LargeSector_ZCENTER" value="NSW_MM_LM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="NSW_MM_SM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> --> + +</section> + +<section name="NewSmallWheelsMM" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + + +<!-- Technologies --> +<mm_Tech type="MM_1" geometryLevel="1" nLayers="NSW_NbrOfLayers" gasTck="NSW_MM_GasTck" driftPcbTck="NSW_MM_DriftPcbTck" ROPcbTck="NSW_MM_ROPcbTck" Tck="NSW_MM_MultilayerTck" /> +<!--Chilufya<mmSpacer_Tech type="Spa_1" Tck="NSW_MM_SpacerThickness" />Chilufya--> + +<!-- large wheel --> +<micromegas type="sMD1-1-1" tech="MM_1" subType="M1L1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-1" tech="MM_1" subType="M2L1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> +<micromegas type="sMD1-1-2" tech="MM_1" subType="M1L2" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-2" tech="MM_1" subType="M2L2" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> + +<!--Chilufya<mmSpacer type="spa1-1" tech="Spa_1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM1_Length" /> +<mmSpacer type="spa1-2" tech="Spa_1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM2_Length" />Chilufya--> + + +<!-- small wheel --> +<micromegas type="sMD3-1-1" tech="MM_1" subType="M1S1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-1" tech="MM_1" subType="M2S1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<micromegas type="sMD3-1-2" tech="MM_1" subType="M1S2" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-2" tech="MM_1" subType="M2S2" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<!--Chilufya<mmSpacer type="spa3-1" tech="Spa_1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM1_Length" /> +<mmSpacer type="spa3-2" tech="Spa_1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM2_Length" />Chilufya--> + +<composition name="NSW_MM" > +<!-- A-SIDE --> + +<!-- LARGE SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD1-1-1" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-1" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." />Chilufya--> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD1-1-2" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-2" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> + +<!-- SMALL SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD3-1-1" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-1" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." />Chilufya--> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD3-1-2" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-2" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- C-SIDE --> +<!-- LARGE SECTOR --> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." />Chilufya--> + +<!-- SMALL SECTOR --> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." />Chilufya--> + +</composition> + +</section> + + + + + + + +<!--====================================SPACER FRAME===============================================--> + +<section name = "LS and SS Spacer Frames" + version = "0.0" + date = "25-07-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NSW_Spacer"> + +<!-- LS Spacer Ftame --> +<gvxy name="LS_StructuralPlate_Main" material="Aluminium" dZ="5.9"> + <gvxy_point X_Y="226.; 958."/> + <gvxy_point X_Y="914.15; 3281."/> + <gvxy_point X_Y="1007.3; 4613."/> + <gvxy_point X_Y="0.01; 4613."/> + <gvxy_point X_Y="0.01; 958."/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut1" material="Aluminium" dZ="7."> + <gvxy_point X_Y="902.87; 4123."/> + <gvxy_point X_Y="932.24; 4543."/> + <gvxy_point X_Y="40.; 4543."/> + <gvxy_point X_Y="40.; 4123."/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut2" material="Aluminium" dZ="7."> + <gvxy_point X_Y="774.41; 3913.25"/> + <gvxy_point X_Y="770.86; 3963."/> + <gvxy_point X_Y="135.; 3963."/> + <gvxy_point X_Y="135.; 3821.33"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut3" material="Aluminium" dZ="7."> + <gvxy_point X_Y="778.83; 3639.29"/> + <gvxy_point X_Y="792.52; 3835.04"/> + <gvxy_point X_Y="203.42; 3750.35"/> + <gvxy_point X_Y="203.46; 3720.65"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut4" material="Aluminium" dZ="7."> + <gvxy_point X_Y="477.15; 3586.36"/> + <gvxy_point X_Y="477.24; 3606.18"/> + <gvxy_point X_Y="135.; 3654.58"/> + <gvxy_point X_Y="135.; 3541.07"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut5" material="Aluminium" dZ="7."> + <gvxy_point X_Y="762.41; 3404.48"/> + <gvxy_point X_Y="772.57; 3549.82"/> + <gvxy_point X_Y="286.06; 3485.41"/> + <gvxy_point X_Y="286.1; 3465.58"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut6" material="Aluminium" dZ="7."> + <gvxy_point X_Y="600.; 3314.58"/> + <gvxy_point X_Y="602.55; 3354.42"/> + <gvxy_point X_Y="60.; 3424.01"/> + <gvxy_point X_Y="60.; 3314.58"/> +</gvxy> + +<box name="LS_StructuralPlate_Cut7" material="Aluminium" X_Y_Z="138.; 70.; 7. " /> + +<gvxy name="LS_StructuralPlate_Cut8" material="Aluminium" dZ="7."> + <gvxy_point X_Y="678.71; 2838.18"/> + <gvxy_point X_Y="772.71; 3155.5"/> + <gvxy_point X_Y="63.52; 3155.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut9" material="Aluminium" dZ="7."> + <gvxy_point X_Y="533.6; 2715.5"/> + <gvxy_point X_Y="551.94; 2791.05"/> + <gvxy_point X_Y="40.; 3055.11"/> + <gvxy_point X_Y="40.; 2715.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut10" material="Aluminium" dZ="7."> + <gvxy_point X_Y="459.9; 2169.9"/> + <gvxy_point X_Y="585.97; 2595.5"/> + <gvxy_point X_Y="117.42; 2595.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut11" material="Aluminium" dZ="7."> + <gvxy_point X_Y="391.41; 2095.5"/> + <gvxy_point X_Y="135.; 2414.15"/> + <gvxy_point X_Y="135.; 2095.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut12" material="Aluminium" dZ="7."> + <gvxy_point X_Y="344.91; 1865.18"/> + <gvxy_point X_Y="389.44; 2015.5"/> + <gvxy_point X_Y="258.79; 2015.5"/> +</gvxy> +<gvxy name="LS_StructuralPlate_Cut13" material="Aluminium" dZ="7."> + <gvxy_point X_Y="275.45; 1825.5"/> + <gvxy_point X_Y="172.35; 2005.44"/> + <gvxy_point X_Y="135.; 1995.5"/> + <gvxy_point X_Y="135.; 1825.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut14" material="Aluminium" dZ="7."> + <gvxy_point X_Y="173.8; 1028."/> + <gvxy_point X_Y="380.41; 1725.5"/> + <gvxy_point X_Y="40.; 1725.5"/> + <gvxy_point X_Y="40.; 1028."/> +</gvxy> + +<subtraction name="LS_StructuralPlateSub" > + <posXYZ volume="LS_StructuralPlate_Main" /> + <posXYZ volume="LS_StructuralPlate_Cut1" /> + <posXYZ volume="LS_StructuralPlate_Cut2" /> + <posXYZ volume="LS_StructuralPlate_Cut3" /> + <posXYZ volume="LS_StructuralPlate_Cut4" /> + <posXYZ volume="LS_StructuralPlate_Cut5" /> + <posXYZ volume="LS_StructuralPlate_Cut6" /> + <posXYZ volume="LS_StructuralPlate_Cut7" X_Y_Z="589.; 3235.5; 0." /> + <posXYZ volume="LS_StructuralPlate_Cut8" /> + <posXYZ volume="LS_StructuralPlate_Cut9" /> + <posXYZ volume="LS_StructuralPlate_Cut10" /> + <posXYZ volume="LS_StructuralPlate_Cut11" /> + <posXYZ volume="LS_StructuralPlate_Cut12" /> + <posXYZ volume="LS_StructuralPlate_Cut13" /> + <posXYZ volume="LS_StructuralPlate_Cut14" /> +</subtraction> + +<composition name="LS_StructuralPlate" > + <posXYZ volume="LS_StructuralPlateSub" /> + <posXYZ volume="LS_StructuralPlateSub" rot="0. ; 180. ; 0." /> +</composition> + +<box name="LS_Central_reference_bar" material="Aluminium" X_Y_Z="1704.; 100.; 27.8 " /> + +<box name="LS_Channel_section_L2000_Main" material="Aluminium" X_Y_Z="50.; 2000.; 30. " /> +<box name="LS_Channel_section_L2000_Cut" material="Aluminium" X_Y_Z="40.; 2050.; 20. " /> +<subtraction name="LS_Channel_section_L2000" > + <posXYZ volume="LS_Channel_section_L2000_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L1200_Main" material="Aluminium" X_Y_Z="50.; 1200.; 30. " /> +<subtraction name="LS_Channel_section_L1200" > + <posXYZ volume="LS_Channel_section_L1200_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L850_Main" material="Aluminium" X_Y_Z="50.; 850.; 30. " /> +<subtraction name="LS_Channel_section_L850" > + <posXYZ volume="LS_Channel_section_L850_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L1000_Main" material="Aluminium" X_Y_Z="50.; 1000.; 30. " /> +<subtraction name="LS_Channel_section_L1000" > + <posXYZ volume="LS_Channel_section_L1000_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_UProfile_L1460_Main" material="Aluminium" X_Y_Z="20.; 1460.; 30. " /> +<box name="LS_UProfile_L1460_Cut" material="Aluminium" X_Y_Z="20.; 1500.; 24. " /> +<subtraction name="LS_UProfile_L1460" > + <posXYZ volume="LS_UProfile_L1460_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="LS_UProfile_L750_Main" material="Aluminium" X_Y_Z="20.; 750.; 30. " /> +<subtraction name="LS_UProfile_L750" > + <posXYZ volume="LS_UProfile_L750_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="3.; 0.; 0." /> +</subtraction> + +<gvxy name="LS_Top_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="914.3; 3484.44"/> + <gvxy_point X_Y="1146.47; 3571.68"/> + <gvxy_point X_Y="1141.27; 3656.86"/> + <gvxy_point X_Y="1054.98; 3656.86"/> + <gvxy_point X_Y="1054.98; 4070."/> + <gvxy_point X_Y="813.64; 4070."/> + <gvxy_point X_Y="774.65; 3494.2"/> +</gvxy> + +<gvxy name="LS_Bottom_Grabber_interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="-801.54; 2552.21"/> + <gvxy_point X_Y="-858.34; 2743.97"/> + <gvxy_point X_Y="-591.97; 2822.88"/> + <gvxy_point X_Y="-535.17; 2631.11"/> +</gvxy> + +<gvxy name="LS_Bottom_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="-558.42; 1731.46"/> + <gvxy_point X_Y="-616.93; 1928.98"/> + <gvxy_point X_Y="-678.34; 1910.78"/> + <gvxy_point X_Y="-727.9; 1985.99"/> + <gvxy_point X_Y="-570.48; 2124.21"/> + <gvxy_point X_Y="-437.49; 2163.6"/> + <gvxy_point X_Y="-329.56; 1799.25"/> +</gvxy> + +<box name="LS_MM_Connectors" material="Aluminium" X_Y_Z="76.; 40.; 30. " /> +<composition name="LS_MM_Connectors_Assembly" > + <posXYZ volume="LS_MM_Connectors" X_Y_Z="323.24; 1278.98; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="596.23; 2200.58; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="800.97; 2891.78; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="922.31; 3368.81; 0." rot="0. ; 0. ; -4." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="986.76; 4290.41; 0." rot="0. ; 0. ; -4." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="824.; 4615.; 0." rot="0. ; 0. ; 90." /> +</composition> + +<box name="LS_KM_Joint" material="ShieldSteel" X_Y_Z="150.; 118.; 48. " /> + +<composition name="LS_Spacer_Frame_Assembly" > + <posXYZ volume="LS_StructuralPlate" X_Y_Z="0.; 0.; 18." /> + <posXYZ volume="LS_StructuralPlate" X_Y_Z="0.; 0.; -18." /> + <posXYZ volume="LS_Central_reference_bar" X_Y_Z="0.; 3235.5; 0." /> + <posXYZ volume="LS_Channel_section_L2000" X_Y_Z="0.; 2185.49; 0." /> + <posXYZ volume="LS_Channel_section_L1200" X_Y_Z="0.; 3885.51; 0." /> + <posXYZ volume="LS_Channel_section_L850" X_Y_Z="130.5; 3710.51; 0." /> + <posXYZ volume="LS_Channel_section_L850" X_Y_Z="-130.5; 3710.51; 0." /> + <posXYZ volume="LS_Channel_section_L1000" X_Y_Z="130.5; 2223.; 0." /> + <posXYZ volume="LS_Channel_section_L1000" X_Y_Z="-130.5; 2223.; 0." /> + <posXYZ volume="LS_UProfile_L1460" X_Y_Z="252.; 2455.49; 0." /> + <posXYZ volume="LS_UProfile_L1460" X_Y_Z="-252.; 2455.49; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="252.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-252.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="465.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-465.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="678.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-678.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="465.; 2551.; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-465.; 2551.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Top_Interface" X_Y_Z="0.; 0.; 0." /> + <posXYZ volume="LS_Top_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="0.; 956.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="0.; 4615.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="-1130.01; 3970.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="1130.01; 3970.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="656.6; 1798.8; 0." rot="0. ; 0. ; -16.5" /> +</composition> + +<composition name="LS" > + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 90." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 135." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 180." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 225." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 270." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 315." /> +</composition> +<!-- LS Spacer Ftame --> + +<!-- SS Spacer Ftame --> +<gvxy name="SS_StructuralPlate_Main" material="Aluminium" dZ="5.9"> + <gvxy_point X_Y="154.8; 930."/> + <gvxy_point X_Y="745.; 4114.46"/> + <gvxy_point X_Y="745.; 4425."/> + <gvxy_point X_Y="0.01; 4425."/> + <gvxy_point X_Y="0.01; 930."/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut1" material="Aluminium" dZ="7."> + <gvxy_point X_Y="685.; 4242.5"/> + <gvxy_point X_Y="685.; 4375."/> + <gvxy_point X_Y="25.; 4375."/> + <gvxy_point X_Y="25.; 4242.5"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut2" material="Aluminium" dZ="7."> + <gvxy_point X_Y="449.11; 4102.75"/> + <gvxy_point X_Y="446.87; 4122.5"/> + <gvxy_point X_Y="125.; 4122.5"/> + <gvxy_point X_Y="125.; 4028.36"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut3" material="Aluminium" dZ="7."> + <gvxy_point X_Y="577.21; 3867.18"/> + <gvxy_point X_Y="620.57; 4101.07"/> + <gvxy_point X_Y="131.86; 3988.9"/> + <gvxy_point X_Y="131.86; 3969.4"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut4" material="Aluminium" dZ="7."> + <gvxy_point X_Y="395.9; 3847.5"/> + <gvxy_point X_Y="398.14; 3867.25"/> + <gvxy_point X_Y="125.; 3929.94"/> + <gvxy_point X_Y="125.; 3847.5"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut5" material="Aluminium" dZ="7."> + <gvxy_point X_Y="495.98; 3705.39"/> + <gvxy_point X_Y="495.98; 3747.5"/> + <gvxy_point X_Y="25.; 3747.5"/> + <gvxy_point X_Y="25.; 3475.7"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut6" material="Aluminium" dZ="7."> + <gvxy_point X_Y="488.74; 3225.16"/> + <gvxy_point X_Y="576.8; 3700.3"/> + <gvxy_point X_Y="45.63; 3441.26"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut7" material="Aluminium" dZ="7."> + <gvxy_point X_Y="408.58; 3177.5"/> + <gvxy_point X_Y="417.35; 3215.48"/> + <gvxy_point X_Y="25.; 3406.82"/> + <gvxy_point X_Y="25.; 3177.5"/> +</gvxy> + +<box name="SS_StructuralPlate_Cut8" material="Aluminium" X_Y_Z="92.; 70.; 7. " /> + +<gvxy name="SS_StructuralPlate_Cut9" material="Aluminium" dZ="7."> + <gvxy_point X_Y="429.19; 3037.5"/> + <gvxy_point X_Y="25.; 3037.5"/> + <gvxy_point X_Y="25.; 2483.96"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut10" material="Aluminium" dZ="7."> + <gvxy_point X_Y="342.44; 2435.8"/> + <gvxy_point X_Y="445.53; 2992.05"/> + <gvxy_point X_Y="50.98; 2451.7"/> + <gvxy_point X_Y="59.05; 2435.8"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut11" material="Aluminium" dZ="7."> + <gvxy_point X_Y="275.17; 2072.87"/> + <gvxy_point X_Y="330.64; 2372.16"/> + <gvxy_point X_Y="310.98; 2395.8"/> + <gvxy_point X_Y="39.37; 2395.8"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut12" material="Aluminium" dZ="7."> + <gvxy_point X_Y="245.39; 2045.82"/> + <gvxy_point X_Y="25.; 2347.65"/> + <gvxy_point X_Y="25.; 2045.82"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut13" material="Aluminium" dZ="7."> + <gvxy_point X_Y="144.83; 1534.74"/> + <gvxy_point X_Y="203.73; 1852.5"/> + <gvxy_point X_Y="125.; 1852.5"/> + <gvxy_point X_Y="125.; 1536.56"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut14" material="Aluminium" dZ="7."> + <gvxy_point X_Y="123.38; 980."/> + <gvxy_point X_Y="201.04; 1399."/> + <gvxy_point X_Y="25.; 1399."/> + <gvxy_point X_Y="25.; 980."/> +</gvxy> + +<subtraction name="SS_StructuralPlateSub" > + <posXYZ volume="SS_StructuralPlate_Main" /> + <posXYZ volume="SS_StructuralPlate_Cut1" /> + <posXYZ volume="SS_StructuralPlate_Cut2" /> + <posXYZ volume="SS_StructuralPlate_Cut3" /> + <posXYZ volume="SS_StructuralPlate_Cut4" /> + <posXYZ volume="SS_StructuralPlate_Cut5" /> + <posXYZ volume="SS_StructuralPlate_Cut6" /> + <posXYZ volume="SS_StructuralPlate_Cut7" /> + <posXYZ volume="SS_StructuralPlate_Cut8" X_Y_Z="-340.5; 3107.5; 0." /> + <posXYZ volume="SS_StructuralPlate_Cut9" /> + <posXYZ volume="SS_StructuralPlate_Cut10" /> + <posXYZ volume="SS_StructuralPlate_Cut11" /> + <posXYZ volume="SS_StructuralPlate_Cut12" /> + <posXYZ volume="SS_StructuralPlate_Cut13" /> + <posXYZ volume="SS_StructuralPlate_Cut14" /> +</subtraction> + +<composition name="SS_StructuralPlate" > + <posXYZ volume="SS_StructuralPlateSub" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_StructuralPlateSub" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> +</composition> + +<box name="SS_Central_reference_bar" material="Aluminium" X_Y_Z="1012.; 100.; 28. " /> + +<box name="SS_Channel_section_L1100_Main" material="Aluminium" X_Y_Z="50.; 1100.; 30. " /> +<subtraction name="SS_Channel_section_L1100" > + <posXYZ volume="SS_Channel_section_L1100_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + + +<box name="SS_Channel_section_L650_Main" material="Aluminium" X_Y_Z="50.; 650.; 30. " /> +<subtraction name="SS_Channel_section_L650" > + <posXYZ volume="SS_Channel_section_L650_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="SS_UProfile_L1000_Main" material="Aluminium" X_Y_Z="20.; 1000.; 30. " /> +<subtraction name="SS_UProfile_L1000" > + <posXYZ volume="SS_UProfile_L1000_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L920_Main" material="Aluminium" X_Y_Z="20.; 920.; 30. " /> +<subtraction name="SS_UProfile_L920" > + <posXYZ volume="SS_UProfile_L920_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L1200_Main" material="Aluminium" X_Y_Z="20.; 1200.; 30. " /> +<subtraction name="SS_UProfile_L1200" > + <posXYZ volume="SS_UProfile_L1200_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L700_Main" material="Aluminium" X_Y_Z="20.; 700.; 30. " /> +<subtraction name="SS_UProfile_L700" > + <posXYZ volume="SS_UProfile_L700_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<gvxy name="SS_Top_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="849.99; 3705.17"/> + <gvxy_point X_Y="849.99; 4260."/> + <gvxy_point X_Y="627.69; 4260."/> + <gvxy_point X_Y="627.69; 4106.34"/> + <gvxy_point X_Y="564.77; 3758.03"/> +</gvxy> + +<gvxy name="SS_Bottom_Grabber_interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="454.99; 1875."/> + <gvxy_point X_Y="454.99; 2075."/> + <gvxy_point X_Y="255.; 2075."/> + <gvxy_point X_Y="255.; 1875."/> +</gvxy> + +<gvxy name="SS_Bottom_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="442.2; 1397.5"/> + <gvxy_point X_Y="442.2; 1560.65"/> + <gvxy_point X_Y="397.; 1560.65"/> + <gvxy_point X_Y="397.; 1792.5"/> + <gvxy_point X_Y="194.29; 1792.5"/> + <gvxy_point X_Y="149.53; 1434.71"/> + <gvxy_point X_Y="204.54; 1397.5"/> +</gvxy> + +<box name="SS_MM_Connectors" material="Aluminium" X_Y_Z="76.; 40.; 30. " /> +<box name="SS_MM_Connectors_Lar" material="Aluminium" X_Y_Z="120.; 40.; 30. " /> +<composition name="SS_MM_Connectors_Assembly" > + <posXYZ volume="SS_MM_Connectors" X_Y_Z="214.86; 1243.14; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="376.17; 2113.54; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="497.16; 2766.34; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="626.36; 3463.34; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors_Lar" X_Y_Z="766.02; 4337.75; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="624.; 4427.; 0." rot="0. ; 0. ; 90." /> +</composition> + +<box name="SS_KM_Joint" material="ShieldSteel" X_Y_Z="154.; 101.; 48. " /> + +<composition name="SS_Spacer_Frame_Assembly" > + <posXYZ volume="SS_StructuralPlate" X_Y_Z="0.; 0.; 18." /> + <posXYZ volume="SS_StructuralPlate" X_Y_Z="0.; 0.; -18." /> + <posXYZ volume="SS_Central_reference_bar" X_Y_Z="0.; 3107.5; 0." /> + <posXYZ volume="LS_Channel_section_L2000" X_Y_Z="0.; 2057.49; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="0.; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="-110.5; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="110.5; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L650" X_Y_Z="-110.5; 1722.; 0." /> + <posXYZ volume="SS_Channel_section_L650" X_Y_Z="110.5; 1722.; 0." /> + <posXYZ volume="SS_UProfile_L1000" X_Y_Z="-345.; 3742.5; 0." /> + <posXYZ volume="SS_UProfile_L1000" X_Y_Z="345.; 3742.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L920" X_Y_Z="-195.; 3782.5; 0." /> + <posXYZ volume="SS_UProfile_L920" X_Y_Z="195.; 3782.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L1200" X_Y_Z="-195.; 2457.49; 0." /> + <posXYZ volume="SS_UProfile_L1200" X_Y_Z="195.; 2457.49; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L700" X_Y_Z="-360.; 2587.5; 0." /> + <posXYZ volume="SS_UProfile_L700" X_Y_Z="360.; 2587.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Top_Interface" X_Y_Z="0.; 0.; 0." /> + <posXYZ volume="SS_Top_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="0.; 928.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="0.; 4427.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="-927.01; 4160.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="927.01; 4160.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="-532.01; 1975.; 0." rot="0. ; 0. ; 0." /> +</composition> + +<composition name="SS_AssemblyRot" > + <posXYZ volume="SS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 22.5" /> +</composition> + +<composition name="SS" > + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 90." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 135." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 180." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 225." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 270." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End SS Spacer_Frame--> + +<composition name="LS_and_SS_SideA" > + <posXYZ volume="LS" X_Y_Z="0.; 0.; 7641." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS" X_Y_Z="0.; 0.; 7177." rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="LS_and_SS_SideC" > + <posXYZ volume="LS" X_Y_Z="0.; 0.; -7641." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS" X_Y_Z="0.; 0.; -7177." rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="NSW_Spacer" > + <posXYZ volume="LS_and_SS_SideA" /> + <posXYZ volume="LS_and_SS_SideC" /> +</composition> + +</section> + + + + + + + + + + + + + + + +<!--====================================Support Structures and Hub===============================================--> + +<section name = "NSW Aluminum Structure and HUB" + version = "0.0" + date = "25-04-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NSW_Aluminum_Structure_and_HUB"> + +<!-- ********************************************** New Hub ************************************************** --> + +<!-- Horizontal Shielding --> +<gvxysx name="Hub_Outer_Plate1" material="Lead" dZ="517.5"> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + + <gvxysx name="Hub_Outer_Plate2" material="PolyBoron207HD5" dZ="517.5"> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate3" material="Lead" dZ="504."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate4" material="PolyBoron207HD5" dZ="545."> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate5" material="Lead" dZ="30."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate6" material="PolyBoron207HD5" dZ="30."> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate7" material="Lead" dZ="85."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate8" material="PolyBoron207HD5" dZ="126."> +<gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<composition name="Horizontal_Shielding_ForRot_Spec" > + <posXYZ volume="Hub_Outer_Plate5" X_Y_Z="0.; 0.; 908.2" /> + <posXYZ volume="Hub_Outer_Plate6" X_Y_Z="0.; 0.; 908.2" /> +</composition> + +<composition name="Horizontal_Shielding_ForRot_Spec2" > + <posXYZ volume="Hub_Outer_Plate3" X_Y_Z="0.; 0.; 248.7" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Hub_Outer_Plate4" X_Y_Z="0.; 0.; 228.2" rot=" 0. ; 0. ; 22.5" /> +</composition> + +<composition name="Horizontal_Shielding_ForRot" > + <posXYZ volume="Hub_Outer_Plate1" X_Y_Z="0.; 0.; 643.45" /> + <posXYZ volume="Hub_Outer_Plate2" X_Y_Z="0.; 0.; 643.45" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec2" /> + <posXYZ volume="Hub_Outer_Plate7" X_Y_Z="0.; 0.; 39.2" /> + <posXYZ volume="Hub_Outer_Plate8" X_Y_Z="0.; 0.; 18.7" /> +</composition> + +<composition name="Horizontal_Shielding" > + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 315." /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; -22.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; -67.5" /> +</composition> +<!-- End Horizontal Shielding (New Hub) --> + +<!-- Other Parts of New Hub --> +<pcon name="HUB_Extension_inner_tube" material="ShieldSteel" nbPhi="20"> + <polyplane Rio_Z="172.; 225.; 997.75"/> + <polyplane Rio_Z=" 152.3; 225.; 0."/> +</pcon> +<tubs name="HUB_Extension_plate_HO_side" material="ShieldSteel" Rio_Z="172.5; 530.; 59.2" /> +<tubs name="Copper_disk_Extension" material="Copper" Rio_Z="225.5; 454.5; 998." /> +<tubs name="HUB_Extension_outer_tube" material="ShieldSteel" Rio_Z="455.5; 530.; 998.7" /> + +<pcon name="HUB_Main_part_inner_tube" material="ShieldSteel" nbPhi="20"> + <polyplane Rio_Z="148.7; 225.; 858.5"/> + <polyplane Rio_Z=" 137.; 225.; 0."/> +</pcon> + +<tubs name="Copper_disk_Main_part" material="Copper" Rio_Z="225.5; 699.5; 760." /> + +<gvxysxy name="Plate_IP_Main" material="ShieldSteel" dZ="91.6"> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="Plate_IP_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 226.; 95." /> + +<subtraction name="Plate_IP" > + <posXYZ volume="Plate_IP_Main" /> + <posXYZ volume="Plate_IP_Cut_Tube" /> +</subtraction> + +<gvxysxy name="HUB_Main_part_outer_tube_Main" material="ShieldSteel" dZ="767.7"> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="HUB_Main_part_outer_tube_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 700.; 770." /> + +<subtraction name="HUB_Main_part_outer_tube" > + <posXYZ volume="HUB_Main_part_outer_tube_Main" /> + <posXYZ volume="HUB_Main_part_outer_tube_Cut_Tube" /> +</subtraction> + +<gvxysxy name="Plate_HO_Main" material="ShieldSteel" dZ="78."> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="Plate_HO_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 150.5; 80." /> + +<subtraction name="Plate_HO" > + <posXYZ volume="Plate_HO_Main" /> + <posXYZ volume="Plate_HO_Cut_Tube" /> +</subtraction> + +<tubs name="Plate_HO_SupportTube" material="ShieldSteel" Rio_Z="585.; 770.; 21.4" profile="-15.; 210." nbPhi="20"/> + +<tubs name="Disque_shileding_ext" material="PolyBoron207HD5" Rio_Z="532.5; 800.; 40." /> +<tubs name="Plaque_polyboron_droite_v2" material="PolyBoron207HD5" Rio_Z="532.5; 582.5; 200." /> + +<composition name="Hub_Other_Parts_Assembly" > + <posXYZ volume="HUB_Extension_plate_HO_side" X_Y_Z="0.; 0.; 1920.6" /> + <posXYZ volume="HUB_Extension_inner_tube" X_Y_Z="0.; 0.; 892.25" /> + <posXYZ volume="Copper_disk_Extension" X_Y_Z="0.; 0.; 1391.95" /> + <posXYZ volume="HUB_Extension_outer_tube" X_Y_Z="0.; 0.; 1391.6" /> + <posXYZ volume="HUB_Main_part_inner_tube" X_Y_Z="0.; 0.; -45.8" /> + <posXYZ volume="Copper_disk_Main_part" X_Y_Z="0.; 0.; 434.2" /> + <posXYZ volume="Plate_IP" /> + <posXYZ volume="HUB_Main_part_outer_tube" X_Y_Z="0.; 0.; 430.3" /> + <posXYZ volume="Disque_shileding_ext" X_Y_Z="0.; 0.; 944.2" /> + <posXYZ volume="Plaque_polyboron_droite_v2" X_Y_Z="0.; 0.; 1064.25" /> + <posXYZ volume="Plate_HO" X_Y_Z="0.; 0.; 853.2" /> + <posXYZ volume="Plate_HO_SupportTube" X_Y_Z="0.; 0.; 902.95" /> +</composition> +<!-- End Other Parts of New Hub --> + +<composition name="New_Hub" > + <posXYZ volume="Hub_Other_Parts_Assembly" /> + <posXYZ volume="Horizontal_Shielding" /> +</composition> +<!-- ************************************************************************************** End New Hub *********************************************** --> + +<!-- **************************************************** Inner Spoke ******************************************************************* --> +<gvxysx name="Base_Leg" material="Aluminium" dZ="390."> + <gvxy_point X_Y="40.; 531.5"/> + <gvxy_point X_Y=" 40.; -501.5"/> + <gvxy_point X_Y="150.; -501.5"/> + <gvxy_point X_Y=" 150.; -531.5"/> +</gvxysx> + +<gvxy name="JOINING_BAR3" material="Aluminium" dZ="150."> + <gvxy_point X_Y="75.; 23."/> + <gvxy_point X_Y="75.; 7."/> + <gvxy_point X_Y="640.; 7."/> + <gvxy_point X_Y="640.; -23."/> + <gvxy_point X_Y="-640.; -23."/> + <gvxy_point X_Y="-640.; 7."/> + <gvxy_point X_Y="-75.; 7."/> + <gvxy_point X_Y="-75.; 23."/> +</gvxy> + +<box name="LATERAL_PLATE_L" material="Aluminium" X_Y_Z="21.; 1680.; 390. " /> + +<gvxysx name="Front_plate2" material="Aluminium" dZ="14."> + <gvxy_point X_Y="98.65; 2867.18"/> + <gvxy_point X_Y=" 89.94; 2805.19"/> + <gvxy_point X_Y="89.94; 2587.18"/> +</gvxysx> + +<gvxysx name="LS_OUTER3_MainBox" material="Aluminium" dZ="30."> + <gvxy_point X_Y="323.7; 450."/> + <gvxy_point X_Y=" 197.21; -450."/> +</gvxysx> + +<box name="LS_OUTER3_CutBox" material="Aluminium" X_Y_Z="250.; 600.; 35. " /> + +<subtraction name="LS_OUTER3" > + <posXYZ volume="LS_OUTER3_MainBox" /> + <posXYZ volume="LS_OUTER3_CutBox" X_Y_Z=" 0.; -50.; 0. " /> +</subtraction> + +<gvxysx name="REAR_PLATE1" material="Aluminium" dZ="30."> + <gvxy_point X_Y="176.95; 309.25"/> + <gvxy_point X_Y=" 90.03; -309.25"/> +</gvxysx> + +<gvxy name="REAR_PLATE2" material="Aluminium" dZ="30."> + <gvxy_point X_Y="273.95; 174.5"/> + <gvxy_point X_Y="224.9; -174.5"/> + <gvxy_point X_Y="125.; -174.5"/> + <gvxy_point X_Y="125.; -154.5"/> + <gvxy_point X_Y="-125.; -154.5"/> + <gvxy_point X_Y="-125.; -174.5"/> + <gvxy_point X_Y="-224.9; -174.5"/> + <gvxy_point X_Y="-273.95; 174.5"/> +</gvxy> + +<box name="SHIM1" material="Aluminium" X_Y_Z="700.; 150.; 21.6 " /> +<box name="SHIM2" material="Aluminium" X_Y_Z="350.; 150.; 21.6 " /> + +<gvxysx name="REAR_PLATE3" material="Aluminium" dZ="30."> + <gvxy_point X_Y="323.7; 80."/> + <gvxy_point X_Y=" 301.21; -80."/> +</gvxysx> + +<box name="KM_FRONT_PLATE1" material="ShieldSteel" X_Y_Z="34.; 160.; 250. " /> +<box name="KM_LOCKING_PLATE1" material="ShieldSteel" X_Y_Z="20.; 120.; 200. " /> + +<gvxy name="JOINING_BAR2" material="Aluminium" dZ="29."> + <gvxy_point X_Y="175.; 75."/> + <gvxy_point X_Y="964.81; -64.27"/> + <gvxy_point X_Y="938.77; -211.99"/> + <gvxy_point X_Y="161.88; -75."/> + <gvxy_point X_Y="-161.88; -75."/> + <gvxy_point X_Y="-938.77; -211.99"/> + <gvxy_point X_Y="-964.81; -64.27"/> + <gvxy_point X_Y="-175.; 75."/> +</gvxy> + +<gvxy name="JOINING_BAR1" material="Aluminium" dZ="29."> + <gvxy_point X_Y="350.; 75."/> + <gvxy_point X_Y="1196.93; -74.34"/> + <gvxy_point X_Y="1170.88; -222.06"/> + <gvxy_point X_Y="336.88; -75."/> + <gvxy_point X_Y="-336.88; -75."/> + <gvxy_point X_Y="-1170.88; -222.06"/> + <gvxy_point X_Y="-1196.93; -74.34"/> + <gvxy_point X_Y="-350.; 75."/> +</gvxy> + +<composition name="Inner_Spoke_Assembly" > + <posXYZ volume="Base_Leg" X_Y_Z="0.; 1301.5; 0." /> + <posXYZ volume="JOINING_BAR1" X_Y_Z="0.; 4385.; -231.2" /> + <posXYZ volume="JOINING_BAR2" X_Y_Z="0.; 3065.; -231.2" /> + <posXYZ volume="JOINING_BAR3" X_Y_Z="0.; 1715.; -218.05" rot=" 90. ; 0. ; 0." /> + <posXYZ volume="LATERAL_PLATE_L" X_Y_Z="-217.3; 3635.56; 0." rot=" 0. ; 0. ; 8." /> + <posXYZ volume="LATERAL_PLATE_L" X_Y_Z="217.3; 3635.56; 0." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="Front_plate2" X_Y_Z="0.; 0.; 188." /> + <posXYZ volume="LS_OUTER3" X_Y_Z="0.; 4018.41; 180." /> + <posXYZ volume="REAR_PLATE1" X_Y_Z="0.; 3114.99; -180." /> + <posXYZ volume="REAR_PLATE2" X_Y_Z="0.; 3939.93; -180." /> + <posXYZ volume="REAR_PLATE3" X_Y_Z="0.; 4388.42; -180." /> + <posXYZ volume="SHIM1" X_Y_Z="0.; 4385.; -205.85" /> + <posXYZ volume="SHIM2" X_Y_Z="0.; 3065.; -205.85" /> + <posXYZ volume="KM_FRONT_PLATE1" X_Y_Z="318.34; 4156.56; 25." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="KM_FRONT_PLATE1" X_Y_Z="-318.34; 4156.56; 25." rot=" 0. ; 0. ; 8." /> + <posXYZ volume="KM_LOCKING_PLATE1" X_Y_Z="270.71; 4163.26; 0." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="KM_LOCKING_PLATE1" X_Y_Z="-270.71; 4163.26; 0." rot=" 0. ; 0. ; 8." /> +</composition> + +<composition name="Inner_Spoke" > + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 112.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 157.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 202.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 247.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 292.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 337.5" /> +</composition> + +<!-- *********************************************************************************** End Inner Spoke **************************************************\ +************************************* --> + +<!-- *********************************************************************************** Outer Spoke ******************************************************\ +************************************* --> + +<box name="NSW_F1_spoke_MainBox" material="Aluminium" X_Y_Z="135.; 1060.; 185. " /> +<box name="NSW_F1_spoke_CutBox" material="Aluminium" X_Y_Z="111.; 1070.; 161. " /> + +<subtraction name="NSW_F1_spoke" > + <posXYZ volume="NSW_F1_spoke_MainBox" /> + <posXYZ volume="NSW_F1_spoke_CutBox" /> +</subtraction> +<box name="NSW_F1_spoke_Bot_Plate" material="Aluminium" X_Y_Z="300.; 48.; 300. " /> + +<gvxysx name="Plaque_interface2" material="Aluminium" dZ="37."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<gvxysx name="Plaque_interface2.1" material="Aluminium" dZ="45."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<box name="NSW_SS_spoke_Pillar_MainBox" material="Aluminium" X_Y_Z="135.; 2683.25; 185. " /> +<box name="NSW_SS_spoke_Pillar_CutBox" material="Aluminium" X_Y_Z="113.; 2685.; 163. " /> + +<subtraction name="NSW_SS_spoke_Pillar" > + <posXYZ volume="NSW_SS_spoke_Pillar_MainBox" /> + <posXYZ volume="NSW_SS_spoke_Pillar_CutBox" /> +</subtraction> + +<box name="Spoke_Joint" material="ShieldSteel" X_Y_Z="75.; 85.; 124.4 " /> + +<gvxysx name="Manifolds_Support_Main" material="Aluminium" dZ="150."> + <gvxy_point X_Y="585.; 75."/> + <gvxy_point X_Y=" 551.74; -75."/> +</gvxysx> + +<box name="Manifolds_Support_CutBox1" material="Aluminium" X_Y_Z="1180.; 140.; 140. " /> +<box name="Manifolds_Support_CutBox2" material="Aluminium" X_Y_Z="160.; 90.; 160. " /> + +<subtraction name="Manifolds_Support" > + <posXYZ volume="Manifolds_Support_Main" /> + <posXYZ volume="Manifolds_Support_CutBox1" /> + <posXYZ volume="Manifolds_Support_CutBox2" X_Y_Z="135.; -45.; 0." /> +</subtraction> + +<box name="Cale" material="Aluminium" X_Y_Z="135.; 280.; 52. " /> +<box name="JD_JOINT2.1_Plate1" material="Aluminium" X_Y_Z="250.; 270.; 20. " /> +<box name="Shim_JD" material="Aluminium" X_Y_Z="250.; 270.; 29. " /> +<box name="JD_JOINT1_Pipe_MainBox" material="Aluminium" X_Y_Z="1300.; 120.; 80." /> +<box name="JD_JOINT1_Pipe_CutBox" material="Aluminium" X_Y_Z="1305.; 100.; 60. " /> + +<subtraction name="JD_JOINT1_Pipe" > + <posXYZ volume="JD_JOINT1_Pipe_MainBox" /> + <posXYZ volume="JD_JOINT1_Pipe_CutBox" /> +</subtraction> + +<box name="JD_JOINT2_Pipe_MainBox" material="Aluminium" X_Y_Z="900.; 120.; 80." /> + +<subtraction name="JD_JOINT2_Pipe" > + <posXYZ volume="JD_JOINT2_Pipe_MainBox" /> + <posXYZ volume="JD_JOINT1_Pipe_CutBox" /> +</subtraction> + +<box name="KM_FRONT_PLATE.1.1" material="ShieldSteel" X_Y_Z="27.; 272.; 120. " /> +<box name="Manifolds_Support_Plate" material="Aluminium" X_Y_Z="9.8; 275.; 175. " /> +<box name="AL_BAR_KM_INCLINED_PLATE" material="Aluminium" X_Y_Z="290.; 38.; 67. " /> + +<composition name="Outer_Spoke_Assembly" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Manifolds_Support" X_Y_Z="0.; 4515.33; 0." /> + <posXYZ volume="Plaque_interface2" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="-371.; 3267.85; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="-610.52; 4348.24; 154.75" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="-322.65; 3049.77; 154.75" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="-537.79; 4020.21; -118.55" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale" X_Y_Z="-338.24; 3120.06; -118.55" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; -154.6" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; -261.55" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; -207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; -207." /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="-641.41; 4289.16; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Manifolds_Support_Plate" X_Y_Z="560.93; 4459.11; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Manifolds_Support_Plate" X_Y_Z="-560.93; 4459.11; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; -228.5" /> +</composition> + +<!-- Outer Spoke Foot --> +<gvxysx name="Plaque_interface2_SpecMain" material="Aluminium" dZ="37."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<box name="Plaque_interface2_Spec_CutBox" material="Aluminium" X_Y_Z="160.; 260.; 13. " /> + +<subtraction name="Plaque_interface2_Spec" > + <posXYZ volume="Plaque_interface2_SpecMain" /> + <posXYZ volume="Plaque_interface2_Spec_CutBox" X_Y_Z="-120.94; 337.19; -12.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<gvxysx name="Plaque_interface2.1_SpecMain" material="Aluminium" dZ="45."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<subtraction name="Plaque_interface2.1_Spec" > + <posXYZ volume="Plaque_interface2.1_SpecMain" /> + <posXYZ volume="Plaque_interface2_Spec_CutBox" X_Y_Z="-120.94; 337.19; 16.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<box name="NSW_SS_spoke_PillarSpec_MainBox" material="ShieldSteel" X_Y_Z="135.; 2818.1; 210. " /> +<box name="NSW_SS_spoke_PillarSpec_CutBox" material="Aluminium" X_Y_Z="91.; 2820.; 166. " /> + +<subtraction name="NSW_SS_spokeSpec_Pillar" > + <posXYZ volume="NSW_SS_spoke_PillarSpec_MainBox" /> + <posXYZ volume="NSW_SS_spoke_PillarSpec_CutBox" /> +</subtraction> + +<box name="Cale_Spec" material="Aluminium" X_Y_Z="135.; 280.; 38.6 " /> +<box name="Spoke_Joint1.2" material="Aluminium" X_Y_Z="66.; 100.; 111.9 " /> + +<box name="BOTTOM_PLATE.1_Horisontal_Plate" material="ShieldSteel" X_Y_Z="29.8; 775.; 495. " /> +<box name="BOTTOM_PLATE.1_Vertical_Main_Plate" material="ShieldSteel" X_Y_Z="460.; 640.; 35. " /> + +<gvxy name="Connecting_Plates2.1" material="Aluminium" dZ="22."> + <gvxy_point X_Y="-252.; 130.65"/> + <gvxy_point X_Y="70.; 130.65"/> + <gvxy_point X_Y="252.; 25.65"/> + <gvxy_point X_Y="258.6; -124.1"/> + <gvxy_point X_Y="108.7; -130.65"/> + <gvxy_point X_Y="-252.; 19.35"/> +</gvxy> + +<box name="Tube_alu_feet_MainBox" material="Aluminium" X_Y_Z="1050.; 135.; 185. " /> +<box name="Tube_alu_feet_CutBox" material="Aluminium" X_Y_Z="1055.; 111.4; 161.4 " /> + +<subtraction name="Tube_alu_feet" > + <posXYZ volume="Tube_alu_feet_MainBox" /> + <posXYZ volume="Tube_alu_feet_CutBox" X_Y_Z="-120.94; 337.19; 16.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<box name="Fix_nut" material="ShieldSteel" X_Y_Z="50.; 52.; 290. " /> + +<gvxy name="Beam_Interface" material="Aluminium" dZ="300."> + <gvxy_point X_Y="-80.; 73.4"/> + <gvxy_point X_Y="80.; 73.4"/> + <gvxy_point X_Y="80.; -73.4"/> + <gvxy_point X_Y="-80.; 28.5"/> +</gvxy> + +<gvxy name="Beam_Interface2" material="Aluminium" dZ="300."> + <gvxy_point X_Y="-80.; 79.8"/> + <gvxy_point X_Y="80.; 79.8"/> + <gvxy_point X_Y="80.; 12.6"/> + <gvxy_point X_Y="-80.; -79.8"/> +</gvxy> + +<box name="LS_T_Joint" material="ShieldSteel" X_Y_Z="80.; 70.; 134.9 " /> +<box name="LS_T_Joint2" material="ShieldSteel" X_Y_Z="77.; 67.; 147.4 " /> + +<gvxy name="Renfort_Bas1_MainBox" material="Aluminium" dZ="135."> + <gvxy_point X_Y="-337.73; -67.5"/> + <gvxy_point X_Y="-251.72; 67.5"/> + <gvxy_point X_Y="251.72; 67.5"/> + <gvxy_point X_Y="337.27; -67.5"/> +</gvxy> + +<box name="Renfort_Bas1_CutBox" material="Aluminium" X_Y_Z="680.; 115.; 115. " /> + + +<subtraction name="Renfort_Bas1" > + <posXYZ volume="Renfort_Bas1_MainBox" /> + <posXYZ volume="Renfort_Bas1_CutBox" /> +</subtraction> + +<composition name="Outer_Spoke_Assembly_FOOT1" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Plaque_interface2_Spec" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1_Spec" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spokeSpec_Pillar" X_Y_Z="-385.59; 3333.67; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; -261.55" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; -154.6" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-537.79; 4020.21; -124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-338.24; 3120.06; -124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; -207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; -207." /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; -228.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-322.65; 3049.28; 161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-610.4; 4347.75; 161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="BOTTOM_PLATE.1_Horisontal_Plate" X_Y_Z="-675.29; 4889.64; -29." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="BOTTOM_PLATE.1_Vertical_Main_Plate" X_Y_Z="-491.47; 4727.04; -257.5" rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; 103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; -103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Tube_alu_feet" X_Y_Z="35.49; 4779.63; 0." rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Fix_nut" X_Y_Z="-840.79; 4666.23; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Fix_nut" X_Y_Z="-443.82; 5063.2; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Beam_Interface" X_Y_Z="-716.12; 4723.86; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Beam_Interface2" X_Y_Z="-496.92; 4934.01; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_T_Joint" X_Y_Z="-649.; 4560.58; -172.5" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="LS_T_Joint2" X_Y_Z="-356.49; 4881.55; -166.25" rot=" 0. ; 0. ; 75." /> + <posXYZ volume="Renfort_Bas1" X_Y_Z="-329.24; 4539.98; 0." rot=" 0. ; 0. ; 45." /> +</composition> + +<composition name="Outer_Spoke_Assembly_FOOT2" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Plaque_interface2_Spec" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1_Spec" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spokeSpec_Pillar" X_Y_Z="-385.59; 3333.67; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; 261.55" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; 154.6" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; 118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; 118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-537.79; 4020.21; 124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-338.24; 3120.06; 124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; 207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; 207." /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; 228.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; -154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; -154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-322.65; 3049.28; -161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-610.4; 4347.75; -161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="BOTTOM_PLATE.1_Horisontal_Plate" X_Y_Z="-675.29; 4889.64; 29." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="BOTTOM_PLATE.1_Vertical_Main_Plate" X_Y_Z="-491.47; 4727.04; 257.5" rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; -103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; 103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Tube_alu_feet" X_Y_Z="35.49; 4779.63; 0." rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Fix_nut" X_Y_Z="-840.79; 4666.23; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Fix_nut" X_Y_Z="-443.82; 5063.2; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Beam_Interface" X_Y_Z="-716.12; 4723.86; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Beam_Interface2" X_Y_Z="-496.92; 4934.01; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_T_Joint" X_Y_Z="-649.; 4560.58; 172.5" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="LS_T_Joint2" X_Y_Z="-356.49; 4881.55; 166.25" rot=" 0. ; 0. ; 75." /> + <posXYZ volume="Renfort_Bas1" X_Y_Z="-329.24; 4539.98; 0." rot=" 0. ; 0. ; 45." /> +</composition> +<!-- End Outer Spoke Foot --> + + +<composition name="Outer_Spoke" > + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="Outer_Spoke_Assembly_FOOT1" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="Outer_Spoke_Assembly_FOOT2" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 180. ; 225." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- ********************************************************************************* End Outer Spoke ****************************************************\ +************************************** --> + +<!-- *********************************************************************************** LSO LSI Connection ***********************************************\ +************************************* --> + +<box name="LSO_LSI_connection_Rot" material="ShieldSteel" X_Y_Z="63.; 754.1; 46. " /> + +<composition name="LSO_LSI_connection_Pos" > + <posXYZ volume="LSO_LSI_connection_Rot" X_Y_Z="0.; 2210.09; 0." /> +</composition> + +<composition name="LSO_LSI_Connection" > + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; -22.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; -67.5" /> +</composition> + +<!-- *********************************************************************************** End LSO LSI Connection *******************************************\ +************************************* --> + +<!-- *********************************************************************************** Alignment Bars ***************************************************\ +**************************************** --> + +<!-- SS Bar --> +<tubs name="SS_Bar_Tube" material="Aluminium" Rio_Z="0.; 49.1; 2382." /> + +<composition name="SS_Bar_Assembly" > + <posXYZ volume="SS_Bar_Tube" X_Y_Z="69.2; 3364.6; 0" rot=" 90. ; 0. ; -3.35" /> +</composition> + +<composition name="SS_Bar" > + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End SS Bar --> + +<!-- LS Bar --> +<tubs name="LS_Bar_Tube" material="Aluminium" Rio_Z="0.; 48.; 2340." /> +<box name="LS_Arm" material="Aluminium" X_Y_Z="1010.; 40.; 50. " /> + +<composition name="LS_Bar_Assembly" > + <posXYZ volume="LS_Bar_Tube" X_Y_Z="1286.4; 3086.18; 0." rot=" 90. ; 0. ; -25." /> + <posXYZ volume="LS_Arm" X_Y_Z="1789.34; 4164.73; 0." rot=" 0. ; 0. ; -25." /> +</composition> + +<composition name="LS_Bar" > + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End LS Bar --> + +<!-- *********************************************************************************** End Alignment Bars ***********************************************\ +******************************************** --> + + +<composition name="NSW_Aluminum_Structure_and_HUB_Assembly" > + <posXYZ volume="New_Hub" /> + <posXYZ volume="Inner_Spoke" /> + <posXYZ volume="LSO_LSI_Connection" /> + <posXYZ volume="Outer_Spoke" /> + <posXYZ volume="SS_Bar" /> + <posXYZ volume="LS_Bar" /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB_SideA" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_Assembly" X_Y_Z="0.; 0.; 6943.8" rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB_SideC" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_Assembly" X_Y_Z="0.; 0.; -6943.8" rot=" 0. ; 180. ; 0." /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_SideA" /> + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_SideC" /> +</composition> + +</section> + +<!-- ===========================================NJD=========================================== --> + +<section name = "NJD Disk" + version = "0.0" + date = "16-11-2016" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NJD_Disk"> + +<!-- NJD Disk --> + +<!-- main disk--> +<tubs name="MD01" material="ShieldSteel" Rio_Z="430.; 4360.; 40." nbPhi="32." /> +<tubs name="MD02" material="ShieldSteel" Rio_Z="430.; 2700.; 48.7" nbPhi="32." /> +<tubs name="MDB01_Cut" material="ShieldSteel" Rio_Z="0.; 840.; 3." nbPhi="32." /> + +<gvxy name="MD03" material="ShieldSteel" dZ="40." > + <gvxy_point X_Y="-3370.; -3950."/> + <gvxy_point X_Y="-3370.; -3880."/> + <gvxy_point X_Y="-3679.5; -2484."/> + <gvxy_point X_Y="-3990.; -1734.39"/> + <gvxy_point X_Y="-2599.16; -3470."/> + <gvxy_point X_Y="-2670.; -3570."/> + <gvxy_point X_Y="-2670.; -3950."/> +</gvxy> + +<subtraction name="MDB01_Un" > + <posXYZ volume="MD01" /> + <posXYZ volume="MDB01_Cut" X_Y_Z=" 0.; 0.; 19.4 " /> +</subtraction> + +<union name="MDB01" > + <posXYZ volume="MDB01_Un" /> + <posXYZ volume="MD03" /> + <posXYZ volume="MD03" rot=" 0.; 180.; 0."/> +</union> +<!-- End main disk--> + + +<!-- Ret.Flux --> +<tubs name="FLUX_Box" material="ShieldSteel" Rio_Z="3800.; 4360.; 39.9" nbPhi="32." /> +<box name="FLUX_Cut_Box" material="ShieldSteel" X_Y_Z="2200.; 400.; 50." /> + +<subtraction name="FLUX" > + <posXYZ volume="FLUX_Box" /> + <posXYZ volume="FLUX_Cut_Box" X_Y_Z=" -1930.; 3430.; 0." /> +</subtraction> +<!-- End Ret.Flux --> + +<!-- FIXING PLATE --> +<box name="FIXING_PLATE" material="ShieldSteel" X_Y_Z="350.; 975.; 40.9" /> +<box name="FIXING_PLATE_Special" material="ShieldSteel" X_Y_Z="350.; 787.5; 40.9" /> + +<composition name="FIXING_PLATE_Pos" > + <posXYZ volume="FIXING_PLATE" X_Y_Z=" 0.; 3252.5; 0." /> +</composition> + +<composition name="FIXING_PLATE_Ass" > + <posXYZ volume="FIXING_PLATE_Special" X_Y_Z=" -1208.8; 2918.31; 0." rot=" 0.; 0.; 22.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 67.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 112.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 157.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 202.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 247.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 292.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 337.5" /> +</composition> +<!-- End FIXING PLATE --> + +<!-- NJD feet--> +<gvxy name="JF01" material="ShieldSteel" dZ="37.3" > + <gvxy_point X_Y="-3300.; -3950."/> + <gvxy_point X_Y="-3300.; -3480."/> + <gvxy_point X_Y="-3270.; -3450."/> + <gvxy_point X_Y="-2730.; -3450."/> + <gvxy_point X_Y="-2700.; -3480."/> + <gvxy_point X_Y="-2700.; -3950."/> +</gvxy> + +<gvxy name="JF02" material="ShieldSteel" dZ="35." > + <gvxy_point X_Y="-342.4; -3950."/> + <gvxy_point X_Y="-342.4; -3930."/> + <gvxy_point X_Y="-77.4; -3470."/> + <gvxy_point X_Y="-57.4; -3470."/> + <gvxy_point X_Y="-57.4; -3920."/> + <gvxy_point X_Y="-87.4; -3950."/> +</gvxy> + +<gvxy name="JF03" material="ShieldSteel" dZ="48." > + <gvxy_point X_Y="-3370.; -362."/> + <gvxy_point X_Y="-3370.; 704."/> + <gvxy_point X_Y="-3495.; 704."/> + <gvxy_point X_Y="-3495.; 933."/> + <gvxy_point X_Y="-2660.; 933."/> + <gvxy_point X_Y="-2660.; 653."/> + <gvxy_point X_Y="-2700.; 653."/> + <gvxy_point X_Y="-2700.; 523."/> + <gvxy_point X_Y="-2590.; 523."/> + <gvxy_point X_Y="-2590.; -52."/> + <gvxy_point X_Y="-2685.; -52."/> + <gvxy_point X_Y="-2685.; -362."/> +</gvxy> + +<gvxy name="JF04" material="ShieldSteel" dZ="41.6" > + <gvxy_point X_Y="-453.5; -4251.1"/> + <gvxy_point X_Y="-453.5; -4158.1"/> + <gvxy_point X_Y="-603.; -4083.1"/> + <gvxy_point X_Y="-603.; -4038.1"/> + <gvxy_point X_Y="-362.; -4038.1"/> + <gvxy_point X_Y="-362.; -3998.1"/> + <gvxy_point X_Y="883.; -3998.1"/> + <gvxy_point X_Y="883.; -4251.1"/> +</gvxy> + +<gvxy name="JF05" material="ShieldSteel" dZ="356.1" > + <gvxy_point X_Y="-603.; -4048.1"/> + <gvxy_point X_Y="-603.; -4038.1"/> + <gvxy_point X_Y="-362.; -4038.1"/> + <gvxy_point X_Y="-362.; -3998.1"/> + <gvxy_point X_Y="-253.; -3998.1"/> + <gvxy_point X_Y="-253.; -4048.1"/> +</gvxy> + +<box name="JF06" material="ShieldSteel" X_Y_Z="536.; 253.; 71.4" /> + +<!-- Right--> +<composition name="Right_Feet" > + <posXYZ volume="JF01" X_Y_Z=" 0.; 0.; 38.7" rot=" 0.; 0.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" -2802.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" -3197.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF03" X_Y_Z=" 0.; -3974.05; 0." rot=" -90.; 0.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" -2805.2; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" -3203.; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF05" X_Y_Z=" -3004.1; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF06" X_Y_Z=" -3000.; -4124.6; -918.75" rot=" 0.; 0.; 0." /> +</composition> +<!-- End Right--> + +<!-- Left--> +<composition name="Left_Feet" > + <posXYZ volume="JF01" X_Y_Z=" 0.; 0.; 38.7" rot=" 0.; 180.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" 2802.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" 3197.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF03" X_Y_Z=" 0.; -3974.05; 0." rot=" -90.; 0.; 180." /> + <posXYZ volume="JF04" X_Y_Z=" 2805.2; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" 3203.; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF05" X_Y_Z=" 3004.1; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF06" X_Y_Z=" 3000.; -4124.6; -918.75" rot=" 0.; 0.; 0." /> +</composition> +<!-- End Right--> +<!-- End NJD feet--> + +<composition name="JDDisk_ASide" > + <posXYZ volume="MDB01" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 0.; 0." /> + <posXYZ volume="MD02" X_Y_Z=" 0.; 0.; 6835.6" rot=" 0.; 0.;0."/> + <posXYZ volume="FLUX" X_Y_Z=" 0.; 0.; 6840." rot=" 0.; 0.; 0." /> + <posXYZ volume="FIXING_PLATE_Ass" X_Y_Z=" 0.; 0.; 6839.5" rot=" 0.; 0.; 0." /> + <posXYZ volume="Right_Feet" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 180.; 0." /> + <posXYZ volume="Left_Feet" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 180.; 0." /> +</composition> + +<composition name="JDDisk_CSide" > + <posXYZ volume="MDB01" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 180.; 0." /> + <posXYZ volume="MD02" X_Y_Z=" 0.; 0.; -6835.6" rot=" 0.; 0.;0."/> + <posXYZ volume="FLUX" X_Y_Z=" 0.; 0.; -6840." rot=" 0.; 0.; 0." /> + <posXYZ volume="FIXING_PLATE_Ass" X_Y_Z=" 0.; 0.; -6839.5" rot=" 0.; 0.; 0." /> + <posXYZ volume="Right_Feet" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 0.; 0." /> + <posXYZ volume="Left_Feet" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 0.; 0." /> +</composition> +<!-- End NJD Disk --> + +<composition name="NJD_Disk" > + <posXYZ volume="JDDisk_ASide" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 0." /> + <posXYZ volume="JDDisk_CSide" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 0." /> +</composition> + +</section> + +<!-- ==================================================Feet========================================= --> + +<section name = "A Plate" + version = "0.0" + date = "29-05-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "A_Plate"> + +<gvxy name="Lateral_Plate_Main" material="ShieldSteel" dZ="21."> + <gvxy_point X_Y="-3300.; -4000."/> + <gvxy_point X_Y="-3548.3; -3235.72"/> + <gvxy_point X_Y="-1458.4; -560.8"/> + <gvxy_point X_Y="73.9; 73.9"/> + <gvxy_point X_Y="-628.9; -1622.8"/> + <gvxy_point X_Y="-818.3; -1544.4"/> + <gvxy_point X_Y="-1558.6; -2491.9"/> + <gvxy_point X_Y="-1427.8; -2980."/> + <gvxy_point X_Y="-0.01; -2980."/> + <gvxy_point X_Y="-0.01; -3280."/> + <gvxy_point X_Y="-1701.9; -3280."/> + <gvxy_point X_Y="-1995.3; -3050.8"/> + <gvxy_point X_Y="-2650.; -3889."/> + <gvxy_point X_Y="-2650.; -4000."/> +</gvxy> + +<tubs name="Lateral_plate_TubeCut" material="ShieldSteel" Rio_Z=" 0. ; 600. ; 25." nbPhi="36." /> + +<subtraction name="Lateral_Plate" > + <posXYZ volume="Lateral_Plate_Main" /> + <posXYZ volume="Lateral_plate_TubeCut" X_Y_Z="-0.01; -0.01; 0." rot=" 0. ; 0. ; 0." /> +</subtraction> + +<tubs name="Anchorage" material="ShieldSteel" Rio_Z=" 0. ; 22.6 ; 577." nbPhi="36." /> + +<gvxy name="Vertical_Top_Plate" material="ShieldSteel" dZ="33."> + <gvxy_point X_Y="-3300.; -3998."/> + <gvxy_point X_Y="-3300.; -3730."/> + <gvxy_point X_Y="-2865.; -3730."/> + <gvxy_point X_Y="-2675.; -3920."/> + <gvxy_point X_Y="-2675.; -3998."/> +</gvxy> + +<box name="Horizontal_Plate" material="ShieldSteel" X_Y_Z="625.; 40.6; 287. " /> + +<composition name="A_Plate_Assembly" > + <posXYZ volume="Lateral_Plate" /> + <posXYZ volume="Lateral_Plate" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="Anchorage" X_Y_Z="-3447.; -3283.25; -299.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Anchorage" X_Y_Z="3447.; -3283.25; -299.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Vertical_Top_Plate" X_Y_Z="0.; 0.; -27.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Vertical_Top_Plate" X_Y_Z="0.; 0.; -27.01" rot="0. ; 180. ; 0." /> + <posXYZ volume="Horizontal_Plate" X_Y_Z="-2987.5; -3929.7; -187.02" rot="0. ; 0. ; 0." /> + <posXYZ volume="Horizontal_Plate" X_Y_Z="2987.5; -3929.7; -187.02" rot="0. ; 0. ; 0." /> +</composition> + +<composition name="A_Plate_SideA" > + <posXYZ volume="A_Plate_Assembly" X_Y_Z=" 0. ; 0.; 7857.5" /> +</composition> + +<composition name="A_Plate_SideC" > + <posXYZ volume="A_Plate_Assembly" X_Y_Z=" 0. ; 0.; -7857.5" rot="0. ; 180. ; 0." /> +</composition> + +<composition name="A_Plate" > + <posXYZ volume="A_Plate_SideA" /> + <posXYZ volume="A_Plate_SideC" /> +</composition> + +</section> + +<!-- ========== Poisitionning all Volumes in NSW================ --> + +<section name="NewSmallWheels" version="4.3" top_volume="useless" date=" April 20, 2015 " author="Daniel Lellouch"> + +<composition name="NewSmallWheel"> + <posXYZ volume="NSW_sTGC" X_Y_Z="0.;0.;0."/> + <posXYZ volume="NSW_MM" X_Y_Z="0.;0.;0." /> + <posXYZ volume="NSW_Spacer" /> + <posXYZ volume="NSW_Aluminum_Structure_and_HUB" /> + <posXYZ volume="NJD_Disk" /> + <posXYZ volume="A_Plate" /> +</composition> + +</section> + +</AGDD> diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx index 4a079373e1e..c845cd960d6 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx @@ -328,7 +328,7 @@ MMT_Parameters::MMT_Parameters(par_par inputParams, char wedgeSize, const MuonGM //x = horizontal distance from beam looking down //////////// Define the large wedge ///////////////// w1=float32fixed<18>(mm_top_mult1->lWidth()); //top - w2=float32fixed<18>(mm_top_mult1->lWidth()*1./(cos(roParam_top_mult1.stereoAngel.at(3)))); //determined by 33deg angle //shelves part + w2=float32fixed<18>(mm_top_mult1->lWidth()*1./(cos(roParam_top_mult1.stereoAngle.at(3)))); //determined by 33deg angle //shelves part w3=float32fixed<18>(mm_bottom_mult1->sWidth());//582.3); //bottom h1=float32fixed<18>(roParam_top_mult1.roLength+roParam_bottom_mult1.roLength+5.0); //how tall wedge is at w1, ie total height @@ -370,8 +370,8 @@ MMT_Parameters::MMT_Parameters(par_par inputParams, char wedgeSize, const MuonGM //L=float32fixed<18>(7536.);//7500.); //distance from IP to front side of wedge strip_width = float32fixed<4>(roParam_top_mult1.stripPitch); // 0.5; - stereo_degree = float32fixed<4>(TMath::RadToDeg()*roParam_top_mult1.stereoAngel.at(2)); //0.75 //3 in degrees! - float32fixed<2> degree=roParam_top_mult1.stereoAngel.at(2); + stereo_degree = float32fixed<4>(TMath::RadToDeg()*roParam_top_mult1.stereoAngle.at(2)); //0.75 //3 in degrees! + float32fixed<2> degree=roParam_top_mult1.stereoAngle.at(2); // std::cout << "DEGREE" << degree.getFixed() << " " << stereo_degree.getFixed() << std::endl; vertical_strip_width_UV = strip_width.getFixed()/cos(degree.getFixed()); ybases=vector<vector<float32fixed<18> > >(setup.size(),vector<float32fixed<18> >(n_stations_eta,float32fixed<18>(0.))); -- GitLab From 5fa374970053ed7cf640321c306db58cb78a8a88 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Wed, 7 Nov 2018 20:11:19 +0000 Subject: [PATCH 163/209] Merge branch '21.0-fix_pix_hancool' into '21.0' Pixel DQ hancool protections See merge request atlas/athena!15659 (cherry picked from commit 021aa5baeeb0681a4ad8f20f380868bd8c6a071d) 8bc72932 Pixel DQ hancool protections added obo ytakubo --- .../DataQualityUtils/python/pix_defect.py | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/DataQuality/DataQualityUtils/python/pix_defect.py b/DataQuality/DataQualityUtils/python/pix_defect.py index 0ec2f464d5f..4f95205cf01 100644 --- a/DataQuality/DataQualityUtils/python/pix_defect.py +++ b/DataQuality/DataQualityUtils/python/pix_defect.py @@ -16,6 +16,7 @@ def find_standby(nlayer, hhits, lb_max, standby_lb): start = 0 start_lb = 0 end_lb = 0 + nbin = hhits[i].GetNbinsX() start_lb = 0 @@ -44,10 +45,12 @@ def find_standby(nlayer, hhits, lb_max, standby_lb): def find_notready(nlayer, hist, pct_low, pct_high, notready_lb): + for i in range(0, nlayer): start = 0 start_lb = 0 end_lb = 0 + nbin = hist[i].GetNbinsX() if i == 2: for j in range(1, nbin-1): @@ -144,6 +147,7 @@ def execute(run, sfile, lb_max): sdisabled = [] sdisabled.append("InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess") + #sdisabled.append("InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX0/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX1/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX2/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess") @@ -153,23 +157,36 @@ def execute(run, sfile, lb_max): nlayer = 6 hhits = [] hdisabled = [] + fexist_hhits = True + fexist_hdisabled = True for i in range(0, nlayer): + if not file.Get(shits[i]): + fexist_hhits = False + continue + + if not file.Get(sdisabled[i]): + fexist_hdisabled = False + continue + hhits.append(file.Get(shits[i])) hdisabled.append(file.Get(sdisabled[i])) standby_lb = [] - find_standby(nlayer, hhits, lb_max, standby_lb) + if fexist_hhits == True: + find_standby(nlayer, hhits, lb_max, standby_lb) notready5to7pct_lb = [] notready7to10pct_lb = [] notready10to20pct_lb = [] notready20to30pct_lb = [] notready_gt30pct_lb = [] - find_notready(nlayer, hdisabled, 0.05, 0.07, notready5to7pct_lb) - find_notready(nlayer, hdisabled, 0.07, 0.1, notready7to10pct_lb) - find_notready(nlayer, hdisabled, 0.1, 0.2, notready10to20pct_lb) - find_notready(nlayer, hdisabled, 0.2, 0.3, notready20to30pct_lb) - find_notready(nlayer, hdisabled, 0.3, 1., notready_gt30pct_lb) + + if fexist_hhits == True and fexist_hdisabled == True: + find_notready(nlayer, hdisabled, 0.05, 0.07, notready5to7pct_lb) + find_notready(nlayer, hdisabled, 0.07, 0.1, notready7to10pct_lb) + find_notready(nlayer, hdisabled, 0.1, 0.2, notready10to20pct_lb) + find_notready(nlayer, hdisabled, 0.2, 0.3, notready20to30pct_lb) + find_notready(nlayer, hdisabled, 0.3, 1., notready_gt30pct_lb) #print_def("standby", standby_lb) #user = "atlpixdq" -- GitLab From 66f2c05e21855b74f3f609dba946fe0be65a2869 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Thu, 8 Nov 2018 11:50:11 +0100 Subject: [PATCH 164/209] added DataBucket suitable for inserting void* into the store --- .../TrigOutputHandling/CMakeLists.txt | 9 +++ .../TrigOutputHandling/share/test.txt | 0 .../TrigOutputHandling/src/BareDataBucket.h | 62 +++++++++++++++++ .../test/void_record_test.cxx | 68 +++++++++++++++++++ 4 files changed, 139 insertions(+) create mode 100644 Trigger/TrigSteer/TrigOutputHandling/share/test.txt create mode 100644 Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h create mode 100644 Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx diff --git a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt index a27f1ee8afb..8c92b03e68d 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt @@ -37,3 +37,12 @@ atlas_add_library( TrigOutputHandlingLib atlas_add_component( TrigOutputHandling src/components/*.cxx LINK_LIBRARIES TrigOutputHandlingLib ) + +atlas_add_test( void_record_test + SOURCES test/void_record_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} xAODTrigger + AthLinks AthenaKernel StoreGateLib GaudiKernel TestTools xAODCore + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" + EXTRA_PATTERNS "^ClassIDSvc *VERBOSE|added entry for CLID|no dictionary for class|when retrieved" + ) diff --git a/Trigger/TrigSteer/TrigOutputHandling/share/test.txt b/Trigger/TrigSteer/TrigOutputHandling/share/test.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h new file mode 100644 index 00000000000..00d3be05e20 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h @@ -0,0 +1,62 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ +#ifndef TrigOutputHandling_BareDataBucket_h +#define TrigOutputHandling_BareDataBucket_h +#include "AthenaKernel/DataBucketBase.h" +#include "DataModelRoot/RootType.h" + +/** + * @class Allows to insert void* returned from serialisation into the store + **/ + +class BareDataBucket: public DataBucketBase { +public: + BareDataBucket( void * data, size_t sz, CLID clid, const RootType& type ) + : m_data(data), m_size(sz), m_clid(clid), m_type( type ){} + + ~BareDataBucket() { + if ( m_own ) + delete [] static_cast<char*>( m_data ); + } + virtual void* object() override { + return m_data; + } + + virtual const std::type_info& tinfo() const override { + return m_type.TypeInfo(); + }; + + virtual void* cast (CLID clid, + SG::IRegisterTransient* , + bool isConst = true) override { + return ( m_clid == clid and isConst ) ? m_data : nullptr; + } + + virtual void* cast (const std::type_info& tinfo, + SG::IRegisterTransient* , + bool isConst = true) override { + return ( tinfo == m_type.TypeInfo() and isConst ) ? m_data : nullptr; + } + + virtual DataBucketBase* clone() const override { + char* cloneData = new char[m_size]; + std::memcpy( cloneData, m_data, m_size ); + return new BareDataBucket( cloneData, m_size, m_clid, m_type ); + } + + virtual void relinquish() override { + m_own = false; + }; + + virtual void lock() override { /*not lockable I think */ }; + +private: + void* m_data; + size_t m_size; + CLID m_clid; + RootType m_type; + bool m_own = true; +}; + +#endif diff --git a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx new file mode 100644 index 00000000000..6685a2455e8 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx @@ -0,0 +1,68 @@ +#include <iostream> +#include "TestTools/expect.h" +#include "TestTools/initGaudi.h" +#include "AthenaKernel/getMessageSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "StoreGate/StoreGate.h" +#include "StoreGate/StoreGateSvc.h" +#include "../src/BareDataBucket.h" +#include "xAODTrigger/TrigCompositeContainer.h" +#include "xAODTrigger/TrigCompositeAuxContainer.h" + + +int main() { + using namespace std; + ISvcLocator* pSvcLoc; + if (!Athena_test::initGaudi("test.txt", pSvcLoc)) { + cerr << "ERROR This test can not be run" << endl; + return 0; + } + assert(pSvcLoc); + MsgStream log(Athena::getMessageSvc(), "Holder_test"); + + StoreGateSvc* pStore = 0; + if( pSvcLoc->service("StoreGateSvc", pStore, true).isSuccess() ) { + log << MSG::INFO << "SG pointer: " << pStore << endmsg; + } else { + log << MSG::ERROR << "can't obtain SG ptr" << endmsg; + return -1; + } + + xAOD::TrigCompositeContainer* testContainer = new xAOD::TrigCompositeContainer(); + xAOD::TrigCompositeAuxContainer* aux = new xAOD::TrigCompositeAuxContainer(); + testContainer->setStore( aux ); + + testContainer->push_back( new xAOD::TrigComposite() ); + testContainer->push_back( new xAOD::TrigComposite() ); + testContainer->at(0)->setDetail( "idetail", 7 ); + testContainer->at(1)->setDetail( "fdetail", 2.5f ); + void * rawContainerPtr = static_cast<void*>( testContainer ); + void * rawStorePtr = static_cast<void*>( testContainer ); + + RootType contaierRT = RootType::ByName( "xAOD::TrigCompositeContainer_v1" ); + log << MSG::INFO << contaierRT.Name() << endmsg; + BareDataBucket containerDataBucket( rawContainerPtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), contaierRT ); // size is ficticious in this test + + RootType storeRT = RootType::ByName( "xAOD::TrigCompositeAuxContainer_v1" ); + log << MSG::INFO << storeRT.Name() << endmsg; + BareDataBucket storeDataBucket( rawStorePtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), storeRT ); + + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &containerDataBucket ), "test", false, false ); + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &storeDataBucket ), "testAux.", false, false ); + + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeContainer>::ID(), "test") ) NOT_EXPECTED ( nullptr ); + VALUE ( pStore->accessData( ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), "testAux.") ) NOT_EXPECTED ( nullptr ); + + log << MSG::INFO << "objects in store, trying to read them back via rertieve" << endmsg; + + const xAOD::TrigCompositeContainer* containerBack = 0; + pStore->retrieve( containerBack, "test" ); + + VALUE ( containerBack ) NOT_EXPECTED ( nullptr ); + VALUE( containerBack->size() ) EXPECTED ( 2 ); + VALUE( containerBack->at(0)->getDetail<int32_t>("idetail") ) EXPECTED ( 7 ); + VALUE( containerBack->at(1)->getDetail<float>("fdetail") ) EXPECTED ( 2.5f ); + + log << MSG::INFO << "Container red back is identical" << endmsg; + return 0; +} -- GitLab From 4c399e42d85f1362d0efcfea97237050ad3b02f9 Mon Sep 17 00:00:00 2001 From: amorley <anthony.morley@cern.ch> Date: Thu, 8 Nov 2018 11:53:33 +0100 Subject: [PATCH 165/209] protect against missing track parameters --- .../TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index e5280850c53..579083d77f4 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -1300,11 +1300,18 @@ namespace Trk { - const TrackParameters *firstidpar = (*indettrack->trackParameters())[1]; + const TrackParameters *firstidpar = 0; + // Dont understand why the second track parameters are taken + // Is it assumed the ID track is slimmed? + if( indettrack->trackParameters()->size() > 1) + firstidpar = (*indettrack->trackParameters())[1]; + else + firstidpar = indettrack->trackParameters()->back(); + const TrackParameters *lastidpar = 0; - if(cache.m_caloEntrance) - lastidpar = m_extrapolator->extrapolateToVolume(*firstidpar, *cache.m_caloEntrance, alongMomentum, - Trk::muon); + if(firstidpar && cache.m_caloEntrance) + lastidpar = m_extrapolator->extrapolateToVolume(*firstidpar, *cache.m_caloEntrance, + alongMomentum, Trk::muon); if (!lastidpar) { lastidpar = indettrack->trackParameters()->back()->clone(); } -- GitLab From 1d61901043de22ce19498e5a8e16cdd555f25251 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 8 Nov 2018 12:04:57 +0100 Subject: [PATCH 166/209] Update packages:TrigGenericAlgs from upstream/21.0-TrigMC to upstream/master via pseudo-merge --- .../TrigGenericAlgs/src/AcceptL1TopoMonitor.h | 2 + .../TrigGenericAlgs/src/TrigRoiUpdater.cxx | 146 +++++++++++++----- .../TrigGenericAlgs/src/TrigRoiUpdater.h | 12 +- 3 files changed, 117 insertions(+), 43 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h index 7726e8ee4a6..366f567ca8b 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h @@ -159,6 +159,8 @@ private: TH1F* m_histTopoHdwNotSimOverflow; TH1F* m_histTopoProblems; TH1F* m_histInputLinkCRCfromROIConv; + TH1F* m_histTopoSimOverfl; + TH1F* m_histTopoHdwOverfl; TH1F* m_histTopoDaqRobSimResult; TH1F* m_histTopoDaqRobHdwResult; TH1F* m_histTopoDaqRobSimNotHdwResult; diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx index 54a283dd044..28850a51337 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx @@ -1,27 +1,37 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #include "TrigRoiUpdater.h" #include "GaudiKernel/MsgStream.h" #include "GaudiKernel/IIncidentSvc.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "RoiDescriptor/RoiDescriptor.h" +#include "IRegionSelector/RoiUtil.h" +#include "IRegionSelector/IRoiDescriptor.h" +#include "IRegionSelector/IRegSelSvc.h" namespace PESA { TrigRoiUpdater::TrigRoiUpdater(const std::string &name, - ISvcLocator *pSvcLocator) + ISvcLocator *pSvcLocator) : HLT::FexAlgo (name, pSvcLocator), m_etaHalfWidth(0.), m_phiHalfWidth(0.), m_zHalfWidth(0.), + m_regionSelector("RegSelSvc", name), + m_requestPIXRobs(true), + m_requestSCTRobs(true), m_monitorDuplicateRoIs(true), m_invocations(0), m_duplicateRoIs(0) { declareProperty("EtaHalfWidth", m_etaHalfWidth); declareProperty("PhiHalfWidth", m_phiHalfWidth); + declareProperty("RegionSelectorTool", m_regionSelector); + declareProperty("RequestPIXRobs", m_requestPIXRobs); + declareProperty("RequestSCTRobs", m_requestSCTRobs); declareProperty("MonitorDuplicateRoIs", m_monitorDuplicateRoIs); m_inpPhiMinus = m_inpPhiPlus = m_inpPhiSize = 0.; @@ -62,6 +72,14 @@ namespace PESA return HLT::BAD_JOB_SETUP; } + // Retrieving Region Selector Tool: + if ( (m_requestPIXRobs || m_requestSCTRobs) && m_regionSelector.retrieve().isFailure() ) { + ATH_MSG_FATAL( m_regionSelector.propertyName() + << " : Unable to retrieve RegionSelector tool " + << m_regionSelector.type() ); + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } + return HLT::OK; } @@ -70,7 +88,7 @@ namespace PESA if (inc.type() == "BeginEvent") { //cleanup stored RoIs m_rois.clear(); - } + } } /////////////////////////////////////////////////////////////////// @@ -80,15 +98,16 @@ namespace PESA ATH_MSG_DEBUG("execHLTAlgorithm()"); + const TrigRoiDescriptor *roi = 0; + bool forIDfound=false; + bool updateNeeded=true; + bool attach_forID=true; + m_inpPhiMinus = m_inpPhiPlus = m_inpPhiSize = -10.; m_inpEtaMinus = m_inpEtaPlus = m_inpEtaSize = -10.; m_PhiMinus = m_PhiPlus = m_PhiSize = -10.; m_EtaMinus = m_EtaPlus = m_EtaSize = -10.; - const TrigRoiDescriptor *roi = 0; - bool forIDfound=false; - bool updateNeeded=true; - std::vector<std::string> roiNames = {"forID3","forID2","forID1", "forID", ""}; std::string roiName= ""; @@ -105,8 +124,12 @@ namespace PESA if (roi->composite()){ + if (m_requestPIXRobs || m_requestSCTRobs){ + registerROBs(roi); + } + ATH_MSG_DEBUG("Not touching a composite RoI"); - return HLT::OK; + updateNeeded = false; } //signature specific modifications @@ -120,25 +143,23 @@ namespace PESA if (instanceName.find("Bjet")!=std::string::npos || instanceName.find("bjet")!=std::string::npos){ ATH_MSG_DEBUG("don't use fixed RoI halfwidths for bjets"); updateNeeded = false; + if (instanceName.find("BjetVtx")!=std::string::npos){ + attach_forID=false; + } } - - - + TrigRoiDescriptor *outroi = 0; if (updateNeeded) { m_inpPhiMinus= roi->phiMinus(); m_inpPhiPlus = roi->phiPlus(); m_inpPhiSize= m_inpPhiPlus - m_inpPhiMinus; m_inpEtaMinus= roi->etaMinus(); m_inpEtaPlus = roi->etaPlus(); m_inpEtaSize= m_inpEtaPlus - m_inpEtaMinus; - - float eta = roi->eta(); float phi = roi->phi(); float oldEtaW = m_inpEtaPlus - m_inpEtaMinus; float oldPhiW = m_inpPhiPlus - m_inpPhiMinus; - if ( m_inpPhiPlus < m_inpPhiMinus ) oldPhiW += 2*M_PI; float diff_eta = 0.5*oldEtaW - m_etaHalfWidth; @@ -148,8 +169,8 @@ namespace PESA zedm = roi->zedMinus()-m_zHalfWidth; zedp = roi->zedPlus()+m_zHalfWidth; if (instanceName.find("IDTrigRoiUpdater_BeamSpot_IDTrig")!=std::string::npos){ - zedm = (roi->zedPlus()+roi->zedMinus())/2.-m_zHalfWidth; - zedp = (roi->zedPlus()+roi->zedMinus())/2.+m_zHalfWidth; + zedm = (roi->zedPlus()+roi->zedMinus())/2.-m_zHalfWidth; + zedp = (roi->zedPlus()+roi->zedMinus())/2.+m_zHalfWidth; } @@ -167,47 +188,56 @@ namespace PESA ATH_MSG_DEBUG("Input RoI " << *roi); - if ( HLT::OK != attachFeature(outputTE, outroi, roiName) ) { - ATH_MSG_ERROR("Could not attach feature to the TE"); - return HLT::NAV_ERROR; + if (attach_forID){ + if ( HLT::OK != attachFeature(outputTE, outroi, roiName) ) { + ATH_MSG_ERROR("Could not attach feature to the TE"); + return HLT::NAV_ERROR; + } + else { + ATH_MSG_DEBUG("REGTEST attached RoI " << roiName << *outroi); + } } - else { - ATH_MSG_DEBUG("REGTEST: attached RoI " << roiName << *outroi); + + if (m_requestPIXRobs || m_requestSCTRobs){ + registerROBs(outroi); } + //check whether we are attaching the same RoI again (this execution could be cache) if (m_monitorDuplicateRoIs){ for (auto it = m_rois.begin(); it != m_rois.end(); it++) { - TrigRoiDescriptor r = (*it); - if (fabs(r.etaMinus()-outroi->etaMinus())<0.001 && - fabs(r.etaPlus()-outroi->etaPlus())<0.001 && - fabs(r.zedMinus()-outroi->zedMinus())<0.1 && - fabs(r.zedPlus()-outroi->zedPlus())<0.1 && - fabs(r.phiMinus()-outroi->phiMinus())<0.001 && - fabs(r.phiPlus()-outroi->phiPlus())<0.001){ - ATH_MSG_DEBUG("This RoI was already processed by the same instance of ID tracking"); - ATH_MSG_DEBUG(*outroi); - ATH_MSG_DEBUG(r); - thesameroi=true; - } + TrigRoiDescriptor r = (*it); + if (r == *outroi) { + ATH_MSG_DEBUG("This RoI was already processed by the same instance of ID tracking"); + ATH_MSG_DEBUG(*outroi); + ATH_MSG_DEBUG(r); + thesameroi=true; + } } if (!thesameroi){ - m_rois.push_back(*outroi); - ATH_MSG_DEBUG("Registering RoI " << *outroi); - } else { - m_duplicateRoIs++; + outroi->manageConstituents(false); + m_rois.push_back(*outroi); + // m_rois.back().manageConstituents(false); + ATH_MSG_DEBUG("Registering RoI " << m_rois.back()); + } + else { + m_duplicateRoIs++; } + } + if (!attach_forID){ //if the outroi is not attached to the navigation + delete outroi; } m_invocations++; return HLT::OK; } - /////////////////////////////////////////////////////////////////// + + ////////////////////////////////////////////////////////////////// // Finalize /////////////////////////////////////////////////////////////////// - + HLT::ErrorCode TrigRoiUpdater::hltFinalize() { ATH_MSG_DEBUG("finalize() success"); @@ -215,6 +245,40 @@ namespace PESA return HLT::OK; } -} // end namespace + HLT::ErrorCode TrigRoiUpdater::registerROBs(const TrigRoiDescriptor *roi){ + + if (roi == 0) { + ATH_MSG_WARNING( "REGTEST / Failed to find RoiDescriptor " ); + return HLT::NAV_ERROR; + } + + ATH_MSG_DEBUG( "REGTEST registerROBs" << *roi ); + + std::vector<unsigned int> uIntListOfRobs; + if (m_requestPIXRobs) { + m_regionSelector->DetROBIDListUint( PIXEL, *roi, uIntListOfRobs ); + + ATH_MSG_DEBUG( "list of ROBs ID in PIX: " ); + for(uint i_lid(0); i_lid<uIntListOfRobs.size(); i_lid++) + ATH_MSG_DEBUG( "0x" << std::hex << uIntListOfRobs.at(i_lid) << std::dec ); + + config()->robRequestInfo()->addRequestScheduledRobIDs( uIntListOfRobs ); + uIntListOfRobs.clear(); + } + + if (m_requestSCTRobs){ + m_regionSelector->DetROBIDListUint( SCT, *roi, uIntListOfRobs ); + + ATH_MSG_DEBUG( "list of ROBs ID in SCT: " ); + for(uint i_lid(0); i_lid<uIntListOfRobs.size(); i_lid++) + ATH_MSG_DEBUG( "0x" << std::hex << uIntListOfRobs.at(i_lid) << std::dec ); + + config()->robRequestInfo()->addRequestScheduledRobIDs( uIntListOfRobs ); + } + + return HLT::OK; + } + +} // end namespace diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h index d07974d7d0e..d24dd472f1a 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////////////////////////////// @@ -23,7 +23,7 @@ #include "TrigInterfaces/FexAlgo.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" -//class TrigRoiDescriptor; +class IRegSelSvc; namespace PESA @@ -40,10 +40,18 @@ namespace PESA private: + HLT::ErrorCode registerROBs(const TrigRoiDescriptor *roi); + float m_etaHalfWidth; float m_phiHalfWidth; float m_zHalfWidth; + //ROB prefetching + ServiceHandle<IRegSelSvc> m_regionSelector; + //!< region selector service + bool m_requestPIXRobs; + bool m_requestSCTRobs; + //monitoring float m_inpPhiMinus,m_inpPhiPlus, m_inpPhiSize; float m_inpEtaMinus,m_inpEtaPlus, m_inpEtaSize; -- GitLab From 45675d18da893c6cee49ae2475ca201634094b72 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Thu, 8 Nov 2018 12:55:01 +0100 Subject: [PATCH 167/209] fixed BSCnvSvc vonfig & added test --- Event/ByteStreamCnvSvc/CMakeLists.txt | 3 +++ Event/ByteStreamCnvSvc/python/ByteStreamConfig.py | 13 +++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Event/ByteStreamCnvSvc/CMakeLists.txt b/Event/ByteStreamCnvSvc/CMakeLists.txt index 8071b3dab5e..9dd4536cf4b 100644 --- a/Event/ByteStreamCnvSvc/CMakeLists.txt +++ b/Event/ByteStreamCnvSvc/CMakeLists.txt @@ -122,6 +122,9 @@ _add_test( AtlCopyBSEvent5_test # "AtlCopyBSEvent -e all -o empty.data /afs/cern.ch/atlas/maxidisk/d108/cranshaw/nightlies/RAW.01524408._005549.data.1" # DEPENDS ByteStreamCnvSvc_AtlFindBSEvent4_test_ctest ) + + atlas_add_test( ByteStreamConfigTest SCRIPT python -m ByteStreamCnvSvc.ByteStreamConfig POST_EXEC_SCRIPT nopost.sh ) + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py index 958615ada18..ebff37302f5 100644 --- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py +++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py @@ -46,10 +46,12 @@ def TrigBSReadCfg( inputFlags ): from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool iovMetaDataTool = IOVDbMetaDataTool() - + acc.addPublicTool( iovMetaDataTool ) + from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool bsMetaDataTool = ByteStreamMetadataTool() - + acc.addPublicTool( bsMetaDataTool ) + from StoreGate.StoreGateConf import ProxyProviderSvc, StoreGateSvc metaDataStore = StoreGateSvc("MetaDataStore") acc.addService( metaDataStore ) @@ -111,10 +113,9 @@ def TrigBSReadCfg( inputFlags ): return acc if __name__ == "__main__": - from AthenaConfiguration.ConfigFlags import ConfigFlagContainer - flags = ConfigFlagContainer() - flags.Input.Files = ["dummy.data"] + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"] - acc = TrigBSReadCfg( flags ) + acc = TrigBSReadCfg( ConfigFlags ) acc.store( file( "test.pkl", "w" ) ) print "All OK" -- GitLab From 1361476459b8cb3d063082f64ed8f1956093ac70 Mon Sep 17 00:00:00 2001 From: Walter Lampl <walter.lampl@cern.ch> Date: Thu, 8 Nov 2018 12:53:56 +0000 Subject: [PATCH 168/209] Remove accessor by offline id from LArHVSCorrComplete --- .../CaloCondPhysAlgs/src/CaloRescaleNoise.cxx | 4 +- .../CaloCondPhysAlgs/src/CaloRescaleNoise.h | 2 + .../src/FCAL_HV_Energy_Rescale.cxx | 4 +- .../src/FCAL_HV_Energy_Rescale.h | 2 + .../CaloInterface/ILArHVFraction.h | 44 ++++++++ .../CaloRec/python/CaloClusterTopoGetter.py | 11 +- .../CaloRec/src/CaloClusterMomentsMaker.cxx | 35 +++--- .../CaloRec/src/CaloClusterMomentsMaker.h | 7 +- .../CaloClusterMomentsMaker_DigiHSTruth.cxx | 40 +++---- .../src/CaloClusterMomentsMaker_DigiHSTruth.h | 4 +- .../LArCellRec/src/LArHVFraction.cxx | 47 ++++++++ LArCalorimeter/LArCellRec/src/LArHVFraction.h | 39 +++++++ .../src/components/LArCellRec_entries.cxx | 4 +- .../src/LArHVCorrectionMonTool.cxx | 2 +- .../LArRawConditions/LArHVScaleCorrComplete.h | 7 +- .../src/LArHVScaleCorrComplete.cxx | 14 +-- .../python/LArHVScaleRetrieverDefault.py | 39 ------- .../LArRecUtils/src/LArHVScaleRetriever.cxx | 95 ---------------- .../LArRecUtils/src/LArHVScaleRetriever.h | 102 ------------------ .../src/components/LArRecUtils_entries.cxx | 2 - LArCalorimeter/LArTools/CMakeLists.txt | 1 + .../LArTools/LArTools/LArHVFraction.h | 74 ------------- 22 files changed, 193 insertions(+), 386 deletions(-) create mode 100644 Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h create mode 100644 LArCalorimeter/LArCellRec/src/LArHVFraction.cxx create mode 100644 LArCalorimeter/LArCellRec/src/LArHVFraction.h delete mode 100644 LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py delete mode 100644 LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx delete mode 100644 LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h delete mode 100644 LArCalorimeter/LArTools/LArTools/LArHVFraction.h diff --git a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx index eb88832d346..bf738b0bc1e 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx +++ b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx @@ -54,6 +54,7 @@ StatusCode CaloRescaleNoise::initialize() ATH_CHECK( m_noiseTool.retrieve() ); ATH_CHECK( m_hvCorrTool.retrieve() ); + ATH_CHECK( m_cabling.retrieve()); ATH_CHECK( detStore()->regHandle(m_dd_HVScaleCorr,m_keyHVScaleCorr) ); m_tree = new TTree("mytree","Calo Noise ntuple"); @@ -94,6 +95,7 @@ StatusCode CaloRescaleNoise::stop() for (int i=0;i<ncell;i++) { IdentifierHash idHash=i; Identifier id=m_calo_id->cell_id(idHash); + HWIdentifier hwid=m_cabling->createSignalChannelID(id); const CaloDetDescrElement* calodde = calodetdescrmgr->get_element(id); int subCalo; IdentifierHash idSubHash = m_calo_id->subcalo_cell_hash (idHash, subCalo); @@ -143,7 +145,7 @@ StatusCode CaloRescaleNoise::stop() if (iCool<48) { hvcorr = m_hvCorrTool->Scale(id); - hvonline = m_dd_HVScaleCorr->HVScaleCorr(id); + hvonline = m_dd_HVScaleCorr->HVScaleCorr(hwid); } const double inv_hvonline = (hvonline != 0) ? 1. / hvonline : 1; diff --git a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h index 3b41e57c30e..c7359e81353 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h +++ b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h @@ -24,6 +24,7 @@ #include "LArElecCalib/ILArHVScaleCorr.h" #include "StoreGate/DataHandle.h" +#include "LArCabling/LArCablingService.h" #include "GaudiKernel/ITHistSvc.h" #include "TTree.h" @@ -56,6 +57,7 @@ class CaloRescaleNoise : public AthAlgorithm { ToolHandle<ICaloNoiseTool> m_noiseTool; ToolHandle<ILArHVCorrTool> m_hvCorrTool; + ToolHandle<LArCablingService> m_cabling; std::string m_keyHVScaleCorr; const DataHandle<ILArHVScaleCorr> m_dd_HVScaleCorr; diff --git a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx index 50b7fdd82f7..fa0c557fbfa 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx +++ b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx @@ -40,6 +40,7 @@ FCAL_HV_Energy_Rescale::~FCAL_HV_Energy_Rescale() StatusCode FCAL_HV_Energy_Rescale::initialize() { CHECK(m_hvCorrTool.retrieve()); + ATH_CHECK( m_cabling.retrieve()); return StatusCode::SUCCESS; } @@ -90,8 +91,9 @@ StatusCode FCAL_HV_Energy_Rescale::stop() if (calocell_id->is_fcal(h)) { ++nFCAL; Identifier id=calocell_id->cell_id(h); + HWIdentifier hwid=m_cabling->createSignalChannelID(id); const float corrNew=m_hvCorrTool->Scale(id); - const float upd1corr=upd1HVScaleCorr->HVScaleCorr(id); + const float upd1corr=upd1HVScaleCorr->HVScaleCorr(hwid); const float corr=corrNew/upd1corr; diff --git a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h index 652ee80e6e2..a7178c1390c 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h +++ b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h @@ -10,6 +10,7 @@ #include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" #include "LArElecCalib/ILArHVCorrTool.h" +#include "LArCabling/LArCablingService.h" class FCAL_HV_Energy_Rescale: public AthAlgorithm { @@ -35,6 +36,7 @@ class FCAL_HV_Energy_Rescale: public AthAlgorithm private: ToolHandle<ILArHVCorrTool> m_hvCorrTool; + ToolHandle<LArCablingService> m_cabling; std::string m_folder; }; diff --git a/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h b/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h new file mode 100644 index 00000000000..a39ba244aba --- /dev/null +++ b/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h @@ -0,0 +1,44 @@ +///////////////////////// -*- C++ -*- ///////////////////////////// + +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +// ILArHVFraction.h +// Header file for class ILArHVFraction +/////////////////////////////////////////////////////////////////// +#ifndef LARELECCALIB_ILARHVFRACTION_H +#define LARELECCALIB_ILARHVFRACTION_H 1 + + +// FrameWork includes +#include "GaudiKernel/IAlgTool.h" +#include "GaudiKernel/EventContext.h" + + +// Forward declaration +class CaloClusterCellLinkContainer; + +static const InterfaceID IID_ILArHVFraction("ILArHVFraction", 1, 0); + +class ILArHVFraction + : virtual public ::IAlgTool +{ + public: + + /** Destructor: + */ + virtual ~ILArHVFraction() {}; + static const InterfaceID& interfaceID(); + + virtual std::pair<double,unsigned> getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const=0; + +}; + +inline const InterfaceID& ILArHVFraction::interfaceID() +{ + return IID_ILArHVFraction; +} + + +#endif diff --git a/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py b/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py index de7904b8661..7846eb2ae07 100644 --- a/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py +++ b/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py @@ -32,6 +32,8 @@ from AthenaCommon.AlgSequence import AlgSequence from AthenaCommon.GlobalFlags import globalflags from RecExConfig.RecFlags import rec +from LArCellRec.LArCellRecConf import LArHVFraction + from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault theCaloNoiseTool = CaloNoiseToolDefault() from AthenaCommon.AppMgr import ToolSvc @@ -253,8 +255,7 @@ class CaloClusterTopoGetter ( Configured ) : if doDigiTruthFlag: TopoMoments_Truth = CaloClusterMomentsMaker_DigiHSTruth ("TopoMoments_Truth") - from LArRecUtils.LArHVScaleRetrieverDefault import LArHVScaleRetrieverDefault - TopoMoments_Truth.LArHVScaleRetriever=LArHVScaleRetrieverDefault() + TopoMoments_Truth.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr") TopoMoments_Truth.WeightingOfNegClusters = jobproperties.CaloTopoClusterFlags.doTreatEnergyCutAsAbsolute() TopoMoments_Truth.MaxAxisAngle = 20*deg TopoMoments_Truth.CaloNoiseTool = theCaloNoiseTool @@ -296,8 +297,10 @@ class CaloClusterTopoGetter ( Configured ) : # only add HV related moments if it is offline. from IOVDbSvc.CondDB import conddb if not conddb.isOnline: - from LArRecUtils.LArHVScaleRetrieverDefault import LArHVScaleRetrieverDefault - TopoMoments.LArHVScaleRetriever=LArHVScaleRetrieverDefault() + if globalflags.DataSource=="data": + TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorrRecomputed") + else: + TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr") TopoMoments.MomentsNames += ["ENG_BAD_HV_CELLS" ,"N_BAD_HV_CELLS" ] diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx index 2d4eedba9b6..ff4c32a6ead 100644 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx @@ -23,8 +23,8 @@ #include "CaloGeoHelpers/proxim.h" #include "CaloEvent/CaloPrefetch.h" #include "CaloDetDescr/CaloDetDescrManager.h" -#include "LArTools/LArHVFraction.h" #include "CaloInterface/ICalorimeterNoiseTool.h" +#include "CaloInterface/ILArHVFraction.h" #include "CaloGeoHelpers/CaloPhiRange.h" #include "CaloIdentifier/CaloCell_ID.h" #include "AthAllocators/ArenaPoolSTLAllocator.h" @@ -133,7 +133,7 @@ CaloClusterMomentsMaker::CaloClusterMomentsMaker(const std::string& type, m_twoGaussianNoise(false), m_caloDepthTool("CaloDepthTool",this), m_noiseTool("CaloNoiseTool"), - m_larHVScaleRetriever("LArHVScaleRetriever", this), + m_larHVFraction("LArHVFraction",this), m_absOpt(false) { declareInterface<CaloClusterCollectionProcessor> (this); @@ -163,7 +163,7 @@ CaloClusterMomentsMaker::CaloClusterMomentsMaker(const std::string& type, // use 2-gaussian noise for Tile declareProperty("TwoGaussianNoise",m_twoGaussianNoise); declareProperty("CaloNoiseTool",m_noiseTool,"Tool Handle for noise tool"); - declareProperty("LArHVScaleRetriever",m_larHVScaleRetriever,"Tool Handle for LAr HV Scale Retriever Tool"); + declareProperty("LArHVFraction",m_larHVFraction,"Tool Handle for LArHVFraction"); /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. @@ -262,16 +262,10 @@ StatusCode CaloClusterMomentsMaker::initialize() } if (m_calculateLArHVFraction) { - if(m_larHVScaleRetriever.retrieve().isFailure()){ - msg(MSG::WARNING) - << "Unable to find LAr HV Scale Retriever Tool" << endmsg; - } - else { - msg(MSG::INFO) << "LAr HV Scale Retriever Tool retrieved" << endmsg; - } + ATH_CHECK(m_larHVFraction.retrieve()); } else { - m_larHVScaleRetriever.disable(); + m_larHVFraction.disable(); } return StatusCode::SUCCESS; @@ -302,7 +296,7 @@ struct cellinfo { } // namespace CaloClusterMomentsMaker_detail StatusCode -CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, +CaloClusterMomentsMaker::execute(const EventContext& ctx, xAOD::CaloClusterContainer *theClusColl) const { @@ -359,11 +353,6 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, } } - const ILArHVCorrTool* hvCorrTool = nullptr; - if (m_calculateLArHVFraction) - hvCorrTool = &*m_larHVScaleRetriever; - LArHVFraction larHVFraction (hvCorrTool); - // Move allocation of temporary arrays outside the cluster loop. // That way, we don't need to delete and reallocate them // each time through the loop. @@ -454,12 +443,7 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, if ( ene > 0 ) { ePos += ene*weight; } - if ( m_calculateLArHVFraction ) { - if ( larHVFraction.isHVAffected(pCell) ) { - eBadLArHV += ene*weight; - nBadLArHV ++; - } - } + if ( m_calculateSignificance ) { double sigma = 0; if ( m_usePileUpNoise ) { @@ -555,6 +539,11 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, } } //end of loop over all cells + const auto hvFrac=m_larHVFraction->getLArHVFrac(theCluster->getCellLinks(),ctx); + eBadLArHV= hvFrac.first; + nBadLArHV=hvFrac.second; + + if ( w > 0 ) { mass = w*w - mx*mx - my*my - mz*mz; if ( mass > 0) { diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h index bb5924d773b..650bffeeb30 100644 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h @@ -35,13 +35,12 @@ class ICalorimeterNoiseTool; class CaloDetDescrManager; class CaloDetDescrElement; class CaloCell_ID; -class LArHVFraction; #include "StoreGate/DataHandle.h" #include "AthenaKernel/IOVSvcDefs.h" #include "CaloRec/CaloClusterCollectionProcessor.h" #include "CaloDetDescr/CaloDepthTool.h" -#include "LArElecCalib/ILArHVCorrTool.h" +#include "CaloInterface/ILArHVFraction.h" #include <string> #include <vector> @@ -133,7 +132,9 @@ class CaloClusterMomentsMaker: public AthAlgTool, virtual public CaloClusterColl ToolHandle<CaloDepthTool> m_caloDepthTool; // FIXME: mutable mutable ToolHandle<ICalorimeterNoiseTool> m_noiseTool; - ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + //ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + + ToolHandle<ILArHVFraction> m_larHVFraction; /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx index c390034bdb6..f3b032fb7fb 100755 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx @@ -19,7 +19,6 @@ #include "CaloGeoHelpers/proxim.h" #include "CaloEvent/CaloPrefetch.h" #include "CaloDetDescr/CaloDetDescrManager.h" -#include "LArTools/LArHVFraction.h" #include "CaloInterface/ICalorimeterNoiseTool.h" #include "CaloGeoHelpers/CaloPhiRange.h" #include "CaloIdentifier/CaloCell_ID.h" @@ -129,7 +128,7 @@ CaloClusterMomentsMaker_DigiHSTruth::CaloClusterMomentsMaker_DigiHSTruth(const s m_twoGaussianNoise(false), m_caloDepthTool("CaloDepthTool",this), m_noiseTool("CaloNoiseTool"), - m_larHVScaleRetriever("LArHVScaleRetriever"), + m_larHVFraction("LArHVFraction",this), m_absOpt(false) { // Name(s) of Moments to calculate @@ -158,8 +157,8 @@ CaloClusterMomentsMaker_DigiHSTruth::CaloClusterMomentsMaker_DigiHSTruth(const s // use 2-gaussian noise for Tile declareProperty("TwoGaussianNoise",m_twoGaussianNoise); declareProperty("CaloNoiseTool",m_noiseTool,"Tool Handle for noise tool"); - declareProperty("LArHVScaleRetriever",m_larHVScaleRetriever,"Tool Handle for LAr HV Scale Retriever Tool"); - declareProperty("WeightingOfNegClusters", m_absOpt); + declareProperty("LArHVFraction",m_larHVFraction,"Tool Handle for LArHVFraction"); + declareProperty("WeightingOfNegClusters", m_absOpt); /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. @@ -263,14 +262,10 @@ StatusCode CaloClusterMomentsMaker_DigiHSTruth::initialize() } if (m_calculateLArHVFraction) { - - if(m_larHVScaleRetriever.retrieve().isFailure()){ - msg(MSG::WARNING) - << "Unable to find LAr HV Scale Retriever Tool" << endmsg; - } - else { - msg(MSG::INFO) << "LAr HV Scale Retriever Tool retrieved" << endmsg; - } + ATH_CHECK(m_larHVFraction.retrieve()); + } + else { + m_larHVFraction.disable(); } return StatusCode::SUCCESS; @@ -297,7 +292,7 @@ struct cellinfo { } // namespace CaloClusterMomentsMaker_detail StatusCode -CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, +CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& ctx, xAOD::CaloClusterContainer *theClusColl) const { @@ -369,13 +364,6 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, } } - // setup LAr HV Fraction class in case the corresponding moments are - // requested - const ILArHVCorrTool* hvCorrTool = nullptr; - if (m_calculateLArHVFraction) - hvCorrTool = &*m_larHVScaleRetriever; - LArHVFraction larHVFraction (hvCorrTool); - // Move allocation of temporary arrays outside the cluster loop. // That way, we don't need to delete and reallocate them // each time through the loop. @@ -484,12 +472,6 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, if ( ene > 0 ) { ePos += ene*weight; } - if ( m_calculateLArHVFraction ) { - if ( larHVFraction.isHVAffected(pCell) ) { - eBadLArHV += ene*weight; - nBadLArHV ++; - } - } if ( m_calculateSignificance ) { double sigma = 0; if ( m_usePileUpNoise ) { @@ -778,7 +760,11 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, } } } //end of loop over cell - + + const auto hvFrac=m_larHVFraction->getLArHVFrac(theCluster->getCellLinks(),ctx); + eBadLArHV= hvFrac.first; + nBadLArHV=hvFrac.second; + // assign moments which don't need the loop over the cells for (size_t iMoment = 0, size = m_validMoments.size(); diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h index 6dbabfefc92..d10ec87db5b 100755 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h @@ -37,7 +37,7 @@ class LArHVFraction; #include "AthenaKernel/IOVSvcDefs.h" #include "CaloRec/CaloClusterCollectionProcessor.h" #include "CaloDetDescr/CaloDepthTool.h" -#include "LArElecCalib/ILArHVCorrTool.h" +#include "CaloInterface/ILArHVFraction.h" //#include "fastjet/PseudoJet.hh" #include <string> #include <vector> @@ -130,7 +130,7 @@ class CaloClusterMomentsMaker_DigiHSTruth final: public extends<AthAlgTool, Calo ToolHandle<CaloDepthTool> m_caloDepthTool; ToolHandle<ICalorimeterNoiseTool> m_noiseTool; - ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + ToolHandle<ILArHVFraction> m_larHVFraction; /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. diff --git a/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx b/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx new file mode 100644 index 00000000000..e1ada26ba15 --- /dev/null +++ b/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx @@ -0,0 +1,47 @@ +#include "LArHVFraction.h" +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + + +LArHVFraction::LArHVFraction(const std::string& type, + const std::string& name, + const IInterface* parent) : + AthAlgTool(type,name,parent) { + declareInterface<ILArHVFraction>(this); +} + + +StatusCode LArHVFraction::initialize() { + ATH_CHECK(m_cablingKey.initialize()); + ATH_CHECK(m_hvScaleKey.initialize()); + return StatusCode::SUCCESS; +} + +std::pair<double,unsigned> LArHVFraction::getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const { + + SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl(m_cablingKey,ctx); + const LArOnOffIdMapping* cabling=*cablingHdl; + + SG::ReadCondHandle<ILArHVScaleCorr> hvScaleHdl(m_hvScaleKey,ctx); + const ILArHVScaleCorr* hvcorr=*hvScaleHdl; + + + double energyHVaff=0; + unsigned numCellsHVaff=0; + +for(const CaloCell* cell : *cclc) { + if(cell->caloDDE()->is_tile()) continue; + HWIdentifier hwid=cabling->createSignalChannelID(cell->ID()); + float corr=hvcorr->HVScaleCorr(hwid); + //Correction should be between (0 and 2) + if (!(corr>0. && corr<100.)) continue; + + if (fabs(corr-1.)>m_threshold) { + energyHVaff+=fabs(cell->e()); + numCellsHVaff++; + }//end of non nominal HV area + }//end loop over cells + + return {energyHVaff,numCellsHVaff}; +} diff --git a/LArCalorimeter/LArCellRec/src/LArHVFraction.h b/LArCalorimeter/LArCellRec/src/LArHVFraction.h new file mode 100644 index 00000000000..22837d5dca8 --- /dev/null +++ b/LArCalorimeter/LArCellRec/src/LArHVFraction.h @@ -0,0 +1,39 @@ +//Dear emacs, this is -*-c++-*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + + +#include "AthenaBaseComps/AthAlgTool.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "LArCabling/LArOnOffIdMapping.h" +#include "LArElecCalib/ILArHVScaleCorr.h" +#include "CaloEvent/CaloClusterCellLink.h" +#include "GaudiKernel/Property.h" +#include "CaloInterface/ILArHVFraction.h" + + + +class LArHVFraction: + virtual public ILArHVFraction, + public AthAlgTool { + + public: + LArHVFraction(const std::string& type, + const std::string& name, + const IInterface* parent); + + + StatusCode initialize() override; + + + std::pair<double,unsigned> getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const override; + +private: + SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "LArCablingKey","LArOnOffIdMap","SG Key of LAr Cabling object"}; + + SG::ReadCondHandleKey<ILArHVScaleCorr> m_hvScaleKey{this,"HVScaleCorrKey","LArHVScaleCorr","SG key of HVScaleCorr conditions object"}; + + Gaudi::Property<float> m_threshold{this,"Threshold",0.2,"Threshold to consider a cell 'affected' by HV issues"}; + +}; diff --git a/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx b/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx index 21c8d59a065..f324dc8eb29 100644 --- a/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx +++ b/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx @@ -18,7 +18,7 @@ #include "../LArCollisionTimeAlg.h" #include "../LArTimeVetoAlg.h" #include "../LArCellHVCorrAlg.h" - +#include "../LArHVFraction.h" DECLARE_COMPONENT( LArNoisyROAlg ) DECLARE_COMPONENT( LArG3Escale ) @@ -40,4 +40,4 @@ DECLARE_COMPONENT( LArNoisyROTool ) DECLARE_COMPONENT( LArCollisionTimeAlg ) DECLARE_COMPONENT( LArTimeVetoAlg ) DECLARE_COMPONENT( LArCellHVCorrAlg ) - +DECLARE_COMPONENT( LArHVFraction ) diff --git a/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx index fc1d6af193c..b5c948d206b 100644 --- a/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx +++ b/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx @@ -331,7 +331,7 @@ LArHVCorrectionMonTool::fillHistograms() float hvdev = 0; float hvcorr = m_hvCorrTool->Scale(offlineID); //ATH_MSG_VERBOSE( "hvcorr" << hvcorr ); - float hvonline = m_dd_HVScaleCorr->HVScaleCorr(offlineID); + float hvonline = m_dd_HVScaleCorr->HVScaleCorr(id); if (hvonline<=0) continue; //No valid online correction //ATH_MSG_VERBOSE( "hvonline" << hvonline ); if (hvcorr>hvonline) hvdev = hvonline-hvcorr; //Monitor only channels that get a higher correction from DCS (eg are at a lower voltage). diff --git a/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h b/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h index 286e8cb9af2..d825d418891 100644 --- a/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h +++ b/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Dear emacs, this is -*-c++-*- @@ -24,8 +24,9 @@ class LArHVScaleCorrComplete: public ILArHVScaleCorr , // online ID inline const float& HVScaleCorr(const HWIdentifier& id ) const {return (this->get(id).m_data);}; - - // offline ID + + + // offline ID, not implemented here! const float& HVScaleCorr(const Identifier& id ) const; // set method filling the data members individually (if one diff --git a/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx b/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx index a6b397cdaf3..3fb8ddf0a61 100644 --- a/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx +++ b/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx @@ -1,16 +1,16 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "LArRawConditions/LArHVScaleCorrComplete.h" -const float& LArHVScaleCorrComplete::HVScaleCorr(const Identifier& id ) const { - const HWIdentifier chid = larCablingSvc()->createSignalChannelID(id); - return (this->get(chid).m_data); -} - - void LArHVScaleCorrComplete::set(const HWIdentifier& CellID, const float corr) { this->setPdata(CellID,corr); } +const float& LArHVScaleCorrComplete::HVScaleCorr(const Identifier& id ) const { + std::cout << "LArHVScaleCorrComplete access by offlien id not implemented!" << std::endl; + std::abort(); + const static float errcode=LArElecCalib::ERRORCODE; + return errcode; +} diff --git a/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py b/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py deleted file mode 100644 index 34564a9a19d..00000000000 --- a/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.Logging import logging - - -# import the base class -from LArRecUtils.LArRecUtilsConf import LArHVScaleRetriever - -def LArHVScaleRetrieverDefault(name="LArHVScaleRetrieverDefault", **kw): - from AthenaCommon.AppMgr import ToolSvc - - mlog = logging.getLogger( 'LArHVScaleRetrieverDefault' ) - #Check if the tool exits already in ToolSvc - if hasattr(ToolSvc,name): - mlog.info("LArHVScaleRetriever with name "+ name+" already known to ToolSvc") - return getattr(ToolSvc,name) - - - tool=LArHVScaleRetriever(name) - from AthenaCommon.GlobalFlags import globalflags - from AthenaCommon import CfgMgr - if (globalflags.DataSource()!='data'): - tool.IsMC=True - mlog.info("%s configured for MC" % name) - else: - #Data case, need also LArHVCorrTool - tool.IsMC=False - mlog.info("%s configured for real data" % name) - if 'LArHVCorrTool' in kw: - tool.LArHVCorrTool= kw['LArHVCorrTool'] - else: - from LArRecUtils.LArHVCorrToolDefault import LArHVCorrToolDefault - theLArHVCorrTool=LArHVCorrToolDefault() - tool.LArHVCorrTool=theLArHVCorrTool - pass - - ToolSvc += tool - return tool - diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx deleted file mode 100644 index 6dc05763987..00000000000 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// LArHVScaleRetriever.cxx -// Implementation file for class LArHVScaleRetriever -// Author: P-A Delsart delsart at in2p3.fr -/////////////////////////////////////////////////////////////////// - -// LArTools includes -#include "LArHVScaleRetriever.h" - -// STL includes - -// FrameWork includes -#include "GaudiKernel/IToolSvc.h" - - - -/////////////////////////////////////////////////////////////////// -// Public methods: -/////////////////////////////////////////////////////////////////// - -// Constructors -//////////////// -LArHVScaleRetriever::LArHVScaleRetriever( const std::string& type, - const std::string& name, - const IInterface* parent ) : - ::AthAlgTool ( type, name, parent ) - , m_ilarhvcorrtool("LArHVCorrToolDefault") - , m_keyHVScaleCorr("LArHVScaleCorr") - , m_isMC(false) -{ - declareInterface< ILArHVCorrTool >(this); - - declareProperty( "IsMC", m_isMC ); - declareProperty( "LArHVCorrTool", m_ilarhvcorrtool ); - declareProperty("KeyHVScaleCorr",m_keyHVScaleCorr); -} - -// Destructor -/////////////// -LArHVScaleRetriever::~LArHVScaleRetriever() -{} - -// Athena algtool's Hooks -//////////////////////////// -StatusCode LArHVScaleRetriever::initialize() -{ - ATH_MSG_INFO ("Initializing " << name() << "..."); - - if( m_isMC ) { - ATH_CHECK( m_keyHVScaleCorr.initialize() ); - m_ilarhvcorrtool.disable(); - }else { - CHECK( m_ilarhvcorrtool.retrieve() ) ; - } - - return StatusCode::SUCCESS; -} - - -float LArHVScaleRetriever::Scale(const HWIdentifier& id) const { - if(m_isMC) { - SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); - return (*corr)->HVScaleCorr(id) ; - } - return m_ilarhvcorrtool->Scale(id); -} - -float LArHVScaleRetriever::Scale(const Identifier& id) const { - if(m_isMC) { - SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); - return (*corr)->HVScaleCorr(id) ; - } - return m_ilarhvcorrtool->Scale(id); -} - - -StatusCode LArHVScaleRetriever::LoadCalibration(IOVSVC_CALLBACK_ARGS_P(i,k)) { - if(!m_isMC) return m_ilarhvcorrtool->LoadCalibration(i,k) ; - return StatusCode::FAILURE; -} - -StatusCode LArHVScaleRetriever::record() { - if(!m_isMC) return m_ilarhvcorrtool->record(); - return StatusCode::FAILURE; -} - -bool LArHVScaleRetriever::updateOnLastCallback() const { - if(!m_isMC) return m_ilarhvcorrtool->updateOnLastCallback(); - return false; -} diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h deleted file mode 100644 index f43e43996e5..00000000000 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h +++ /dev/null @@ -1,102 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// LArHVScaleRetriever.h -// Header file for class LArHVScaleRetriever -// Author: P-A Delsart delsart at in2p3.fr -/////////////////////////////////////////////////////////////////// -#ifndef LARTOOLS_LARHVSCALERETRIEVER_H -#define LARTOOLS_LARHVSCALERETRIEVER_H 1 - -// STL includes -#include <string> - -// FrameWork includes -#include "AthenaBaseComps/AthAlgTool.h" -#include "StoreGate/ReadCondHandleKey.h" -#include "GaudiKernel/ServiceHandle.h" - -// LArElecCalib includes -#include "LArElecCalib/ILArHVCorrTool.h" -#include "LArElecCalib/ILArHVScaleCorr.h" - -#include "GaudiKernel/ToolHandle.h" - -// Forward declaration - - -/////////////////////////////////////////////////////////////////// -/// \class LArHVScaleRetriever -/// \brief Single tool to retrieve LAr HV correction factor from MC or data input. -/// -/// Retrieving LAr HV correction factors is done differently for MC and data input files. -/// This tool is a simple wrapper around the 2 corresponding methods. -/// -/// It implements the ILArHVCorrTool interface and provide a IsMC property which should -/// be enough to configure it to read data or MC input. -/// -/// Further configuration can be done through 2 properties : -/// - "LArHVCorrTool" : a ILArHVCorrTool instance (retrived by default from "LArHVCorrTool") -/// - KeyHVScaleCorr : a string used to retrieve the DataHandle<ILArHVScaleCorr> (default : "LArHVScaleCorr" -/// -/////////////////////////////////////////////////////////////////// - -class LArHVScaleRetriever - : virtual public ::ILArHVCorrTool, - public ::AthAlgTool -{ - - /////////////////////////////////////////////////////////////////// - // Public methods: - /////////////////////////////////////////////////////////////////// - public: - - // Copy constructor: - - /// Constructor with parameters: - LArHVScaleRetriever( const std::string& type, - const std::string& name, - const IInterface* parent ); - - /// Destructor: - virtual ~LArHVScaleRetriever(); - - // Athena algtool's Hooks - virtual StatusCode initialize(); - - - // implement ILArHVCorrTool interface - virtual float Scale(const HWIdentifier& id) const ; - - virtual float Scale(const Identifier& id) const ; - - - virtual StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS) ; - - virtual StatusCode record() ; - - bool updateOnLastCallback() const; - - private: - - /// Default constructor: - LArHVScaleRetriever(); - - - ToolHandle<ILArHVCorrTool> m_ilarhvcorrtool; - SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr; - bool m_isMC; -}; - -// I/O operators -////////////////////// - -/////////////////////////////////////////////////////////////////// -// Inline methods: -/////////////////////////////////////////////////////////////////// - - -#endif //> !LARTOOLS_LARHVSCALERETRIEVER_H diff --git a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx index cbc62a02384..b90e8dca174 100644 --- a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx +++ b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx @@ -14,7 +14,6 @@ #include "../LArFEBConfigReader.h" #include "../LArFlatConditionSvc.h" #include "../LArFCalTowerBuilderToolTestAlg.h" -#include "../LArHVScaleRetriever.h" #include "../LArFlatConditionsAlg.h" #include "../LArOnOffMappingAlg.h" #include "../LArCalibLineMappingAlg.h" @@ -48,7 +47,6 @@ DECLARE_COMPONENT( LArFCalTowerBuilderTool ) DECLARE_COMPONENT( LArFEBConfigReader ) DECLARE_COMPONENT( LArFlatConditionSvc ) DECLARE_COMPONENT( LArFCalTowerBuilderToolTestAlg ) -DECLARE_COMPONENT( LArHVScaleRetriever ) DECLARE_COMPONENT( LArCondAlgAutoCorrSC ) DECLARE_COMPONENT( LArCondAlgDAC2uAFlat ) DECLARE_COMPONENT( LArCondAlgDAC2uASC ) diff --git a/LArCalorimeter/LArTools/CMakeLists.txt b/LArCalorimeter/LArTools/CMakeLists.txt index 181d46f5760..05b0998b4d8 100644 --- a/LArCalorimeter/LArTools/CMakeLists.txt +++ b/LArCalorimeter/LArTools/CMakeLists.txt @@ -13,6 +13,7 @@ atlas_depends_on_subdirs( PUBLIC GaudiKernel LArCalorimeter/LArCabling LArCalorimeter/LArElecCalib + Calorimeter/CaloCell PRIVATE Calorimeter/CaloIdentifier Database/AthenaPOOL/AthenaPoolUtilities diff --git a/LArCalorimeter/LArTools/LArTools/LArHVFraction.h b/LArCalorimeter/LArTools/LArTools/LArHVFraction.h deleted file mode 100644 index 0bc236038cf..00000000000 --- a/LArCalorimeter/LArTools/LArTools/LArHVFraction.h +++ /dev/null @@ -1,74 +0,0 @@ -// this file is -*- C++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef LARHVTOOLS_LARHVFRACTION_H -#define LARHVTOOLS_LARHVFRACTION_H - -#include "LArElecCalib/ILArHVCorrTool.h" - -///////////////////////////////////////////////////////////////////////// -/// \class LArHVFraction -/// \brief Retrieves the energy of cells affected by HV issues -/// -/// -/// This class provides utilities to select cells affected by HV issues and -/// to compute their number and amount of energy from a given list of cells. -/// -/// The class makes use of ILArHVCorrTool and implements this selection : -/// isAffected = |hvcorr - 1| > threshold -/// where hvcorr=ILArHVCorrTool::Scale( cell ) and threshold is the parameter given to the ctor. -/// -class LArHVFraction { - public: - LArHVFraction(const ILArHVCorrTool *tool, double threshold=0.002) : m_tool(tool), m_threshold(threshold) {} - - struct Result { - double energySum; - size_t numCells; - }; - - - - bool isHVAffected(const CaloCell* cell) const { - if(cell->caloDDE()->is_tile()) return false; - - Identifier cellID=cell->ID(); - //retrieve offline correction from DB: - float hvcorr = m_tool->Scale(cellID); - - //Correction should be between (0 and 2) - if (!(hvcorr>0. && hvcorr<100.)) return false; - - return (fabs(hvcorr-1.)>m_threshold) ; - } - - - /// Returns the energy & num of cells affected by HV issues. - /// Inputs parameter are *any* type of iterator over cells. - template<class CELLITERATOR> - Result findHVaffectedCells(CELLITERATOR it, CELLITERATOR itEnd) { - - double energyHVaff=0; - size_t numCellsHVaff=0; - - for( ;it!=itEnd; it++) { - const CaloCell* thisCell = *it; - - if( isHVAffected(thisCell) ){ - energyHVaff+=fabs(thisCell->e()); - numCellsHVaff++; - }//end of non nominal HV area - - } - return Result {energyHVaff, numCellsHVaff}; - } - - protected: - const ILArHVCorrTool *m_tool; - double m_threshold; -}; - -#endif -- GitLab From 6eaee9c56e753d378892fcf06a2a0bd07a7096d8 Mon Sep 17 00:00:00 2001 From: Mark Hodgkinson <m.hodgkinson@sheffield.ac.uk> Date: Thu, 8 Nov 2018 12:58:03 +0000 Subject: [PATCH 169/209] Remove association of tracks to vertex from PFOChargedCreatorAlgorithm, because the vertex subsequently attached to the PFO is never used. JetETMiss has agreed there is no likelihood that it will be used. --- .../eflowRec/PFOChargedCreatorAlgorithm.h | 13 +------- .../eflowRec/share/PFlowMTConfig.py | 4 --- .../src/PFOChargedCreatorAlgorithm.cxx | 31 +------------------ 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h b/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h index 36f1341519b..04b8c515966 100644 --- a/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h +++ b/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h @@ -7,10 +7,7 @@ #include "GaudiKernel/ToolHandle.h" #include "StoreGate/DataHandle.h" -#include "TrackVertexAssociationTool/ITrackVertexAssociationTool.h" - #include "xAODPFlow/PFOContainer.h" -#include "xAODTracking/VertexContainer.h" class PFOChargedCreatorAlgorithm : public AthAlgorithm { @@ -21,7 +18,6 @@ public: ~PFOChargedCreatorAlgorithm() {} StatusCode initialize(); - void execute(const eflowCaloObject& energyFlowCaloObject, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle); StatusCode execute(); StatusCode finalize(); @@ -34,18 +30,11 @@ private: /** Toggle EOverP algorithm mode, whereby no charged shower subtraction is performed */ Gaudi::Property<bool> m_eOverPMode{this,"EOverPMode",false,"Toggle EOverP algorithm mode, whereby no charged shower subtraction is performed"}; - /** ToolHandle to tracking CP loose vertex selection tool */ - ToolHandle<CP::ITrackVertexAssociationTool> m_trackVertexAssociationTool{this,"TrackVertexAssociationTool","","ToolHandle to tracking CP loose vertex selection tool"}; - - /** ReadHandleKey for vertex container */ - SG::ReadHandleKey<xAOD::VertexContainer> m_vertexContainerReadHandleKey{this,"VertexContainerName","PrimaryVertices","ReadHandleKey for vertex container"}; - /** ReadHandleKey for eflowCaloObjectContainer */ SG::ReadHandleKey<eflowCaloObjectContainer> m_eflowCaloObjectContainerReadHandleKey{this,"eflowCaloObjectContainerName","eflowCaloObjects","ReadHandleKey for eflowCaloObjectContainer"}; /** WriteHandleKey for charged PFO */ SG::WriteHandleKey<xAOD::PFOContainer> m_chargedPFOContainerWriteHandleKey{this,"PFOOutputName","JetETMissChargedParticleFlowObjects","WriteHandleKey for charged PFO"}; - - + }; #endif diff --git a/Reconstruction/eflowRec/share/PFlowMTConfig.py b/Reconstruction/eflowRec/share/PFlowMTConfig.py index 56ac6950246..d66a7a19d59 100644 --- a/Reconstruction/eflowRec/share/PFlowMTConfig.py +++ b/Reconstruction/eflowRec/share/PFlowMTConfig.py @@ -187,10 +187,6 @@ topSequence += PFAlgorithm from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm") -from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TightTrackVertexAssociationTool -PFlowTrackVertexAssociationTool = CP__TightTrackVertexAssociationTool(name="PFlowTightCPTool", dzSinTheta_cut=2.0, doPV=True) -PFOChargedCreatorAlgorithm.TrackVertexAssociationTool = PFlowTrackVertexAssociationTool - topSequence += PFOChargedCreatorAlgorithm from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm diff --git a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx index dde38be0878..bbca23ca894 100644 --- a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx +++ b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx @@ -17,9 +17,6 @@ PFOChargedCreatorAlgorithm::PFOChargedCreatorAlgorithm(const std::string& name, StatusCode PFOChargedCreatorAlgorithm::initialize(){ - ATH_CHECK(m_trackVertexAssociationTool.retrieve()); - - ATH_CHECK(m_vertexContainerReadHandleKey.initialize()); ATH_CHECK(m_eflowCaloObjectContainerReadHandleKey.initialize()); ATH_CHECK(m_chargedPFOContainerWriteHandleKey.initialize()); @@ -27,18 +24,6 @@ StatusCode PFOChargedCreatorAlgorithm::initialize(){ return StatusCode::SUCCESS; } -void PFOChargedCreatorAlgorithm::execute(const eflowCaloObject& energyFlowCaloObject, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle){ - - ATH_MSG_DEBUG("Processing eflowCaloObject"); - - createChargedPFO(energyFlowCaloObject, true, chargedPFOContainerWriteHandle); - - SG::ReadHandle<xAOD::VertexContainer> vertexContainerReadHandle(m_vertexContainerReadHandleKey); - const xAOD::VertexContainer* theVertexContainer = vertexContainerReadHandle.ptr(); - addVertexLinksToChargedPFO(theVertexContainer, chargedPFOContainerWriteHandle); - -} - StatusCode PFOChargedCreatorAlgorithm::execute(){ ATH_MSG_DEBUG("Processing eflowCaloObjectContainer"); @@ -48,7 +33,7 @@ StatusCode PFOChargedCreatorAlgorithm::execute(){ /* Create Charged PFOs from all eflowCaloObjects */ SG::ReadHandle<eflowCaloObjectContainer> eflowCaloObjectContainerReadHandle(m_eflowCaloObjectContainerReadHandleKey); - for (auto thisEflowCaloObject : *eflowCaloObjectContainerReadHandle) execute(*thisEflowCaloObject,chargedPFOContainerWriteHandle); + for (auto thisEflowCaloObject : *eflowCaloObjectContainerReadHandle) createChargedPFO(*thisEflowCaloObject,true,chargedPFOContainerWriteHandle); return StatusCode::SUCCESS; } @@ -151,17 +136,3 @@ void PFOChargedCreatorAlgorithm::createChargedPFO(const eflowCaloObject& energyF }//loop over the tracks on the eflowCaloObject } - -void PFOChargedCreatorAlgorithm::addVertexLinksToChargedPFO(const xAOD::VertexContainer* theVertexContainer, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle){ - - //This is a loop on all xAOD::PFO with non-zero charge - for (auto theChargedPFO : *(chargedPFOContainerWriteHandle.ptr())){ - const xAOD::TrackParticle* theTrack = theChargedPFO->track(0); - if (theTrack){ - ElementLink< xAOD::VertexContainer> theVertexLink = m_trackVertexAssociationTool->getUniqueMatchVertexLink(*theTrack,*theVertexContainer); - bool haveSetLink = theChargedPFO->setVertexLink(theVertexLink); - if (!haveSetLink) ATH_MSG_WARNING(" Could not set vertex link on charged PFO"); - }//if valid pointer to xAOD::TrackParticle - } - -} -- GitLab From cb095b87140af33ce074d6c2ae6a18661987313d Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:01:00 +0200 Subject: [PATCH 170/209] Remove doBkg overlay flag and DeepCopyObjects algorithm as they are not used --- .../share/CaloOverlay_jobOptions.py | 12 - .../share/InnerDetectorOverlay_jobOptions.py | 6 - .../share/Level1Overlay_jobOptions.py | 5 - .../share/MuonOverlay_jobOptions.py | 5 - .../share/TruthOverlay_jobOptions.py | 7 - .../share/skeleton.OverlayBS_tf.py | 1 - .../share/skeleton.commis.py | 1 - .../OverlayCommonAlgs/python/OverlayFlags.py | 6 - .../OverlayCommonAlgs/src/DeepCopyObjects.cxx | 575 ------------------ .../OverlayCommonAlgs/src/DeepCopyObjects.h | 126 ---- .../components/OverlayCommonAlgs_entries.cxx | 3 - 11 files changed, 747 deletions(-) delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py index 3edb96feb9b..7b66c9dcb06 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py @@ -1,21 +1,9 @@ include.block ( "EventOverlayJobTransforms/CaloOverlay_jobOptions.py" ) -from AthenaCommon.Resilience import treatException,protectedInclude - from Digitization.DigitizationFlags import jobproperties from AthenaCommon.DetFlags import DetFlags from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doBkg==True: - if DetFlags.overlay.LAr_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo2") - job.BkgRdo2.LArObjects = True - if DetFlags.overlay.Tile_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo3") - job.BkgRdo3.TileObjects = True - if DetFlags.overlay.LAr_on() or DetFlags.overlay.Tile_on(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py index 1b0a1842aa3..e6632595257 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py @@ -5,15 +5,9 @@ from AthenaCommon.DetFlags import DetFlags from AthenaCommon import CfgGetter from OverlayCommonAlgs.OverlayFlags import overlayFlags -from AthenaCommon.Resilience import treatException,protectedInclude if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo1") - job.BkgRdo1.InDetObjects = True - digitizationFlags.doInDetNoise=False # FIXME THIS SHOULD BE SET EARLIER IN THE CONFIGURATION #if overlayFlags.isDataOverlay(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py index 4c7d2ee3596..cc337dde6ed 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py @@ -7,11 +7,6 @@ from Digitization.DigitizationFlags import digitizationFlags from OverlayCommonAlgs.OverlayFlags import overlayFlags if DetFlags.overlay.LVL1_on(): - - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo5") - job.BkgRdo5.Level1Objects = True if overlayFlags.isDataOverlay(): include ("TrigT1CaloByteStream/ReadLVL1CaloBS_jobOptions.py") diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py index 30c6e302a2f..2b9f4638648 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py @@ -26,11 +26,6 @@ if DetFlags.overlay.MDT_on() or DetFlags.overlay.CSC_on() or DetFlags.overlay.RP muonByteStreamFlags.RpcDataType = "atlas"#FIXME should not be setting jobproperties at this point in the configuration. muonByteStreamFlags.MdtDataType = "atlas"#FIXME should not be setting jobproperties at this point in the configuration. - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo4") - job.BkgRdo4.MuonObjects = True - import MuonCnvExample.MuonCablingConfig digitizationFlags.doMuonNoise=False #FIXME should not be setting jobproperties at this point in the configuration. diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py index 39f97279cc6..059949007b2 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py @@ -5,13 +5,6 @@ include.block ( "EventOverlayJobTransforms/TruthOverlay_jobOptions.py" ) # digitization algorithms as a workaround for bug #35465 from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo") - job.BkgRdo.EvtInfoObjects = True - job += DeepCopyObjects("BkgRdo0") - job.BkgRdo0.TruthObjects = True - from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyMcEventCollection job += CopyMcEventCollection() if overlayFlags.isDataOverlay(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py index a638742078f..3b3bbd495a7 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py @@ -82,7 +82,6 @@ if hasattr(runArgs,"digiRndmSvc"): digitizationFlags.rndmSvc=runArgs.digiRndmSvc #if hasattr(runArgs, "AddCaloDigi"): digitizationFlags.experimentalDigi+=["AddCaloDigi"] readBS = overlayFlags.isDataOverlay() -overlayFlags.doBkg=False #ACH #GlobalFlags.InputFormat.set_bytestream() globalflags.InputFormat.set_Value_and_Lock('bytestream') diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py index 82807d5a700..eb425277046 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py @@ -75,7 +75,6 @@ jobproperties.Digitization.rndmSvc=runArgs.digiRndmSvc SignalInputCollections = runArgs.inputHitsFile readBS = True -overlayFlags.doBkg=False #ACH #GlobalFlags.InputFormat.set_bytestream() globalflags.InputFormat.set_Value_and_Lock('bytestream') diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py index b8c62e29e6d..a7d119dbe30 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py @@ -32,12 +32,6 @@ class doSignal(JobProperty): statusOn=True allowedTypes=['bool'] StoredValue = False - -class doBkg(JobProperty): - """Background""" - statusOn=True - allowedTypes=['bool'] - StoredValue = False class evtStore(JobProperty): """MC EvtStore name for overlay""" diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx deleted file mode 100644 index 82d5c6c567b..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx +++ /dev/null @@ -1,575 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -//// To deep copy various transient objects from one storegate to another -//// Piyali.Banerjee@cern.ch; September 2010 -///////////////////////////////////////////////////////////////// - -#include "DeepCopyObjects.h" - -DeepCopyObjects::DeepCopyObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTo("StoreGateSvc/BkgEvent_2_SG", name), - m_storeGateFrom(m_storeGateData) -{ - declareProperty("ToStore", m_storeGateTo, "help"); - declareProperty("FromStore", m_storeGateFrom, "help"); - declareProperty("EvtInfoObjects", m_evtinfo=false); - declareProperty("InDetObjects", m_indet=false); - declareProperty("MuonObjects", m_muon=false); - declareProperty("TruthObjects", m_truth=false); - declareProperty("LArObjects",m_lar=false); - declareProperty("TileObjects",m_tile=false); - declareProperty("Level1Objects",m_level1=false); -} - -template <class TypeToBeCopied> void -DeepCopyObjects::printEveryObjectOfType(StoreGateSvc* stg) -{ - MsgStream log(msgSvc(), name()); - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = stg->keys<TypeToBeCopied>(); - - if(keys.empty()) { - log << MSG::WARNING << "printEveryObjectOfType<" << templateClassName - << ">(): no keys found" << endmsg; - } - - std::cout << "printEveryObjectOfType<" << templateClassName - << ">(): Begin printing " << stg->name() << std::endl; - - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const TypeToBeCopied* object = 0; - if (stg->retrieve(object, *k).isSuccess() ) { - std::cout << "Key == " << *k << std::endl; - std::cout << *object << std::endl; - } - else { - log << MSG::WARNING << "printEveryObjectOfType<" - << templateClassName - << ">(): problem retrieving object with pointer=" - << object << ", key=" << *k << endmsg; - } - - } - - std::cout << "printEveryObjectOfType<" << templateClassName - << ">(): End printing " << stg->name() << std::endl; -} - -template<class TypeToBeCopied> void -DeepCopyObjects::copyMuonObjectRDO(StoreGateSvc* to, StoreGateSvc *from) -{ - - MsgStream log(msgSvc(), name()); - - const int classNum = ClassID_traits<TypeToBeCopied>::ID(); - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - - if(keys.empty()) { - log << MSG::WARNING << "copyMuonobjectRDO<" << templateClassName - << ">(): no keys found" << endmsg; - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - if (classNum == 4183) { // CscRawDataContainer - const CscRawDataContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - <<">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - CscRawDataContainer *newObject = new CscRawDataContainer (oldObject->size()); - - CscRawDataContainer::const_iterator iFirst = oldObject->begin(); - CscRawDataContainer::const_iterator iLast = oldObject->end(); - - // since CscRawDataCollection in OriginalEvent_SG has absurd identifierHash values - // we will use collectionNo variable as an index into the - // DataLinkVector inside CscRawDataContainer - int collectionNo = 0; - for (; iFirst != iLast; ++iFirst ) { - CscRawDataCollection *element = new CscRawDataCollection ((*iFirst)->identify()); - element->setIdentifyHash((*iFirst)->identifyHash()); - element->setRodId((*iFirst)->rodId()); - element->setSubDetectorId((*iFirst)->subDetectorId()); - - if ((*iFirst)->samplingPhase()){ - element->set_samplingPhase(); - } - - if ((*iFirst)->triggerType()){ - element->set_triggerType(); - } - - element->set_firstBitSummary((*iFirst)->firstBitSummary()); - element->set_eventType((*iFirst)->eventType()); - - uint16_t numRPU = ((*iFirst)->rpuID()).size(); - for (uint16_t numRPU_i = 0; numRPU_i != numRPU; numRPU++){ - element->addRPU(((*iFirst)->rpuID())[numRPU_i]); - } - - uint16_t numDataType = ((*iFirst)->dataType()).size(); - for (uint16_t numDataType_i = 0; numDataType_i != numDataType; numDataType_i++){ - element->addDataType(((*iFirst)->dataType())[numDataType_i]); - } - - // Default SpuCount size is 10 - uint16_t numSpuCount = 10; - for (uint16_t numSpuCount_i = 0; numSpuCount_i != numSpuCount; numSpuCount_i++){ - element->set_spuCount(numSpuCount_i, (*iFirst)->spuCount(numSpuCount_i)); - } - - element->set_scaAddress((*iFirst)->scaAddress()); - - CscRawDataCollection::const_iterator firstData = (*iFirst)->begin(); - CscRawDataCollection::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - CscRawData *newData = new CscRawData (**firstData); - element->push_back(newData); - } - if (newObject->addCollection(element, collectionNo).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with vector index = " - << collectionNo << endmsg; - } - collectionNo++; - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - else if (classNum == 4187){ // MdtCsmContainer - const MdtCsmContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - MdtCsmContainer *newObject = new MdtCsmContainer (oldObject->size()); - - MdtCsmContainer::const_iterator iFirst = oldObject->begin(); - MdtCsmContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - MdtCsm *element = new MdtCsm ((*iFirst)->identify(), (*iFirst)->identifyHash(), - (*iFirst)->SubDetId(), (*iFirst)->MrodId(), - (*iFirst)->CsmId()); - - MdtCsm::const_iterator firstData = (*iFirst)->begin(); - MdtCsm::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - MdtAmtHit *newData = - new MdtAmtHit ((*firstData)->tdcId(), (*firstData)->channelId(), - (*firstData)->isMasked()); - newData->setValues((*firstData)->coarse(), (*firstData)->fine(), - (*firstData)->width()); - newData->setLeading((*firstData)->leading()); - - for (unsigned int i = 0; i < ((*firstData)->dataWords())->size(); i++) { - newData->addData((*((*firstData)->dataWords()))[i]); - } - element->push_back(newData); - } - if (newObject->addCollection(element, (*iFirst)->identifyHash()).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with hash = " - << (*iFirst)->identifyHash() << endmsg; - } - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - <<*k << endmsg; - } - } - else if (classNum == 4190){ // RpcPadContainer - const RpcPadContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - <<">(): problem retrieving container with key = "<< *k - << endmsg; - continue; - } - - RpcPadContainer *newObject = new RpcPadContainer (oldObject->size()); - - RpcPadContainer::const_iterator iFirst = oldObject->begin(); - RpcPadContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - RpcPad *element = new RpcPad ( - (*iFirst)->identify(), (*iFirst)->identifyHash(), - (*iFirst)->onlineId(), (*iFirst)->lvl1Id(), (*iFirst)->bcId(), - (*iFirst)->status(), (*iFirst)->errorCode(), (*iFirst)->sector() - ); - - RpcPad::const_iterator firstData = (*iFirst)->begin(); - RpcPad::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - RpcCoinMatrix *newData = new RpcCoinMatrix ( - (*firstData)->identify(), (*firstData)->onlineId(), - (*firstData)->crc(), (*firstData)->fel1Id(), - (*firstData)->febcId()); - - RpcCoinMatrix::const_iterator iter = (*firstData)->begin(); - RpcCoinMatrix::const_iterator lastIter = (*firstData)->end(); - for (; iter != lastIter; ++iter) { - RpcFiredChannel *channel = new RpcFiredChannel (**iter); - newData->push_back(channel); - } - - element->push_back(newData); - } - if (newObject->addCollection(element, - (*iFirst)->identifyHash()).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" - << templateClassName - << ">(): problem adding collection with hash = " - << (*iFirst)->identifyHash() << endmsg; - } - } - - if (to->record(newObject, *k).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" - << templateClassName - << ">(): problem recording new container with " - << "key=" << *k << endmsg; - } - } - else if (classNum == 1298668563){ //RpcSectorLogicContainer - const RpcSectorLogicContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - RpcSectorLogicContainer *newObject = new RpcSectorLogicContainer (); - - RpcSectorLogicContainer::const_iterator iFirst = oldObject->begin(); - RpcSectorLogicContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - RpcSectorLogic *element = new RpcSectorLogic ((*iFirst)->sectorId(), (*iFirst)->fel1Id(), - (*iFirst)->bcid(), (*iFirst)->errorCode(), - (*iFirst)->crc()); - element->setHasMoreThan2TriggerCand((*iFirst)->hasMoreThan2TriggerCand()); - - uint16_t triggerRates_size = ((*iFirst)->triggerRates()).size(); - for (uint16_t triggerRates_size_i = 0; triggerRates_size_i != triggerRates_size; triggerRates_size_i++){ - element->addTriggerRate(((*iFirst)->triggerRates())[triggerRates_size_i]); - } - - uint16_t counters_size = ((*iFirst)->counters()).size(); - for (uint16_t counters_size_i = 0; counters_size_i != counters_size; counters_size_i++){ - element->addCounter(((*iFirst)->counters())[counters_size_i]); - } - - RpcSectorLogic::const_iterator firstData = (*iFirst)->begin(); - RpcSectorLogic::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - RpcSLTriggerHit *newData = new RpcSLTriggerHit (**firstData); - element->push_back(newData); - } - newObject->push_back(element); - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - else if (classNum == 4186){ // TgcRdoContainer - const TgcRdoContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - TgcRdoContainer *newObject = new TgcRdoContainer (oldObject->size()); - - TgcRdoContainer::const_iterator iFirst = oldObject->begin(); - TgcRdoContainer::const_iterator iLast = oldObject->end(); - - // since TgcRdo in OriginalEvent_SG has absurd identifierHash values - // we will use collectionNo variable as an index into the - // DataLinkVector inside TgcRdoContainer - int collectionNo = 0; - for (; iFirst != iLast; ++iFirst ) { - TgcRdo *element = new TgcRdo((*iFirst)->identify(), (*iFirst)->identifyHash()); - new (element) TgcRdo((*iFirst)->subDetectorId(), (*iFirst)->rodId(), - (*iFirst)->bcId(), (*iFirst)->l1Id()); - element->setVersion((*iFirst)->version()); - element->setTriggerType((*iFirst)->triggerType()); - element->setErrors(*(uint16_t *)((void *)(&(*iFirst)->errors()))); - element->setRodStatus(*(uint32_t *)((void *)(&(*iFirst)->rodStatus()))); - element->setLocalStatus(*(uint32_t *)((void *)(&(*iFirst)->localStatus()))); - element->setOrbit((*iFirst)->orbit()); - - TgcRdo::const_iterator firstData = (*iFirst)->begin(); - TgcRdo::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - TgcRawData *newData = new TgcRawData (**firstData); - element->push_back(newData); - } - if (newObject->addCollection(element, collectionNo).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with vector index = " - << collectionNo << endmsg; - } - collectionNo++; - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - } -} - -/* -template<class TypeToBeCopied, class Datum> -void DeepCopyObjects::copyMuonObjectDigit(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef typename TypeToBeCopied::base_value_type Collection; - - typedef std::vector<std::string> KeyList; - - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const TypeToBeCopied *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - TypeToBeCopied *newObject = new TypeToBeCopied (oldObject->size()); - - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst) { - Collection *element = new Collection ((*iFirst)->identify(), (*iFirst)->identifierHash()); - - typename Collection::const_iterator firstData = (*iFirst)->begin(); - typename Collection::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - Datum *newData = new Datum(*(dynamic_cast<const Datum*>(*firstData))); - element->push_back(newData); - } - if (newObject->addCollection (element, (*iFirst)->identifierHash()).isFailure()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem adding collection with hash "<<"hash="<<(*iFirst)->identifierHash()); - } - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - } -} - - -template<class TypeToBeCopied> void -DeepCopyObjects::copyInDetObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyTruthObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyLArObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyTileObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyLevel1Object(StoreGateSvc* to, StoreGateSvc *from) -{ } - -*/ - -//================================================================ -StatusCode DeepCopyObjects::overlayInitialize() -{ - - if (m_storeGateTo.retrieve().isFailure()) { - ATH_MSG_FATAL("DeepCopyObjects::initialize): ToStore service not found !"); - return StatusCode::FAILURE; - } - - if (m_storeGateFrom.retrieve().isFailure()) { - ATH_MSG_FATAL("DeepCopyObjects::initialize): FromStoreGate service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode DeepCopyObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode DeepCopyObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - - //std::cout << "DeepCopyObjects::execute() begin"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - //std::cout << m_storeGateFrom->dump() << std::endl; - //std::cout << m_storeGateTo->dump() << std::endl; - - if(m_evtinfo == true){ - typedef std::vector<std::string> KeyList; - KeyList keys = m_storeGateFrom->keys<EventInfo>(); - if(keys.empty()) { - log << MSG::WARNING << "no object of type EventInfo in source store " - << m_storeGateFrom->name() << endmsg; - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const EventInfo *oldEvtInfo = 0; - if (m_storeGateFrom->retrieve(oldEvtInfo, *k).isFailure()) { - log << MSG::WARNING << "could not retrieve object with " - << "key = " << *k << " from store " - << m_storeGateFrom->name() << endmsg; - continue; - } - - EventInfo * newEvtInfo = new EventInfo (*oldEvtInfo); - if (m_storeGateTo->record(newEvtInfo, *k).isFailure()) { - log << MSG::WARNING - << "could not record EventInfo to target store " - << m_storeGateTo->name() << " with key= " - << *k << endmsg; - } - } - } - - -/* - - if(m_indet){ - copyInDetObject<TRT_RDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyInDetObject<SCT_RDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyInDetObject<PixelRDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_truth){ - copyTruthObject<McEventCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<TrackRecordCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<CaloCalibrationHitContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<InDetSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<MuonSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<CscSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_lar){ - copyLArObject<LArDigitContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyLArObject<LArRawChannelContainer>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_tile){ - copyTileObject<TileDigitsContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTileObject<TileRawChannelContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTileObject<TileL2Container>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_muon){ - - copyMuonObjectRDO<MdtCsmContainer>(&*m_storeGateTo, &*m_storeGateFrom); -// printEveryObjectOfType<MdtCsmContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<MdtCsmContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<TgcRdoContainer>(&*m_storeGateTo,&*m_storeGateFrom); -// printEveryObjectOfType<TgcRdoContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<TgcRdoContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<RpcPadContainer>(&*m_storeGateTo,&*m_storeGateFrom); -// printEveryObjectOfType<RpcPadContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<RpcPadContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<CscRawDataContainer>(&*m_storeGateTo, &*m_storeGateFrom); -// printEveryObjectOfType<CscRawDataContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<CscRawDataContainer>(&*m_storeGateTo); - - //copyMuonObjectRDO<RpcSectorLogicContainer>(&*m_storeGateTo, &*m_storeGateFrom); - - } - -// Copy level 1 objects - - if(m_level1){ - copyLevel1Object<LArTTL1Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<TileTTL1Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<ROIB::RoIBResult>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<MuCTPI_RDO>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<CTP_RDO>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::TriggerTower> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMTower> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JetElement> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMRoI> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMRoI> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<LVL1::CMMRoI>(&*m_storeGateTo, &*m_storeGateFrom); - } - -*/ - - if(m_muon){ - copyMuonObjectRDO<CscRawDataContainer>(&*m_storeGateTo, &*m_storeGateFrom); - } - - //std::cout << "DeepCopyObjects::execute() end"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - //std::cout << m_storeGateFrom->dump() << std::endl; - //std::cout << m_storeGateTo->dump() << std::endl; - - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h deleted file mode 100644 index d84802c8285..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -//// To deep copy various transient objects from one storegate to another -//// Piyali.Banerjee@cern.ch; September 2010 -//////////////////////////////////////////////////////////////// - -#ifndef OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H -#define OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H - -#include <string> -#include <iostream> -#include <typeinfo> -#include <typeinfo> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -#include "StoreGate/DataHandle.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" - -#include "TrigT1CaloEvent/TriggerTowerCollection.h" -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/TgcRdoContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/RpcSectorLogicContainer.h" - -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" - -#include "LArRawEvent/LArTTL1Container.h" -#include "TileEvent/TileTTL1Container.h" -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CMMRoI.h" -#include "TrigT1CaloEvent/CPMTower.h" - -class DeepCopyObjects : public OverlayAlgBase { -public: - - DeepCopyObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTo, m_storeGateFrom; - -private: - - /* - template<class TypeToBeCopied> void - copyInDetObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyTruthObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyLArObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyTileObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyLevel1Object(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied, class Datum> void - copyMuonObjectDigit(StoreGateSvc* from, StoreGateSvc *to); - */ - - template<class TypeToBeCopied> void - copyMuonObjectRDO(StoreGateSvc* to, StoreGateSvc *from); - - template <class TypeToBeCopied> void - printEveryObjectOfType(StoreGateSvc* stg); - - bool m_evtinfo; - bool m_indet; - bool m_muon; - bool m_truth; - bool m_lar; - bool m_tile; - bool m_level1; -}; - -#endif/*OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index d4146f87e93..db09acbee99 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -8,7 +8,6 @@ #include "../BSFilter.h" #include "../G4HitMerger.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" -#include "../DeepCopyObjects.h" #include "../RemoveTempBkgObjects.h" DECLARE_COMPONENT( CopyMcEventCollection ) @@ -20,8 +19,6 @@ DECLARE_COMPONENT( RemoveObjects ) DECLARE_COMPONENT( UpdateEventInfo ) DECLARE_COMPONENT( BSFilter ) DECLARE_COMPONENT( G4HitMerger ) -DECLARE_COMPONENT( DeepCopyObjects ) DECLARE_COMPONENT( RemoveTempBkgObjects ) DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool ) - -- GitLab From 04689f18cf129db1566ab204f4ace84b9845aef8 Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:05:49 +0200 Subject: [PATCH 171/209] Remove unneeded RemoveTempBkgObjects overlay algorithm --- .../share/removeTempBkgObjects.py | 14 -- .../src/RemoveTempBkgObjects.cxx | 201 ------------------ .../src/RemoveTempBkgObjects.h | 34 --- .../components/OverlayCommonAlgs_entries.cxx | 2 - 4 files changed, 251 deletions(-) delete mode 100644 Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py b/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py deleted file mode 100644 index 654c980ff47..00000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py +++ /dev/null @@ -1,14 +0,0 @@ -# Remove all objects that were copied to the temporary background -# storegate BkgEvent_2_SG -# author: Piyali Banerjee Piyali.Banerjee@cern.ch -# date: February 2011 - -from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveTempBkgObjects - -if not "topSequence" in dir(): - from AthenaCommon.AlgSequence import AlgSequence - topSequence = AlgSequence() - -topSequence += RemoveTempBkgObjects('RemoveTempBkgObjects') -topSequence.RemoveTempBkgObjects.TempBkgStore = 'StoreGateSvc/BkgEvent_2_SG' -topSequence.RemoveTempBkgObjects.BackgroundIsData = readBS diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx deleted file mode 100644 index e7b8b0b67bb..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx +++ /dev/null @@ -1,201 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects from temporary background store BkgEvent_2_SG -// before adding new ones -// Piyali.Banerjee@cern.ch February 2011 - -#include "RemoveTempBkgObjects.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" -#include "TileEvent/TileCellIDC.h" -#include "TileEvent/TileBeamElemContainer.h" -#include "TileEvent/TileLaserObject.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArFebHeaderContainer.h" -#include "LArSimEvent/LArHitFloatContainer.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/TgcRdoContainer.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/RecRoIBResult.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1Result/CTP_RIO.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/MuCTPI_RIO.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CPMTower.h" -#include "TrigT1CaloEvent/RODHeader.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMRoI.h" - -#include <iostream> -#include <typeinfo> - -RemoveTempBkgObjects::RemoveTempBkgObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_tempBkgStore("StoreGateSvc/BkgEvent_2_SG", name), - m_tempSigStore("StoreGateSvc/TemporaryStore", name), - m_bkgData(false) -{ - declareProperty("TempBkgStore", m_tempBkgStore, "help"); - declareProperty("TempSigStore", m_tempSigStore, "help"); - declareProperty("BackgroundIsData", m_bkgData, "help"); -} - -StatusCode RemoveTempBkgObjects::overlayInitialize() -{ - - if (m_tempBkgStore.retrieve().isFailure()) { - ATH_MSG_FATAL("RemoveTempBkgObjects::initialize(): Temporary Background Store not found !"); - return StatusCode::FAILURE; - } - if (m_tempSigStore.retrieve().isFailure()) { - ATH_MSG_FATAL("RemoveTempBkgObjects::initialize(): Temporary Signal Store not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -StatusCode RemoveTempBkgObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -StatusCode RemoveTempBkgObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - //std::cout << "RemoveTempBkgObjects::execute() begin"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_tempSigStore->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_tempBkgStore->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - - checkBeforeRemove<EventInfo>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Eventinfo" << endmsg; - - // If the background is real data and the InDet and Beam objects are - // not actually present in the temporary background store, which is - // the case presently, removing them gives warnings and errors - // from StoreGate service, so don't remove them - if (m_bkgData == false) { - checkBeforeRemove<TRT_RDO_Container>(&*m_tempBkgStore); - checkBeforeRemove<SCT_RDO_Container>(&*m_tempBkgStore); - checkBeforeRemove<PixelRDO_Container>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing InDet objects" << endmsg; - - checkBeforeRemove<BCM_RDO_Container>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Beam objects" << endmsg; - } - - checkBeforeRemove<LArFebHeaderContainer>(&*m_tempBkgStore); - checkBeforeRemove<LArHitFloatContainer>(&*m_tempBkgStore); - checkBeforeRemove<LArDigitContainer>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing LAr objects" << endmsg; - - checkBeforeRemove<TileDigitsContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileRawChannelContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileL2Container>(&*m_tempBkgStore); - checkBeforeRemove<TileCellIDC>(&*m_tempBkgStore); - checkBeforeRemove<TileBeamElemContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileLaserObject>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Tile objects" << endmsg; - - checkBeforeRemove<CscDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<MdtDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<RpcDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<TgcDigitContainer>(&*m_tempBkgStore); - // If the background is real data and MDTCSM, TGCRDO and RPCPAD objects - // are not actually present in the temporary background store, removing - // them gives errors from StoreGate service, so don't remove them - // Note that because of MDT Cabling problem, these objects are not - // put into temporary background store if the background is real data - if (m_bkgData == false) { - checkBeforeRemove<MdtCsmContainer>(&*m_tempBkgStore); - checkBeforeRemove<TgcRdoContainer>(&*m_tempBkgStore); - checkBeforeRemove<RpcPadContainer>(&*m_tempBkgStore); - } - checkBeforeRemove<CscRawDataContainer>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Muon objects" << endmsg; - - checkBeforeRemove<ROIB::RoIBResult>(&*m_tempBkgStore); - checkBeforeRemove<ROIB::RecRoIBResult>(&*m_tempBkgStore); - checkBeforeRemove<CTP_RDO>(&*m_tempBkgStore); - checkBeforeRemove<CTP_RIO>(&*m_tempBkgStore); - checkBeforeRemove<MuCTPI_RDO>(&*m_tempBkgStore); - checkBeforeRemove<MuCTPI_RIO>(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JetElement> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::TriggerTower> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMEtSums> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMTower> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::RODHeader> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMEtSums> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMRoI> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMRoI> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMJetHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMCPHits> >(&*m_tempBkgStore); - checkBeforeRemove<LVL1::CMMRoI>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Level1 objects" << endmsg; - - //std::cout << "RemoveTempBkgObjects::execute() end"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_tempSigStore->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_tempBkgStore->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - return StatusCode::SUCCESS; -} - -template<class TypeToBeRemoved> -void RemoveTempBkgObjects::checkBeforeRemove(StoreGateSvc *sg) -{ - const std::string templateClassName = typeid(TypeToBeRemoved).name(); - - const DataHandle<TypeToBeRemoved> data; - const DataHandle<TypeToBeRemoved> dataEnd; - if (sg->retrieve(data, dataEnd).isSuccess()) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): retrieved data = " << data.cptr() << " dataEnd = " << dataEnd.cptr() << " for removal"); - if (data.cptr() != 0) { - for ( ; data != dataEnd; data++ ) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): Working on p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - std::string key = sg->proxy(data.cptr())->name(); - if ( sg->contains<TypeToBeRemoved>(key) ) { - if (!sg->removeDataAndProxy(data.cptr()).isSuccess()) { - ATH_MSG_WARNING("checkBeforeRemove<"<<templateClassName<<">(): problem removing object p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - } - } - } - } - } -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h deleted file mode 100644 index e5ac6def086..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects from temporary background store BkgEvent_2_SG -// before adding new ones -// Piyali.Banerjee@cern.ch February 2011 - -#ifndef OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H -#define OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class RemoveTempBkgObjects : public OverlayAlgBase { - -public: - - RemoveTempBkgObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - -private: - - ServiceHandle<StoreGateSvc> m_tempBkgStore, m_tempSigStore; - - bool m_bkgData; - - template<class TypeToBeRemoved> void checkBeforeRemove(StoreGateSvc *sg); - -}; - -#endif/*OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index db09acbee99..cd455c126a4 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -8,7 +8,6 @@ #include "../BSFilter.h" #include "../G4HitMerger.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" -#include "../RemoveTempBkgObjects.h" DECLARE_COMPONENT( CopyMcEventCollection ) DECLARE_COMPONENT( CopyObjects ) @@ -19,6 +18,5 @@ DECLARE_COMPONENT( RemoveObjects ) DECLARE_COMPONENT( UpdateEventInfo ) DECLARE_COMPONENT( BSFilter ) DECLARE_COMPONENT( G4HitMerger ) -DECLARE_COMPONENT( RemoveTempBkgObjects ) DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool ) -- GitLab From aa5448bf7430d350e529fad326dd600be3daf15f Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:16:34 +0200 Subject: [PATCH 172/209] Remove old overlay CopyObjects algorithm only used for additional signal output Separate signal RDO output does not work at the moment and will need to be revisited in the future if we still want to use it. --- .../share/SignalOutputItemList_jobOptions.py | 23 ++-- .../OverlayCommonAlgs/src/CopyObjects.cxx | 94 ---------------- .../OverlayCommonAlgs/src/CopyObjects.h | 44 -------- .../OverlayCommonAlgs/src/CopyObjects.icc | 102 ------------------ .../components/OverlayCommonAlgs_entries.cxx | 2 - 5 files changed, 10 insertions(+), 255 deletions(-) delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py index d9f86881e31..9f9af7016ec 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py @@ -3,21 +3,19 @@ include.block ( "EventOverlayJobTransforms/SignalOutputItemList_jobOptions.py" ) from AthenaCommon.DetFlags import DetFlags from AthenaCommon.DetFlags import DetFlags -#copy stuff back into the MC before persistency -from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyObjects - -if DetFlags.overlay.Truth_on(): - job += CopyObjects("CopyTruth") - job.CopyTruth.TruthObjects = True +# TODO: copy stuff back into the MC before persistency if this will still be maintained +# if DetFlags.overlay.Truth_on(): + # job += CopyObjects("CopyTruth") + # job.CopyTruth.TruthObjects = True # copy InDet objects back into Signal event store -if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): - job += CopyObjects("CopyInDet") - job.CopyInDet.InDetObjects = True +# if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): + # job += CopyObjects("CopyInDet") + # job.CopyInDet.InDetObjects = True -if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): - job += CopyObjects("CopyMuons") - job.CopyMuons.MuonObjects = True +# if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): + # job += CopyObjects("CopyMuons") + # job.CopyMuons.MuonObjects = True # convert Digit to RDO for both signal store and temporary background store @@ -115,4 +113,3 @@ if DetFlags.overlay.LVL1_on(): # Write all IOV meta data containers StreamRDO_MC.MetadataItemList += [ "IOVMetaDataContainer#*" ] StreamRDO_MC.MetadataItemList += [ "LumiBlockCollection#*" ] - diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx deleted file mode 100644 index 313e95c2590..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "CopyObjects.h" -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -CopyObjects::CopyObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTemp("StoreGateSvc/BkgEvent_1_SG", name) -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty ("SCTType", m_sctType=false); - declareProperty("InDetObjects", m_indet=false); - declareProperty("MuonObjects", m_muon=false); - declareProperty("TruthObjects", m_truth=false); -} - -//================================================================ -StatusCode CopyObjects::overlayInitialize() -{ - if (m_storeGateTemp.retrieve().isFailure()) { - ATH_MSG_FATAL("SaveInDetObjects::initialize): StoreGate[temp] service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - - log << MSG::DEBUG << "CopyObjects::execute() begin"<< endmsg; -// std::cout << m_storeGateMC->dump() << std::endl; -// std::cout << m_storeGateTemp->dump() << std::endl; -// std::cout << m_storeGateOutput->dump() << std::endl; - - if ( m_indet ) { - copyAllObjectsOfType<TRT_RDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<SCT_RDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<PixelRDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - } - - if ( m_muon ) { - copyAllObjectsOfType<MdtDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<RpcDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<TgcDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - } - - if ( m_truth ) { - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateOutput, &*m_storeGateMC); - copyAthenaHitObject<CaloCalibrationHitContainer,CaloCalibrationHit>(&*m_storeGateOutput, &*m_storeGateMC); - copySDOobject<InDetSimDataCollection,InDetSimData>(&*m_storeGateOutput, &*m_storeGateMC); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "MDT_SDO"); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "RPC_SDO"); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "TGC_SDO"); - copyMuonSDOobject<CscSimDataCollection,CscSimData>(&*m_storeGateOutput, &*m_storeGateMC, "CSC_SDO"); - } - - log << MSG::DEBUG << "CopyObjects::execute() end"<< endmsg; -// std::cout << m_storeGateMC->dump() << std::endl; -// std::cout << m_storeGateTemp->dump() << std::endl; -// std::cout << m_storeGateOutput->dump() << std::endl; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h deleted file mode 100644 index 8a6b97c0228..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// -// Ketevi A. Assamagan, October 2009 - -#ifndef OVERLAYCOMMONALGS_COPYOBJECTS_H -#define OVERLAYCOMMONALGS_COPYOBJECTS_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class CopyObjects : public OverlayAlgBase { -public: - - CopyObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeCopied, class Datum> void copyAthenaHitObject(StoreGateSvc* from, StoreGateSvc *to); - template<class TypeToBeCopied, class Datum> void copySDOobject(StoreGateSvc* from, StoreGateSvc *to); - template<class TypeToBeCopied, class Datum> void copyMuonSDOobject(StoreGateSvc *from, StoreGateSvc *to, std::string k); - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTemp; - -private: - - bool m_sctType; - bool m_indet; - bool m_muon; - bool m_truth; - -}; - -#include "CopyObjects.icc" - -#endif/*OVERLAYCOMMONALGS_COPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc deleted file mode 100644 index d43ff27eade..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc +++ /dev/null @@ -1,102 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copyAthenaHitObject(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copyAthenaHitObject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, *k).isFailure() ) { - ATH_MSG_WARNING("copyAthenaHit<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied ( oldObject->Name() ); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum * element = new Datum ( **iFirst ); - newObject->push_back ( element ); - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copyAthenaHitObject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - - } -} - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copySDOobject(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copySDOobject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, *k).isFailure() ) { - ATH_MSG_WARNING("copySDOobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied (); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum element ( (*iFirst).second ); - newObject->insert ( std::make_pair( (*iFirst).first, element ) ); - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copySDOobject"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - - } -} - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copyMuonSDOobject(StoreGateSvc *from, StoreGateSvc *to, std::string k) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, k).isFailure() ) { - ATH_MSG_WARNING("copyMuonSDOobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<k); - return; - } - newObject = new TypeToBeCopied (); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum element ( (*iFirst).second ); - newObject->insert ( std::make_pair( (*iFirst).first, element ) ); - } - - if (!to->record(newObject, k).isSuccess()) { - ATH_MSG_WARNING("copyMuonSDOobject"<<templateClassName<<">(): problem recording new container with "<<"key="<<k); - } - -} - diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index cd455c126a4..9c285dd790c 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -1,5 +1,4 @@ #include "../CopyMcEventCollection.h" -#include "../CopyObjects.h" #include "../CopyTimings.h" #include "../CopyTruthInfo.h" #include "../SaveInDetObjects.h" @@ -10,7 +9,6 @@ #include "../ByteStreamMultipleOutputStreamCopyTool.h" DECLARE_COMPONENT( CopyMcEventCollection ) -DECLARE_COMPONENT( CopyObjects ) DECLARE_COMPONENT( CopyTimings ) DECLARE_COMPONENT( CopyTruthInfo ) DECLARE_COMPONENT( SaveInDetObjects ) -- GitLab From e12191e31d1440567959239006f6065115525df2 Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:25:45 +0200 Subject: [PATCH 173/209] Remove old overlay SaveInDetObjects algorithm only used for additional signal output --- .../share/InDetMcSignal_jobOptions.py | 11 ++-- .../src/SaveInDetObjects.cxx | 57 ------------------ .../OverlayCommonAlgs/src/SaveInDetObjects.h | 39 ------------ .../src/SaveInDetObjects.icc | 59 ------------------- .../components/OverlayCommonAlgs_entries.cxx | 1 - 5 files changed, 6 insertions(+), 161 deletions(-) delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py index 103b040f3cd..547526f74ca 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py @@ -3,9 +3,10 @@ include.block ( "EventOverlayJobTransforms/InDetMcSignal_jobOptions.py" ) from AthenaCommon.GlobalFlags import globalflags from AthenaCommon.DetFlags import DetFlags if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): + pass - from OverlayCommonAlgs.OverlayCommonAlgsConf import SaveInDetObjects - job += SaveInDetObjects() - if globalflags.DataSource()=='data': - job.SaveInDetObjects.SCTType = True - + # TODO: will this still be needed? + # from OverlayCommonAlgs.OverlayCommonAlgsConf import SaveInDetObjects + # job += SaveInDetObjects() + # if globalflags.DataSource()=='data': + # job.SaveInDetObjects.SCTType = True diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx deleted file mode 100644 index ae5c33fcfd0..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "SaveInDetObjects.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -SaveInDetObjects::SaveInDetObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTemp("StoreGateSvc/BkgEvent_1_SG", name) -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty ("SCTType", m_sctType=true); -} - -//================================================================ -StatusCode SaveInDetObjects::overlayInitialize() -{ - - if (m_storeGateTemp.retrieve().isFailure()) { - ATH_MSG_FATAL("SaveInDetObjects::initialize): StoreGate[temp] service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode SaveInDetObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode SaveInDetObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "SaveInDetObjects::execute() begin"<< endmsg; - - copyInDetIDCobject<TRT_RDO_Container,TRT_LoLumRawData>(&*m_storeGateMC,&*m_storeGateTemp); - if ( m_sctType) copyInDetIDCobject<SCT_RDO_Container,SCT3_RawData>(&*m_storeGateMC,&*m_storeGateTemp); - else copyInDetIDCobject<SCT_RDO_Container,SCT1_RawData>(&*m_storeGateMC,&*m_storeGateTemp); - copyInDetIDCobject<PixelRDO_Container,Pixel1RawData>(&*m_storeGateMC,&*m_storeGateTemp); - - log << MSG::DEBUG << "SaveInDetObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h deleted file mode 100644 index 0ad85fe60eb..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// -// Ketevi A. Assamagan, October 2009 - -#ifndef OVERLAYCOMMONALGS_SAVEINDETOBJECTS_H -#define OVERLAYCOMMONALGS_SAVEINDETOBJECTS_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class SaveInDetObjects : public OverlayAlgBase { -public: - - SaveInDetObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeCopied, class Datum> void copyInDetIDCobject(StoreGateSvc* from, StoreGateSvc *to); - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTemp; - -private: - - bool m_sctType; - -}; - -#include "SaveInDetObjects.icc" - -#endif/*OVERLAYCOMMONALGS_COPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc deleted file mode 100644 index 940a723fea7..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeCopied, class Datum> -void SaveInDetObjects::copyInDetIDCobject(StoreGateSvc* from, StoreGateSvc *to) -{ - typedef typename TypeToBeCopied::base_value_type Collection; - const std::string templateClassName = typeid(TypeToBeCopied).name(); - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): no keys found"); - return; - } - - for (KeyList::const_iterator k=keys.begin(), endOfKeys=keys.end(); k!=endOfKeys; ++k) - { - TypeToBeCopied * newObject(nullptr); - const TypeToBeCopied * oldObject(nullptr); - if ( from->retrieve(oldObject, *k).isFailure() ) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied ( oldObject->size() ); - for (typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(), iLast = oldObject->end(); iFirst != iLast; ++iFirst ) - { - Collection * element = new Collection ( (*iFirst)->identifyHash() ); - element->setIdentifier( (*iFirst)->identify() ); - for ( typename TypeToBeCopied::base_value_type::const_iterator firstData = (*iFirst)->begin(), lastData = (*iFirst)->end(); firstData != lastData; ++firstData) - { - const Datum* const oldData = dynamic_cast<const Datum*>(*firstData); - if(nullptr==oldData) - { - ATH_MSG_WARNING ("copyInDetIDCobject<"<<templateClassName<<">(): dynamic_cast failed while trying to copy object "); - continue; - } - Datum * newData = new Datum ( *oldData ); - element->push_back ( newData ); - } - if ( newObject->addCollection ( element, (*iFirst)->identifyHash() ).isFailure() ) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem adding collection with hash "<<"hash="<<(*iFirst)->identifyHash()); - } - } - if (!to->record(newObject, *k).isSuccess()) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - } - return; -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index 9c285dd790c..aff4c7b1eea 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -11,7 +11,6 @@ DECLARE_COMPONENT( CopyMcEventCollection ) DECLARE_COMPONENT( CopyTimings ) DECLARE_COMPONENT( CopyTruthInfo ) -DECLARE_COMPONENT( SaveInDetObjects ) DECLARE_COMPONENT( RemoveObjects ) DECLARE_COMPONENT( UpdateEventInfo ) DECLARE_COMPONENT( BSFilter ) -- GitLab From 0c4cb023d43bd1f7ee7fe8b8d4004405dd4b563a Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:46:48 +0200 Subject: [PATCH 174/209] Remove RemoveObjects and UpdateEventInfo as StoreGates work differently in master --- .../share/L1Signal_jobOptions.py | 7 +- .../share/LArMcSignal_jobOptions.py | 8 +- .../share/SignalOutputItemList_jobOptions.py | 4 +- .../share/TileMcSignal_jobOptions.py | 7 +- .../OverlayCommonAlgs/src/RemoveObjects.cxx | 64 ---- .../OverlayCommonAlgs/src/RemoveObjects.h | 32 -- .../OverlayCommonAlgs/src/UpdateEventInfo.cxx | 355 ------------------ .../OverlayCommonAlgs/src/UpdateEventInfo.h | 35 -- .../OverlayCommonAlgs/src/UpdateEventInfo.icc | 30 -- .../components/OverlayCommonAlgs_entries.cxx | 5 - 10 files changed, 5 insertions(+), 542 deletions(-) delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py index fb708138273..88cc54dca7a 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py @@ -90,12 +90,9 @@ if DetFlags.overlay.LVL1_on(): # TrigT1CaloSim Algos #------------------------------------------------------- if DetFlags.simulateLVL1.Calo_on(): - if DetFlags.simulateLVL1.LAr_on() and DetFlags.simulateLVL1.Tile_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveTriggerTowerOldMC") - if globalflags.DataSource()=='data': - job.RemoveTriggerTowerOldMC.RemoveTriggerTowerMC=True + # TODO: we used to remove some containers here which is no longer possible + if DetFlags.simulateLVL1.LAr_on() and DetFlags.simulateLVL1.Tile_on(): from TrigT1CaloSim.TrigT1CaloSimConf import LVL1__TriggerTowerMaker from TrigT1CaloSim.TrigT1CaloSimConfig import TriggerTowerMaker_TTL1_Rel13 newTriggerTowerMaker = TriggerTowerMaker_TTL1_Rel13( 'newTriggerTowerMaker' ) diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py index 71bf544299a..6f666ed1738 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py @@ -5,12 +5,7 @@ from LArROD.LArRODFlags import larRODFlags # calorimeter if DetFlags.overlay.LAr_on(): - - # Remove some objects from MC event store before re-running digitization - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveLArOldMC") - if globalflags.DataSource()=='data': - job.RemoveLArOldMC.RemoveLArMC=True + # TODO: we used to remove some containers here which is no longer possible from LArDigitization.LArDigitizationConf import LArDigitMaker theLArDigits = LArDigitMaker("digitmaker2") @@ -74,4 +69,3 @@ if DetFlags.overlay.LAr_on(): from LArROD.LArDigits import DefaultLArDigitThinner newLArDigitThinner = DefaultLArDigitThinner('newLArDigitThinner') # automatically added to topSequence job.newLArDigitThinner.EvtStore = "BkgEvent_0_SG" - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py index 9f9af7016ec..b7ffe031a18 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py @@ -27,9 +27,7 @@ include ( "EventOverlayJobTransforms/TileMcSignal_jobOptions.py" ) include ( "EventOverlayJobTransforms/L1Signal_jobOptions.py" ) -from OverlayCommonAlgs.OverlayCommonAlgsConf import UpdateEventInfo -job += UpdateEventInfo() -job.UpdateEventInfo.InfoType="McEventInfo" +# TODO: some event info update will probably be needed # The output - signal from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py index 8115f136992..ea7b1805093 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py @@ -5,11 +5,7 @@ from AthenaCommon.GlobalFlags import globalflags from AthenaCommon import CfgGetter if DetFlags.overlay.Tile_on(): -#copy stuff back into the MC before persstency - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveTileOldMC") - if globalflags.DataSource()=='data': - job.RemoveTileOldMC.RemoveTileMC=True + # TODO: we used to remove some containers here which is no longer possible from TileRecUtils.TileRecFlags import jobproperties job += CfgGetter.getAlgorithm("TileHitVecToCnt/tilehitvect", tryDefaultConfigurable=True) @@ -121,4 +117,3 @@ if DetFlags.overlay.Tile_on(): ToolSvc += ToolSvc.TileRawChannelBuilderOptATLAS.clone("newTileRawChannelBuilderOptATLAS") ToolSvc.newTileRawChannelBuilderOptATLAS.EvtStore="BkgEvent_0_SG" job.newTileRawChannelMaker.TileRawChannelBuilder += [ ToolSvc.newTileRawChannelBuilderOptATLAS ] - diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx deleted file mode 100644 index d00d2d1321f..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Ketevi A. Assamagan, October 2009 - -#include "RemoveObjects.h" -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TrigT1CaloEvent/TriggerTowerCollection.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -RemoveObjects::RemoveObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) -{ - declareProperty("RemoveTileMC", m_removeTileMC=false); - declareProperty("RemoveLArMC", m_removeLArMC=false); - declareProperty("RemoveTriggerTowerMC", m_removeTriggerTowerMC=false); -} - -//================================================================ -StatusCode RemoveObjects::overlayInitialize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode RemoveObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode RemoveObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "RemoveObjects::execute() begin"<< endmsg; - - if ( m_removeTileMC ) { - removeAllObjectsOfType<TileDigitsContainer>(&*m_storeGateMC); - removeAllObjectsOfType<TileRawChannelContainer>(&*m_storeGateMC); - } - - if ( m_removeLArMC ) { - removeAllObjectsOfType<LArDigitContainer>(&*m_storeGateMC); - //log << MSG::INFO << "LAr objects removed" << endmsg; - //removeAllObjectsOfType<LArRawChannelContainer>(&*m_storeGateMC); - } - - if ( m_removeTriggerTowerMC ) { - removeAllObjectsOfType<TriggerTowerCollection>(&*m_storeGateMC); - } - - log << MSG::DEBUG << "RemoveObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h deleted file mode 100644 index 42ab376d7d4..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects before adding new ones -// -// Ketevi A. Assamagan - -#ifndef OVERLAYCOMMONALGS_REMOVEOBJECTS_H -#define OVERLAYCOMMONALGS_REMOVEOBJECTS_H - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class RemoveObjects : public OverlayAlgBase { -public: - - RemoveObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - -private: - bool m_removeTileMC; - bool m_removeTriggerTowerMC; - bool m_removeLArMC; - -}; - -#endif/*OVERLAYCOMMONALGS_REMOVEOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx deleted file mode 100644 index a685e151ba9..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx +++ /dev/null @@ -1,355 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Ketevi A. Assamagan, October 2009 - -// Piyali Banerjee, March 2011 - -#include "UpdateEventInfo.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" -#include "TileEvent/TileHitContainer.h" -#include "TileEvent/TileCellIDC.h" -#include "TileEvent/TileBeamElemContainer.h" -#include "TileEvent/TileLaserObject.h" -#include "TileSimEvent/TileHitVector.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" -#include "LArRawEvent/LArFebHeaderContainer.h" -#include "LArSimEvent/LArHitContainer.h" -#include "LArSimEvent/LArHitFloatContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" -#include "InDetSimEvent/TRTUncompressedHitCollection.h" -#include "InDetSimEvent/SiHitCollection.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/TgcRdoContainer.h" -#include "MuonSimEvent/RPCSimHitCollection.h" -#include "MuonSimEvent/TGCSimHitCollection.h" -#include "MuonSimEvent/CSCSimHitCollection.h" -#include "MuonSimEvent/MDTSimHitCollection.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "LArRawEvent/LArTTL1Container.h" -#include "TileEvent/TileTTL1Container.h" -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/RecRoIBResult.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/MuCTPI_RIO.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1Result/CTP_RIO.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CMMRoI.h" -#include "TrigT1CaloEvent/CPMTower.h" -#include "TrigT1CaloEvent/EmTauROI.h" -#include "TrigT1CaloEvent/EmTauROI_ClassDEF.h" -#include "TrigT1CaloEvent/JetROI.h" -#include "TrigT1CaloEvent/JetROI_ClassDEF.h" -#include "TrigT1CaloEvent/RODHeader.h" -#include "TrigT1CaloEvent/EnergyRoI.h" -#include "TrigT1CaloEvent/JetEtRoI.h" -#include "TrigT1CaloEvent/JEPBSCollection.h" -#include "TrigT1CaloEvent/JEPRoIBSCollection.h" -#include "TrigT1CaloEvent/CPBSCollection.h" -#include "TrigT1Interfaces/JetCTP.h" -#include "TrigT1Interfaces/EmTauCTP.h" -#include "TrigT1Interfaces/EnergyCTP.h" -#include "TrigT1Interfaces/MuCTPICTP.h" -#include "TrigT1Interfaces/MbtsCTP.h" -#include "TrigT1Interfaces/BcmCTP.h" -#include "TrigT1Interfaces/CTPSLink.h" -#include "TrigT1Interfaces/SlinkWord.h" -#include "TrigT1Interfaces/Lvl1MuCTPIInput.h" -#include "TrigT1Interfaces/MuCTPIToRoIBSLink.h" -#include "PersistentDataModel/DataHeader.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -UpdateEventInfo::UpdateEventInfo(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) - , m_storeGateTemp("StoreGateSvc/TemporaryStore", name),m_count(0),m_infoType("MyEvent") - -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty("InfoType", m_infoType); -} - -//================================================================ -StatusCode UpdateEventInfo::overlayInitialize() -{ - if (m_storeGateTemp.retrieve().isFailure()) - { - ATH_MSG_ERROR ( "overlayInitialize(): StoreGate[temp] service not found !" ); - return StatusCode::FAILURE; - } - m_count = 0; - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode UpdateEventInfo::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode UpdateEventInfo::overlayExecute() -{ - //std::cout << "UpdateEventInfo::execute() begin" << std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateTemp->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - - /** first, remove the EventInfo in the MC store */ - if (m_storeGateTemp->contains<EventInfo>(m_infoType) ) - { - removeAllObjectsOfType<EventInfo>(&*m_storeGateTemp); - } - /** Copy the EventInfo from the data store to the MC store - the out MC RDO must be reconstructed with the MC conditions */ - const EventInfo * oldEvtInfo = 0; - if (m_storeGateOutput->retrieve(oldEvtInfo, m_infoType).isSuccess() ) - { - EventInfo * newEvtInfo = new EventInfo ( *oldEvtInfo ); - if ( m_storeGateTemp->record( newEvtInfo, m_infoType ).isFailure() ) - { - ATH_MSG_WARNING ( "overlayExecute(): Could not record EventInfo to MC output storeGate, key= " << m_infoType ); - } - } - else - { - ATH_MSG_WARNING ( "overlayExecute(): Could retrieve EventInfo from data store, key = " << m_infoType ); - } - - /** Copy MC information to temp */ - checkBeforeRemove<McEventCollection>(&*m_storeGateTemp); - checkBeforeRemove<TrackRecordCollection>(&*m_storeGateTemp); - checkBeforeRemove<CaloCalibrationHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<InDetSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<CscSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<MuonSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<DataHeader>(&*m_storeGateTemp); - - copyAllObjectsOfType<McEventCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CaloCalibrationHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<InDetSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuonSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<DataHeader>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy Inner Detector stuff */ - if ( m_count > 0 ) - { - checkBeforeRemove<TRTUncompressedHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<TRT_RDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<SCT_RDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<PixelRDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<SiHitCollection>(&*m_storeGateTemp); - } - copyAllObjectsOfType<TRTUncompressedHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TRT_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<SCT_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<PixelRDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<SiHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy calorimeter stuff */ - checkBeforeRemove<LArFebHeaderContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArHitFloatContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArRawChannelContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileDigitsContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileRawChannelContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileCellIDC>(&*m_storeGateTemp); - checkBeforeRemove<TileL2Container>(&*m_storeGateTemp); - checkBeforeRemove<TileBeamElemContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileLaserObject>(&*m_storeGateTemp); - checkBeforeRemove<TileHitVector>(&*m_storeGateTemp); - - copyAllObjectsOfType<LArFebHeaderContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArHitFloatContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArRawChannelContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileDigitsContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileRawChannelContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileCellIDC>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileL2Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileBeamElemContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileLaserObject>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileHitVector>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy muon objects */ - if ( m_count > 0 ) - { - checkBeforeRemove<RPCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<TGCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<CSCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<MDTSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<CscDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<MdtDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<RpcDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<TgcDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<CscRawDataContainer>(&*m_storeGateTemp); - checkBeforeRemove<MdtCsmContainer>(&*m_storeGateTemp); - checkBeforeRemove<RpcPadContainer>(&*m_storeGateTemp); - checkBeforeRemove<TgcRdoContainer>(&*m_storeGateTemp); - } - - copyAllObjectsOfType<RPCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TGCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CSCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MDTSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MdtDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<RpcDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TgcDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscRawDataContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MdtCsmContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<RpcPadContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TgcRdoContainer>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy beam related objects */ - if ( m_count > 0 ) - { - checkBeforeRemove<BCM_RDO_Container>(&*m_storeGateTemp); - } - copyAllObjectsOfType<BCM_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy level 1 objects */ - checkBeforeRemove<LArTTL1Container>(&*m_storeGateTemp); - checkBeforeRemove<TileTTL1Container>(&*m_storeGateTemp); - checkBeforeRemove<ROIB::RoIBResult>(&*m_storeGateTemp); - checkBeforeRemove<ROIB::RecRoIBResult>(&*m_storeGateTemp); - checkBeforeRemove<MuCTPI_RDO>(&*m_storeGateTemp); - checkBeforeRemove<MuCTPI_RIO>(&*m_storeGateTemp); - checkBeforeRemove<CTP_RDO>(&*m_storeGateTemp); - checkBeforeRemove<CTP_RIO>(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::TriggerTower> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMTower> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JetElement> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMRoI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMRoI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::EmTauROI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JetROI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::RODHeader> >(&*m_storeGateTemp); - // SlinkWord and vector<int> are commented out because their class - // definitions have no CLASS_DEF and so sizeof() is unable to estimate - // their size and so they cannot be retrieved from StoreGate - // checkBeforeRemove< DataVector<LVL1CTP::SlinkWord> >(&*m_storeGateTemp); - // checkBeforeRemove< std::vector<unsigned int> >(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JetCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EmTauCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EnergyCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EnergyRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::CMMRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::MuCTPICTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::MbtsCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::BcmCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JetEtRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JEPBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JEPRoIBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::CPBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1CTP::CTPSLink>(&*m_storeGateTemp); - checkBeforeRemove<LVL1MUONIF::Lvl1MuCTPIInput>(&*m_storeGateTemp); - checkBeforeRemove<L1MUINT::MuCTPIToRoIBSLink>(&*m_storeGateTemp); - - copyAllObjectsOfType<LArTTL1Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileTTL1Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<ROIB::RoIBResult>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<ROIB::RecRoIBResult>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuCTPI_RDO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuCTPI_RIO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CTP_RDO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CTP_RIO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::TriggerTower> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMTower> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JetElement> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMRoI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMRoI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::EmTauROI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JetROI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::RODHeader> >(&*m_storeGateTemp, &*m_storeGateMC); - // SlinkWord and vector<int> are commented out because their class - // definitions have no CLASS_DEF and so sizeof() is unable to estimate - // their size and so they cannot be retrieved from StoreGate - // copyAllObjectsOfType< DataVector<LVL1CTP::SlinkWord> >(&*m_storeGateTemp, &*m_storeGateMC); - // copyAllObjectsOfType< std::vector<unsigned int> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JetCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EmTauCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EnergyCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EnergyRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::CMMRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::MuCTPICTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::MbtsCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::BcmCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JetEtRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JEPBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JEPRoIBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::CPBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1CTP::CTPSLink>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1MUONIF::Lvl1MuCTPIInput>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<L1MUINT::MuCTPIToRoIBSLink>(&*m_storeGateTemp, &*m_storeGateMC); - - //std::cout << "UpdateEventInfo::execute() end" << std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateTemp->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - m_count++; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h deleted file mode 100644 index c644068775c..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects before adding new ones -// -// Keetvi A. Assamagan - -#ifndef OVERLAYCOMMONALGS_UPDATEEVENTINFO_H -#define OVERLAYCOMMONALGS_UPDATEEVENTINFO_H - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class UpdateEventInfo: public OverlayAlgBase { -public: - - UpdateEventInfo(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeRemoved> void checkBeforeRemove(StoreGateSvc *sg); - -protected: - ServiceHandle<StoreGateSvc> m_storeGateTemp; - unsigned int m_count; - std::string m_infoType; -}; - -#include "UpdateEventInfo.icc" - -#endif/*OVERLAYCOMMONALGS_UPDATEEVENTINFO_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc deleted file mode 100644 index b8f179a4b1e..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeRemoved> -void UpdateEventInfo::checkBeforeRemove(StoreGateSvc *sg) -{ - const std::string templateClassName = typeid(TypeToBeRemoved).name(); - - const DataHandle<TypeToBeRemoved> data; - const DataHandle<TypeToBeRemoved> dataEnd; - if (sg->retrieve(data, dataEnd).isSuccess()) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): retrieved data = " << data.cptr() << " dataEnd = " << dataEnd.cptr() << " for removal"); - if (data.cptr() != 0) { - for ( ; data != dataEnd; data++ ) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): Working on p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - std::string key = sg->proxy(data.cptr())->name(); - if ( sg->contains<TypeToBeRemoved>(key) ) { - if (!sg->removeDataAndProxy(data.cptr()).isSuccess()) { - ATH_MSG_WARNING("checkBeforeRemove<"<<templateClassName<<">(): problem removing object p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - } - } - } - } - } -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index aff4c7b1eea..956fe0c6d9d 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -1,9 +1,6 @@ #include "../CopyMcEventCollection.h" #include "../CopyTimings.h" #include "../CopyTruthInfo.h" -#include "../SaveInDetObjects.h" -#include "../RemoveObjects.h" -#include "../UpdateEventInfo.h" #include "../BSFilter.h" #include "../G4HitMerger.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" @@ -11,8 +8,6 @@ DECLARE_COMPONENT( CopyMcEventCollection ) DECLARE_COMPONENT( CopyTimings ) DECLARE_COMPONENT( CopyTruthInfo ) -DECLARE_COMPONENT( RemoveObjects ) -DECLARE_COMPONENT( UpdateEventInfo ) DECLARE_COMPONENT( BSFilter ) DECLARE_COMPONENT( G4HitMerger ) -- GitLab From 71aecb1ff6cd503f52af1014561e0142a18a8e4d Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 17 Aug 2018 10:54:29 +0200 Subject: [PATCH 175/209] Remove obsolete G4HitMerger algorithm and G4HitMerge_trf --- .../scripts/G4HitMerge_trf.py | 81 --- .../share/skeleton.G4HitMerge.py | 151 ----- .../OverlayCommonAlgs/src/G4HitMerger.cxx | 568 ------------------ .../OverlayCommonAlgs/src/G4HitMerger.h | 40 -- .../components/OverlayCommonAlgs_entries.cxx | 2 - .../G4AtlasTests/scripts/sim_parse_prof.py | 4 +- 6 files changed, 2 insertions(+), 844 deletions(-) delete mode 100755 Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py delete mode 100644 Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h diff --git a/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py b/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py deleted file mode 100755 index 17b42b13d49..00000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python - -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -__doc__ = """Merge two G4 HITS files into one file, adding the HITS from event 1 in one file to those from event 1 in the other file, 2 to 2, etc.""" - -from PyJobTransformsCore.trf import * -from PyJobTransformsCore.full_trfarg import * -from PyJobTransformsCore.trfutil import * -from PyJobTransformsCore.TransformConfig import * -import PyJobTransformsCore.basic_trfarg as trfarg - -from RecJobTransforms.RecConfig import recConfig - -class InputHITS1FileArg(StringArg): - """The first input HITS file""" - def __init__(self,help='default',name='inputHITS1File'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class InputHITS2FileArg(StringArg): - """The second input HITS file""" - def __init__(self,help='default',name='inputHITS2File'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class OutputHITSFileArg(StringArg): - """The output HITS file""" - def __init__(self,help='default',name='outputHITSFile'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class PostIncludeArg(JobOptionsArg): - """Joboptions file with user settings, to run after the job itself""" - def __init__(self,help='default',package='',name='default'): - # split comma separated string into list - if type(package) == str: package = package.split(',') - # always add 'EventOverlayJobTransforms' package (which contain common postIncludeConfig files) - commonPack = 'EventOverlayJobTransforms' - if commonPack not in package: package.append(commonPack) - JobOptionsArg.__init__(self,help=help,package=package,name=name) - self.__config = None - - def isFullArgument(self): - return True - - -class G4HitMergeJobTransform( JobTransform ): - def __init__(self): - JobTransform.__init__(self, - authors = [ Author('Andrew Haas', 'ahaas@cern.ch'), Author('William Lockman','William.Lockman@cern.ch') ] , - skeleton='EventOverlayJobTransforms/skeleton.G4HitMerge.py' , - help = __doc__, - config = recConfig ) - - #add arguments - self.add( InputHITS1FileArg() ) - self.add( InputHITS2FileArg() ) - self.add( OutputHITSFileArg() ) - self.add( MaxEventsArg() ) - self.add( SkipEventsArg() ) - self.add( GeometryVersionArg() ) - self.add( DBReleaseArg(), default='NONE' ) - self.add( ConditionsTagArg(), default='NONE' ) - self.add( PostIncludeArg(), default='NONE' ) - - #add other features - self.add( SQLiteSupport() ) - - -# execute it if not imported -if __name__ == '__main__': - trf = G4HitMergeJobTransform() - sys.exit(trf.exeSysArgs().exitCode()) - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py deleted file mode 100644 index 651cf0cc5b0..00000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py +++ /dev/null @@ -1,151 +0,0 @@ -# Andy Haas (ahaas@cern.ch), SLAC, 4/2010 -# Use pileUp infrastructure to overlay HITS from one signal stream to HITS from one background stream -# One background event is read for each signal event -# Modified by Piyali (Piyali.Banerjee@cern.ch) to include Metadata containers in the output hits file - -from AthenaCommon.Logging import logging -G4HitMergeLog = logging.getLogger('G4HitMerge') -G4HitMergeLog.info( '****************** STARTING G4HitMerge *****************' ) - -# Job definition parameters: -EvtMax = runArgs.maxEvents -SkipEvents = runArgs.skipEvents - -G4HitMergeLog.info( '**** Transformation run arguments' ) -G4HitMergeLog.info( str(runArgs) ) - -#------------------------------------------------ - -# setup DBReplicaSvc to choose closest Oracle replica, configurables style -from AthenaCommon.AppMgr import ServiceMgr -from PoolSvc.PoolSvcConf import PoolSvc -ServiceMgr+=PoolSvc(SortReplicas=True) -from DBReplicaSvc.DBReplicaSvcConf import DBReplicaSvc -ServiceMgr+=DBReplicaSvc(UseCOOLSQLite=False) - -# Overall common flags -# DetDescrVersion='ATLAS-GEO-08-00-02' - -DetDescrVersion=runArgs.geometryVersion -IOVTag=runArgs.conditionsTag - -include( "AthenaCommon/AthenaCommonFlags.py" ) - -minBiasInputCols = [ runArgs.inputHITS1File ] #["Input1.g4.pool.root"] -PoolHitsInput = [ runArgs.inputHITS2File ] #["Input2.g4.pool.root"] - -from AthenaCommon.DetFlags import DetFlags -DetFlags.ID_setOn() -DetFlags.Calo_setOn() -DetFlags.Muon_setOn() -DetFlags.Truth_setOn() -DetFlags.LVL1_setOn() - -#include ( "Digitization/Digitization_flags.py" ) - -# EventInfo Converters -import AthenaPoolCnvSvc.ReadAthenaPool -include( "EventAthenaPool/EventAthenaPool_joboptions.py" ) - -# GeoModel stuff -from AthenaCommon.GlobalFlags import jobproperties -jobproperties.Global.DetDescrVersion=DetDescrVersion -from AtlasGeoModel import SetGeometryVersion -from AtlasGeoModel import GeoModelInit - -from AthenaCommon.AppMgr import ServiceMgr -from PileUpComps.PileUpCompsConf import PileUpEventLoopMgr - -# ad-hoc configuration of pileup event loop manager -theApp.EventLoop = "PileUpEventLoopMgr" -pileUpEventLoopMgr = PileUpEventLoopMgr() -from Digitization.DigitizationFlags import jobproperties -pupStream = "PileUpCollXingStream" -jobproperties.Digitization.rndmSeedList.addSeed( pupStream, 123, 345 ) -pileUpEventLoopMgr.OrigSelector="EventSelector" - -from PileUpComps.PileUpCompsConf import BkgStreamsCache -from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import EventSelectorAthenaPool -minBiasCache = BkgStreamsCache("MinBiasCache") -minBiasCache.CollPerXing=1 -minBiasCache.CollDistribution="Fixed" -minBiasCache.ReadDownscaleFactor=1 # read one new event every event -#minBiasCache.RndmGenSvc=digitizationRndmSvc -minBiasCache.RndmStreamName=pupStream -minBiasEvtSel = EventSelectorAthenaPool("minBiasEventSelector") -minBiasEvtSel.InputCollections = minBiasInputCols -minBiasEvtSel.KeepInputFilesOpen = True -ServiceMgr += minBiasEvtSel -minBiasCache.EventSelector="minBiasEventSelector" -pileUpEventLoopMgr.bkgCaches += [ minBiasCache ] - -from AthenaCommon.AppMgr import ToolSvc -from LArRecUtils.LArRecUtilsConf import LArAutoCorrTotalTool -try: - ToolSvc.LArAutoCorrTotalTool.NMinBias=1.; # FIXME <ncol> per crossing -except AttributeError: - ToolSvc += LArAutoCorrTotalTool(NMinBias=1.) - -pileUpEventLoopMgr.OutStreamType = "AthenaOutputStream" -pileUpEventLoopMgr.XingFrequency=25; -pileUpEventLoopMgr.firstXing=0 -pileUpEventLoopMgr.lastXing=0 -pileUpEventLoopMgr.OutputLevel=VERBOSE -ServiceMgr += pileUpEventLoopMgr - -# in any case we need the PileUpMergeSvc for the digitize algos -if not hasattr(ServiceMgr, 'PileUpMergeSvc'): - from PileUpTools.PileUpToolsConf import PileUpMergeSvc - ServiceMgr += PileUpMergeSvc() - -# Pool input (Change this to use a different file) -if not hasattr(ServiceMgr, 'EventSelector'): - import AthenaPoolCnvSvc.ReadAthenaPool -ServiceMgr.EventSelector.InputCollections = PoolHitsInput - -# Pool Output -from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream -Stream1 = AthenaPoolOutputStream("StreamHITS", runArgs.outputHITSFile ) -#find full list with "checkSG.py <inputfile.pool.root>" -Stream1.ItemList+=["EventInfo#*"]; -Stream1.ItemList+=["CaloCalibrationHitContainer#*"]; -Stream1.ItemList+=["SiHitCollection#*"]; -Stream1.ItemList+=["TrackRecordCollection#*"]; -Stream1.ItemList+=["LArHitContainer#*"]; -Stream1.ItemList+=["TRTUncompressedHitCollection#*"]; -Stream1.ItemList+=["CSCSimHitCollection#*"]; -Stream1.ItemList+=["TileHitVector#*"]; -#Stream1.ItemList+=["DataHeader#*"]; -Stream1.ItemList+=["McEventCollection#*"]; -Stream1.ItemList+=["RPCSimHitCollection#*"]; -Stream1.ItemList+=["MDTSimHitCollection#*"]; -Stream1.ItemList+=["TGCSimHitCollection#*"]; -Stream1.ItemList += [ "IOVMetaDataContainer#*" ] -print Stream1 - -# storegate dump -StoreGateSvc = Service( "StoreGateSvc" ) -StoreGateSvc.Dump = True #true will dump data store contents - -# the LAr and Calo detector description package -include( "CaloDetMgrDetDescrCnv/CaloDetMgrDetDescrCnv_joboptions.py" ) -include( "LArDetMgrDetDescrCnv/LArDetMgrDetDescrCnv_joboptions.py" ) -include( "LArAthenaPool/LArAthenaPool_joboptions.py" ) - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from OverlayCommonAlgs.OverlayCommonAlgsConf import G4HitMerger -G4HitMerger = G4HitMerger("G4HitMerger") -topSequence += G4HitMerger - -theApp.EvtMax = EvtMax -theApp.SkipEvents = SkipEvents -MessageSvc.OutputLevel = INFO - -#--------------------------- -# Post-include -if hasattr(runArgs,"postInclude"): - for fragment in runArgs.postInclude: - include(fragment) - diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx deleted file mode 100644 index 094de0e38f3..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx +++ /dev/null @@ -1,568 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Algorithm to merge G4Hits from different subevents from pileup service to a single event - -#include "G4HitMerger.h" -#include "LArSimEvent/LArHitContainer.h" -#include "Identifier/IdentifierHash.h" -#include "GaudiKernel/MsgStream.h" -#include "StoreGate/StoreGateSvc.h" -#include "PileUpTools/PileUpMergeSvc.h" - -#include "InDetSimEvent/SiHitCollection.h" -#include "InDetSimEvent/TRTUncompressedHitCollection.h" -#include "MuonSimEvent/CSCSimHitCollection.h" -#include "MuonSimEvent/RPCSimHitCollection.h" -#include "MuonSimEvent/MDTSimHitCollection.h" -#include "MuonSimEvent/TGCSimHitCollection.h" -#include "TileSimEvent/TileHitVector.h" -//#include "GeneratorObjects/McEventCollection.h" // in G4HitMerger.h -#include <iomanip> - - -std::ostream& -operator<<(std::ostream& o, const McEventCollection& in) -{ - boost::io::ios_flags_saver ifs(o); - o << "# GenEvents: " << in.size() << '\n'; - int count(0); - for (McEventCollection::const_iterator evt = in.begin(); evt != in.end(); ++evt) { - count++; - o << " GenEvent " << count << ": signal_process_vertex " << (*evt)->signal_process_vertex() << " # tracks: " << (*evt)->particles_size() << " # vertices: " << (*evt)->vertices_size() << '\n'; - int iTrk(0); - for ( HepMC::GenEvent::particle_const_iterator p = (*evt)->particles_begin(); p != (*evt)->particles_end(); ++p ) { - iTrk++; - const HepMC::FourVector fv((*p)->momentum().px(), - (*p)->momentum().py(), - (*p)->momentum().pz(), - (*p)->momentum().e()); - o << "Track " << std::setw(3) << iTrk << " pdgId " << std::setw(5) << (*p)->pdg_id() << " barcode " << std::setw(6) << (*p)->barcode() - << " 4-mom ( " << std::setprecision(7) << std::setw(10) << fv.px() << " , " << std::setw(10) << fv.py() << " , " << std::setw(10) << fv.pz() << ") pt " << fv.perp() << '\n'; - } - } - return o; -} - -G4HitMerger::G4HitMerger(const std::string& name, ISvcLocator* pSvcLocator) - : AthAlgorithm(name, pSvcLocator), m_mergeSvc("PileUpMergeSvc",name) -{ - declareProperty("Detectors", m_Detectors, "Detector selection"); - declareProperty("PileUpMergeSvc", m_mergeSvc, ""); -} - -G4HitMerger::~G4HitMerger(){} - -StatusCode G4HitMerger::initialize() -{ - - // locate the PileUpMergeSvc and initialize our local ptr - CHECK( m_mergeSvc.retrieve() ); - - ATH_MSG_DEBUG( "Initialization completed successfully" ); - - return StatusCode::SUCCESS; - -} - -StatusCode G4HitMerger::execute() -{ - - ///////////////////////////////////////////////////////////////////////////////////// - // Append MCEventCollections - - typedef PileUpMergeSvc::TimedList<McEventCollection>::type TimedTruthList; - // TimedTruthList truthList; - std::string truthCollKey("TruthEvent"); - - ATH_MSG_INFO( " asking for container " << truthCollKey ); - - TimedTruthList* truthList = new TimedTruthList; - - // retrieve the list of pairs (time, container) from the PileUp service - if( m_mergeSvc->retrieveSubEvtsData(truthCollKey, *truthList).isFailure()) - { - ATH_MSG_ERROR("execute(): Failed to retrieve " << truthCollKey); - delete truthList; - return StatusCode::FAILURE; - } - - // start with a new (blank) McEventCollection - - McEventCollection* new_collection = new McEventCollection; - if( evtStore()->record(new_collection, truthCollKey).isFailure() ) - { - ATH_MSG_ERROR("execute(): Failed to record " << truthCollKey); - delete truthList; - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over the list, adding the component McEventCollections to the new one - // - int McCounter(0); - for (auto iter : *truthList ) { - McCounter++; - - ATH_MSG_INFO( "Input McEventCollection " << McCounter << " " << *(iter.second) ); - - // Surprisingly, McEventCollection::operator= pushes_back GenEvents from the RHS - // onto the current list without first clearing the list first. - // Thus, '=' is really an 'append' or += operation - // - (*new_collection) = *(iter.second); - } - delete truthList; - - ATH_MSG_INFO( "Merged McEventCollection " << *(new_collection) ); - CHECK( evtStore()->setConst(new_collection) ); - - - - //first get the list of McEventCollections - // StatusCode sc(StatusCode::FAILURE); - // if (! (sc = m_mergeSvc->retrieveSubEvtsData(truthCollKey, truthList)).isSuccess() ) { - // msglog<<MSG::ERROR<< "execute: Can not find TimedTruthList with key "<< truthCollKey << endmsg; - // return StatusCode::RECOVERABLE; - // } - // int nInputMcEventColls(truthList.size()); - // //and check it is not empty - // if (0 == nInputMcEventColls) { - // msglog<<MSG::ERROR<< "execute: TimedTruthList with key " << truthCollKey<< " is empty" << endmsg; - // return StatusCode::RECOVERABLE; - // } - // - // TimedTruthList::iterator lI(truthList.begin()), lE(truthList.end()); - // //start from the original event collection - // McEventCollection* pOvrlMcEvColl(new McEventCollection(*(lI->second))); - // - // sc = evtStore()->record(pOvrlMcEvColl, truthCollKey); - // if (!sc.isSuccess()) msglog<<MSG::ERROR<<"Could not write MCEventCollection!"<<endmsg; - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for LAr hits - m_HitContainer.clear(); - m_HitContainer.push_back("LArHitEMB"); - m_HitContainer.push_back("LArHitEMEC"); - m_HitContainer.push_back("LArHitHEC"); - m_HitContainer.push_back("LArHitFCAL"); - int nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<LArHitContainer>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - if( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ) - { - ATH_MSG_ERROR("execute(): Failed to retrieve " << truthCollKey); - return StatusCode::FAILURE; - } - - - // make new hit container - LArHitContainer *new_collection = new LArHitContainer(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const LArHitContainer& firstCont = *(iFirstCont->second); - LArHitContainer::const_iterator f_cell=firstCont.begin(); - LArHitContainer::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - LArHit *hit = new LArHit(**f_cell); - ++f_cell; nhit_tot++; - float energy = hit->energy(); - Identifier cellId = hit->cellID(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("LArHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - - } // end of loop over containers - ATH_MSG_INFO( "Total number of LArHit found " << nhit_tot ); - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for Tile hits - m_HitContainer.clear(); - m_HitContainer.push_back("MBTSHits"); - m_HitContainer.push_back("TileHitVec"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TileHitVector>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - - // make new hit container - TileHitVector *new_collection = new TileHitVector(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TileHitVector& firstCont = *(iFirstCont->second); - TileHitVector::const_iterator f_cell=firstCont.begin(); - TileHitVector::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TileHit hit(*f_cell); - ++f_cell; nhit_tot++; - float energy = 0; for (int i=0; i<hit.size(); ++i) energy+=hit.energy(i); - Identifier cellId = hit.identify(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("TileHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TileHit found " << nhit_tot ); - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for TRT hits - m_HitContainer.clear(); - m_HitContainer.push_back("TRTUncompressedHits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TRTUncompressedHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - TRTUncompressedHitCollection *new_collection = new TRTUncompressedHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TRTUncompressedHitCollection& firstCont = *(iFirstCont->second); - TRTUncompressedHitCollection::const_iterator f_cell=firstCont.begin(); - TRTUncompressedHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TRTUncompressedHit hit = *f_cell; - ++f_cell; nhit_tot++; - float energy = hit.GetEnergyDeposit(); - int cellId = hit.GetHitID(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("TRTUncompressedHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TRTUncompressedHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for CSC hits - m_HitContainer.clear(); - m_HitContainer.push_back("CSC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<CSCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - CSCSimHitCollection *new_collection = new CSCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const CSCSimHitCollection& firstCont = *(iFirstCont->second); - CSCSimHitCollection::const_iterator f_cell=firstCont.begin(); - CSCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const CSCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double energy = hit.energyDeposit(); - double time = hit.globalTime(); - int cellId = hit.CSCid(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("CSCSimHit "<<cellId<<" has energy "<<energy<<" and time "<<time); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of CSCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for RPC hits - m_HitContainer.clear(); - m_HitContainer.push_back("RPC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<RPCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - RPCSimHitCollection *new_collection = new RPCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const RPCSimHitCollection& firstCont = *(iFirstCont->second); - RPCSimHitCollection::const_iterator f_cell=firstCont.begin(); - RPCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const RPCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.RPCid(); - ATH_MSG_DEBUG("RPCSimHit "<<cellId<<" has time "<<time); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of RPCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for MDT hits - m_HitContainer.clear(); - m_HitContainer.push_back("MDT_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++){ - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<MDTSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - MDTSimHitCollection *new_collection = new MDTSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const MDTSimHitCollection& firstCont = *(iFirstCont->second); - MDTSimHitCollection::const_iterator f_cell=firstCont.begin(); - MDTSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const MDTSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.MDTid(); - ATH_MSG_DEBUG( "MDTSimHit "<<cellId<<" has time "<<time ); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of MDTSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for TGC hits - m_HitContainer.clear(); - m_HitContainer.push_back("TGC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TGCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - TGCSimHitCollection *new_collection = new TGCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TGCSimHitCollection& firstCont = *(iFirstCont->second); - TGCSimHitCollection::const_iterator f_cell=firstCont.begin(); - TGCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TGCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.TGCid(); - ATH_MSG_DEBUG( "TGCSimHit "<<cellId<<" has time "<<time ); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TGCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for inner detector hits - m_HitContainer.clear(); - m_HitContainer.push_back("BCMHits"); - m_HitContainer.push_back("BLMHits"); - m_HitContainer.push_back("PixelHits"); - m_HitContainer.push_back("SCT_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<SiHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - SiHitCollection *new_collection = new SiHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - // get SiHitCollection for this subevent - const SiHitCollection& firstCont = *(iFirstCont->second); - // Loop over elements in this SiHitCollection - SiHitCollection::const_iterator f_cell=firstCont.begin(); - SiHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const SiHit hit = *f_cell; - ++f_cell; nhit_tot++; - double energy = hit.energyLoss(); - unsigned int cellId = hit.identify(); - ATH_MSG_DEBUG("Sihit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; - ATH_MSG_INFO( "Subevent "<<++subevent ); - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of inner detector hits found " << nhit_tot ); - - return StatusCode::SUCCESS; -} - -StatusCode G4HitMerger::finalize() -{ - ATH_MSG_DEBUG( " G4HitMerger finalize completed successfully" ); - return StatusCode::SUCCESS; -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h b/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h deleted file mode 100644 index fdcb99bebca..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef OVERLAYCOMMONALGS_G4HitMerger_H -#define OVERLAYCOMMONALGS_G4HitMerger_H - -#include "AthenaBaseComps/AthAlgorithm.h" - -#include "GaudiKernel/ServiceHandle.h" -#include "GaudiKernel/Property.h" -#include "GeneratorObjects/McEventCollection.h" - -#include <vector> -#include <iostream> - -class PileUpMergeSvc; - -class G4HitMerger : public AthAlgorithm -{ - public: - G4HitMerger(const std::string& name, ISvcLocator* pSvcLocator); - ~G4HitMerger(); - virtual StatusCode initialize(); - virtual StatusCode execute(); - virtual StatusCode finalize(); - - private: - - ServiceHandle<PileUpMergeSvc> m_mergeSvc; - - std::vector <std::string> m_HitContainer; // hit container name list - - std::string m_Detectors; - - friend std::ostream& operator<<(std::ostream& o, const McEventCollection& m); - -}; - -#endif //OVERLAYCOMMONALGS_G4HitMerger_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index 956fe0c6d9d..65363d62b76 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -2,13 +2,11 @@ #include "../CopyTimings.h" #include "../CopyTruthInfo.h" #include "../BSFilter.h" -#include "../G4HitMerger.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" DECLARE_COMPONENT( CopyMcEventCollection ) DECLARE_COMPONENT( CopyTimings ) DECLARE_COMPONENT( CopyTruthInfo ) DECLARE_COMPONENT( BSFilter ) -DECLARE_COMPONENT( G4HitMerger ) DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool ) diff --git a/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py b/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py index 525966321fb..61e98d6bc27 100755 --- a/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py +++ b/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py @@ -236,12 +236,12 @@ class LibraryEstimator: 'G4AtlasAlg', 'G4SimTPCnvDict', 'G4StepLimitation', 'G4AtlasApps_TestConfiguration', 'G4AtlasTests_load', 'G4digitMuon', 'G4AtlasAlg_load', 'G4ProcessHelper', 'G4AtlasAlg_entries', 'G4SimMem', - 'G4SElectronMinus', 'G4STauMinus', 'G4FieldDict', 'G4HitMerger', + 'G4SElectronMinus', 'G4STauMinus', 'G4FieldDict', 'G4CommandInterface', 'G4BiasedMuBremsstrahlung', 'G4HitFilter', 'G4AtlasRunManager', 'G4mplAtlasTransportation', 'G4AtlasUtilitiesDict', 'G4AtlasTests_TestConfiguration', 'G4SMuonMinus', 'G4mplAtlasIonisationModel', 'G4mplAtlasIonisationWithDeltaModel', - 'G4simHiggs', 'G4HitMerge_trf', 'G4BiasedMuPairProductionModel', + 'G4simHiggs', 'G4BiasedMuPairProductionModel', 'G4CosmicOrFilter', 'G4UIcmdWithStrings', 'G4STauPlus', 'G4AtlantisDumper', 'G4mplEqMagElectricField', 'G4StepLimitProcess'] if name in atlasg4: -- GitLab From 6ba6f26740319ca383bcfb6c8563d5c23c009b3c Mon Sep 17 00:00:00 2001 From: Emmanuel Le Guirriec <emmanuel.le.guirriec@cern.ch> Date: Thu, 8 Nov 2018 14:07:01 +0100 Subject: [PATCH 176/209] Use unique_ptr to fix memory leaks in MV2 and DL1 --- .../JetTagTools/JetTagTools/DL1Tag.h | 2 +- .../JetTagTools/JetTagTools/MV2Tag.h | 8 ++-- .../JetTagging/JetTagTools/src/DL1Tag.cxx | 9 +---- .../JetTagging/JetTagTools/src/MV2Tag.cxx | 39 ++++--------------- 4 files changed, 15 insertions(+), 43 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h index c26953c81bf..9779f7bddee 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h +++ b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h @@ -51,7 +51,7 @@ namespace Analysis { typedef std::map<std::string, std::map<std::string, double> > map_var_map; typedef std::map<std::string, std::string> str_map; typedef std::map<std::string, std::vector<lwt::Input> > map_var; - typedef std::map<std::string, lwt::LightweightNeuralNetwork*> nn_map; + typedef std::map<std::string, std::unique_ptr<lwt::LightweightNeuralNetwork>> nn_map; /** Key of calibration data: */ SG::ReadCondHandleKey<JetTagCalibCondData> m_readKey{this, "HistosKey", "JetTagCalibHistosKey", "Key of input (derived) JetTag calibration data"}; diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h index a02927dbedb..40adba7e85d 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h +++ b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETTAGTOOLS_MV2TAG_H @@ -75,7 +75,7 @@ namespace Analysis { //const xAOD::Vertex* m_priVtx; /** reader to define the MVA algorithms */ - std::map<std::string, MVAUtils::BDT*> m_egammaBDTs; + std::map<std::string, const MVAUtils::BDT*> m_egammaBDTs; std::list<std::string> m_undefinedReaders; // keep track of undefined readers to prevent too many warnings. @@ -98,11 +98,11 @@ namespace Analysis { void SetVariableRefs(const std::vector<std::string> inputVars, unsigned &nConfgVar, bool &badVariableFound, std::vector<float*> &inputPointers); - std::vector<float> GetMulticlassResponse(MVAUtils::BDT* bdt) const { + std::vector<float> GetMulticlassResponse(const MVAUtils::BDT* bdt) const { std::vector<float> v(m_nClasses,-1); return (bdt->GetPointers().size() ? bdt->GetMultiResponse(bdt->GetPointers(),m_nClasses) : v); } - double GetClassResponse (MVAUtils::BDT* bdt) const { return (bdt->GetPointers().size() ? bdt->GetGradBoostMVA(bdt->GetPointers()) : -9.); } + double GetClassResponse (const MVAUtils::BDT* bdt) const { return (bdt->GetPointers().size() ? bdt->GetGradBoostMVA(bdt->GetPointers()) : -9.); } }; // End class diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx b/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx index 25624c1c8b6..be6a9ca194a 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx @@ -71,10 +71,6 @@ namespace Analysis { } DL1Tag::~DL1Tag() { - for ( auto network : m_NeuralNetworks) { - delete network.second; - network.second = 0; - } } StatusCode DL1Tag::initialize() { @@ -96,7 +92,6 @@ namespace Analysis { void DL1Tag::build_nn(const std::string& jetauthor, std::istream& nn_config_istream) { if (m_NeuralNetworks.count(jetauthor)) { - delete m_NeuralNetworks[jetauthor]; m_map_variables.erase(jetauthor); m_map_defaults.erase(jetauthor); m_NeuralNetworks.erase(jetauthor); @@ -129,8 +124,8 @@ namespace Analysis { if (!(std::find((nn_config.outputs).begin(), (nn_config.outputs).end(), "bottom") != (nn_config.outputs).end())) { ATH_MSG_WARNING( "#BTAG# b-tagger without b-tagging option 'bottom' - please check the NN output naming convention."); } - - m_NeuralNetworks.insert(std::make_pair(jetauthor, new lwt::LightweightNeuralNetwork(nn_config.inputs, nn_config.layers, nn_config.outputs))); + auto lwNN = std::make_unique<lwt::LightweightNeuralNetwork>(nn_config.inputs, nn_config.layers, nn_config.outputs); + m_NeuralNetworks.insert(std::make_pair(jetauthor, std::move(lwNN))); m_map_variables.insert(std::make_pair(jetauthor, nn_config.inputs)); m_map_defaults.insert(std::make_pair(jetauthor, nn_config.defaults)); diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx b/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx index 5ec87464342..daf271da48c 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "GaudiKernel/IToolSvc.h" @@ -132,7 +132,7 @@ namespace Analysis { if (m_forceMV2CalibrationAlias) { author = m_MV2CalibAlias; } - MVAUtils::BDT *bdt = nullptr; std::map<std::string, MVAUtils::BDT*>::iterator it_egammaBDT; + std::unique_ptr<MVAUtils::BDT> bdt(nullptr); std::map<std::string, const MVAUtils::BDT*>::iterator it_egammaBDT; //Retrieval of Calibration Condition Data objects SG::ReadCondHandle<JetTagCalibCondData> readCdo(m_readKey); @@ -169,12 +169,11 @@ namespace Analysis { if (tree) { ATH_MSG_DEBUG("#BTAG# TTree with name: "<<m_treeName<<" exists in the calibration file."); - bdt = new MVAUtils:: BDT(tree); + bdt = std::make_unique<MVAUtils::BDT>(tree); } else { ATH_MSG_WARNING("#BTAG# No TTree with name: "<<m_treeName<<" exists in the calibration file.. Disabling algorithm."); m_disableAlgo=true; - delete bdt; return; } @@ -189,20 +188,11 @@ namespace Analysis { if ( inputVars.size()!=nConfgVar or badVariableFound ) { ATH_MSG_WARNING("#BTAG# Number of expected variables for MVA: "<< nConfgVar << " does not match the number of variables found in the calibration file: " << inputVars.size() << " ... the algorithm will be 'disabled' "<<alias<<" "<<author); m_disableAlgo=true; - delete bdt; return; } bdt->SetPointers(inputPointers); - it_egammaBDT = m_egammaBDTs.find(alias); - if(it_egammaBDT!=m_egammaBDTs.end()) { - delete it_egammaBDT->second; - m_egammaBDTs.erase(it_egammaBDT); - } - m_egammaBDTs.insert( std::make_pair( alias, bdt ) ); - - // #2 fill inputs //replace NAN default values and, assign the values from the MVTM input map to the relevant variables //currently default values are hard coded in the definition of ReplaceNaN_andAssign() @@ -212,25 +202,12 @@ namespace Analysis { /* compute MV2: */ double mv2 = -10.; double mv2m_pb=-10., mv2m_pu=-10., mv2m_pc=-10.; - it_egammaBDT = m_egammaBDTs.find(alias); - if(it_egammaBDT==m_egammaBDTs.end()) { - int alreadyWarned = std::count(m_undefinedReaders.begin(),m_undefinedReaders.end(),alias); - if(0==alreadyWarned) { - ATH_MSG_WARNING("#BTAG# no egammaBDT defined for jet collection alias, author: "<<alias<<" "<<author); - m_undefinedReaders.push_back(alias); + if (m_taggerNameBase.find("MV2c")!=std::string::npos) mv2= GetClassResponse(bdt.get());//this gives back double + else { //if it is MV2m + std::vector<float> outputs= GetMulticlassResponse(bdt.get());//this gives back float + //vector size is checked in the function above + mv2m_pb=outputs[0]; mv2m_pu=outputs[1]; mv2m_pc=outputs[2] ; } - } - else { - if(it_egammaBDT->second !=0) { - if (m_taggerNameBase.find("MV2c")!=std::string::npos) mv2= GetClassResponse(it_egammaBDT->second);//this gives back double - else { //if it is MV2m - std::vector<float> outputs= GetMulticlassResponse(it_egammaBDT->second);//this gives back float - //vector size is checked in the function above - mv2m_pb=outputs[0]; mv2m_pu=outputs[1]; mv2m_pc=outputs[2] ; - } - } - else ATH_MSG_WARNING("#BTAG# egamma BDT is 0 for alias, author: "<<alias<<" "<<author); - } if (m_taggerNameBase.find("MV2c")!=std::string::npos) ATH_MSG_DEBUG("#BTAG# MV2 weight: " << mv2<<", "<<alias<<", "<<author); else ATH_MSG_DEBUG("#BTAG# MV2 pb, pu, pc= " << mv2m_pb<<"\t"<<mv2m_pu<<"\t"<<mv2m_pc<<", "<<alias<<", "<<author); -- GitLab From e200ae5564d253a8f8af558a687018e4363138ff Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Fri, 28 Sep 2018 13:36:14 +0200 Subject: [PATCH 177/209] Update common overlay algorithms for AthenaMT --- .../share/ConfiguredOverlay_jobOptions.py | 6 +- .../share/TruthOverlay_jobOptions.py | 15 +- .../OverlayCommonAlgs/CMakeLists.txt | 34 +-- .../python/OverlayCommonAlgsConfig.py | 51 ++++ .../python/OverlayCommonAlgsConfigDb.py | 8 + .../src/CopyJetTruthInfo.cxx | 59 ++++ .../OverlayCommonAlgs/src/CopyJetTruthInfo.h | 26 ++ .../src/CopyMcEventCollection.cxx | 285 ++++-------------- .../src/CopyMcEventCollection.h | 38 +-- .../OverlayCommonAlgs/src/CopyTimings.cxx | 74 +++-- .../OverlayCommonAlgs/src/CopyTimings.h | 24 +- .../OverlayCommonAlgs/src/CopyTruthInfo.cxx | 59 ---- .../OverlayCommonAlgs/src/CopyTruthInfo.h | 23 -- .../components/OverlayCommonAlgs_entries.cxx | 7 +- 14 files changed, 289 insertions(+), 420 deletions(-) create mode 100644 Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py create mode 100644 Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py create mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx create mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx delete mode 100644 Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py index 4a2ea488b33..7f139aba71f 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py @@ -5,13 +5,13 @@ include.block ( "EventOverlayJobTransforms/ConfiguredOverlay_jobOptions.py" ) # (modified by Piyali.Banerjee to include skip events) #-------------------------------------------------------------- +from AthenaCommon import CfgGetter from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() topSequence = job -if not isRealData: - from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyTimings - job += CopyTimings() +if not overlayFlags.isDataOverlay(): + job += CfgGetter.getAlgorithm("CopyTimings") #======================================================================= from AthenaCommon.AppMgr import ServiceMgr diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py index 059949007b2..34b015de7ea 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py @@ -1,15 +1,12 @@ include.block ( "EventOverlayJobTransforms/TruthOverlay_jobOptions.py" ) -# McEventCollection copying. Alghough logically it belongs to -# overlaying that is done later, it has to be scheduled before -# digitization algorithms as a workaround for bug #35465 +from AthenaCommon import CfgGetter from OverlayCommonAlgs.OverlayFlags import overlayFlags -from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyMcEventCollection -job += CopyMcEventCollection() -if overlayFlags.isDataOverlay(): - job.CopyMcEventCollection.RealData = True +# Copy McEventCollection +job += CfgGetter.getAlgorithm("CopyMcEventCollection") +# Copy jet truth if not overlayFlags.isDataOverlay(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyTruthInfo - job += CopyTruthInfo() + job += CfgGetter.getAlgorithm("CopyInTimeJetTruthInfo") + job += CfgGetter.getAlgorithm("CopyOutOfTimeJetTruthInfo") diff --git a/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt b/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt index ecd8fdd559c..e85bf9b4777 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt +++ b/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt @@ -9,50 +9,24 @@ atlas_subdir( OverlayCommonAlgs ) atlas_depends_on_subdirs( PUBLIC GaudiKernel PRIVATE - Event/xAOD/xAODEventInfo - Event/xAOD/xAODCnvInterfaces - Event/xAOD/xAODJet - Calorimeter/CaloSimEvent Control/AthenaBaseComps - Control/AthenaKernel - Control/PileUpTools Control/StoreGate - Database/PersistentDataModel - DetectorDescription/Identifier Event/ByteStreamCnvSvc Event/EventInfo Event/EventOverlay/OverlayAlgBase + Event/xAOD/xAODJet Generators/GeneratorObjects - InnerDetector/InDetRawEvent/InDetBCM_RawData - InnerDetector/InDetRawEvent/InDetRawData - InnerDetector/InDetRawEvent/InDetSimData - InnerDetector/InDetSimEvent - LArCalorimeter/LArRawEvent - LArCalorimeter/LArSimEvent - MuonSpectrometer/MuonDigitContainer - MuonSpectrometer/MuonRDO - MuonSpectrometer/MuonSimData - MuonSpectrometer/MuonSimEvent Reconstruction/RecEvent - Simulation/G4Sim/TrackRecord - TileCalorimeter/TileEvent - TileCalorimeter/TileSimEvent - Trigger/TrigConfiguration/TrigConfHLTData Trigger/TrigConfiguration/TrigConfInterfaces Trigger/TrigEvent/TrigSteeringEvent - Trigger/TrigT1/TrigT1CaloEvent - Trigger/TrigT1/TrigT1Interfaces Trigger/TrigT1/TrigT1Result ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - # Component(s) in the package: atlas_add_component( OverlayCommonAlgs src/*.cxx src/components/*.cxx - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel CaloSimEvent AthenaBaseComps AthenaKernel PileUpToolsLib StoreGateLib SGtests PersistentDataModel Identifier ByteStreamCnvSvcLib EventInfo OverlayAlgBase GeneratorObjects InDetBCM_RawData InDetRawData InDetSimData InDetSimEvent LArRawEvent LArSimEvent MuonDigitContainer MuonRDO MuonSimData MuonSimEvent RecEvent TileEvent TileSimEvent TrigConfHLTData TrigSteeringEvent TrigT1CaloEventLib TrigT1Interfaces TrigT1Result xAODJet ) + LINK_LIBRARIES GaudiKernel AthenaBaseComps StoreGateLib OverlayAlgBase EventInfo GeneratorObjects RecEvent xAODJet + TrigSteeringEvent TrigT1Result ) # Install files from the package: -atlas_install_python_modules( python/__init__.py python/OverlayFlags.py ) +atlas_install_python_modules( python/*.py ) diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py new file mode 100644 index 00000000000..5fe03892516 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py @@ -0,0 +1,51 @@ +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon import CfgMgr + + +def getCopyInTimeJetTruthInfo(name="CopyInTimeJetTruthInfo", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+InTimeAntiKt4TruthJets") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+InTimeAntiKt4TruthJets") + + return CfgMgr.CopyJetTruthInfo(name, **kwargs) + + +def getCopyOutOfTimeJetTruthInfo(name="CopyOutOfTimeJetTruthInfo", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+OutOfTimeAntiKt4TruthJets") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+OutOfTimeAntiKt4TruthJets") + + return CfgMgr.CopyJetTruthInfo(name, **kwargs) + + +def getCopyMcEventCollection(name="CopyMcEventCollection", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("RemoveBkgHardScatterTruth", True) + + if overlayFlags.isDataOverlay(): + # Disable background for data overlay + kwargs.setdefault("BkgInputKey", "") + else: + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+TruthEvent") + kwargs.setdefault("SignalInputKey", overlayFlags.evtStore() + "+TruthEvent") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+TruthEvent") + + return CfgMgr.CopyMcEventCollection(name, **kwargs) + + +def getCopyTimings(name="CopyTimings", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + if overlayFlags.isDataOverlay(): + # Disable background for data overlay + kwargs.setdefault("BkgInputKey", "") + else: + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+EVNTtoHITS_timings") + kwargs.setdefault("SignalInputKey", overlayFlags.evtStore() + "+EVNTtoHITS_timings") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+EVNTtoHITS_timings") + + return CfgMgr.CopyTimings(name, **kwargs) diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py new file mode 100644 index 00000000000..678ecc7649e --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py @@ -0,0 +1,8 @@ +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon.CfgGetter import addAlgorithm + +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyInTimeJetTruthInfo", "CopyInTimeJetTruthInfo") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyOutOfTimeJetTruthInfo", "CopyOutOfTimeJetTruthInfo") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyMcEventCollection", "CopyMcEventCollection") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyTimings", "CopyTimings") diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx new file mode 100644 index 00000000000..cfceee78a7b --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx @@ -0,0 +1,59 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "CopyJetTruthInfo.h" + +#include "xAODJet/JetAuxContainer.h" + + +CopyJetTruthInfo::CopyJetTruthInfo(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) {} + +StatusCode CopyJetTruthInfo::initialize() +{ + ATH_MSG_DEBUG("Initializing..."); + + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); + + return StatusCode::SUCCESS; +} + +StatusCode CopyJetTruthInfo::execute() +{ + ATH_MSG_DEBUG("execute() begin"); + + // Reading the input timings + ATH_MSG_VERBOSE("Retrieving input jets containers"); + + SG::ReadHandle<xAOD::JetContainer> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background jets container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Found background jets container " << bkgContainer.name() << " in store " << bkgContainer.store()); + + // Creating output jets container + SG::WriteHandle<xAOD::JetContainer> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<xAOD::JetContainer>(), std::make_unique<xAOD::JetAuxContainer>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output jet container " << outputContainer.name() << " to store " << outputContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Recorded output jet container " << outputContainer.name() << " in store " << outputContainer.store()); + + outputContainer->reserve(bkgContainer->size()); + + for (const xAOD::Jet *bkgJet : *bkgContainer.cptr()) { + xAOD::Jet *jet = new xAOD::Jet(); + outputContainer->push_back(jet); + *jet = *bkgJet; + } + + ATH_MSG_DEBUG("execute() end"); + return StatusCode::SUCCESS; +} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h new file mode 100644 index 00000000000..81fa3c91e84 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h @@ -0,0 +1,26 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H +#define OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "xAODJet/JetContainer.h" + +class CopyJetTruthInfo : public AthAlgorithm +{ +public: + + CopyJetTruthInfo(const std::string &name, ISvcLocator *pSvcLocator); + + virtual StatusCode initialize(); + virtual StatusCode execute(); + +private: + SG::ReadHandleKey<xAOD::JetContainer> m_bkgInputKey{ this, "BkgInputKey", "", "ReadHandleKey for Background Jet Containers" }; + SG::WriteHandleKey<xAOD::JetContainer> m_outputKey{ this, "OutputKey", "", "WriteHandleKey for Output Jet Containers" }; + +}; + +#endif // OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx index 68b4d8529ac..70dbc45fbec 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx @@ -1,273 +1,92 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// Andrei Gaponenko <agaponenko@lbl.gov>, 2008 -// Ketevi A. Assamagan, October 2009 - #include "CopyMcEventCollection.h" -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" -#include "GeneratorObjects/HijingEventParams.h" -//#include "IOVDbDataModel/IOVMetaDataContainer.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" -#include "EventInfo/EventID.h" - -#include "xAODEventInfo/EventInfo.h" -#include "xAODEventInfo/EventAuxInfo.h" -//#include "xAODEventInfo/EventInfoContainer.h" -//#include "xAODEventInfo/EventInfoAuxContainer.h" -#include <iostream> -#include <typeinfo> -//================================================================ -CopyMcEventCollection::CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateData2("StoreGateSvc/OriginalEvent2_SG", name), - m_cnvTool( "xAODMaker::EventInfoCnvTool/EventInfoCnvTool", this ) +CopyMcEventCollection::CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) { - declareProperty("InfoType", m_infoType="MyEvent"); - declareProperty("RealData", m_realdata=false); - declareProperty("DataStore2", m_storeGateData2, "help"); - declareProperty("CheckEventNumbers", m_checkeventnumbers=true); - declareProperty( "CnvTool", m_cnvTool ); declareProperty("RemoveBkgHardScatterTruth", m_removeBkgHardScatterTruth=true); } -//================================================================ -StatusCode CopyMcEventCollection::overlayInitialize() +StatusCode CopyMcEventCollection::initialize() { + ATH_MSG_DEBUG("Initializing..."); - if (m_storeGateData2.retrieve().isFailure()) { - ATH_MSG_FATAL("OverlayAlgBase::initialize): StoreGate[data2] service not found !"); - return StatusCode::FAILURE; - } - - CHECK( m_cnvTool.retrieve() );//get the conversion tool for making xAOD::EventInfo + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize(!m_bkgInputKey.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_signalInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); return StatusCode::SUCCESS; } -//================================================================ -StatusCode CopyMcEventCollection::overlayFinalize() +StatusCode CopyMcEventCollection::execute() { - return StatusCode::SUCCESS; -} + ATH_MSG_DEBUG("execute() begin"); -//================================================================ -StatusCode CopyMcEventCollection::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyMcEventCollection::execute() begin"<< endmsg; + // Reading the input containers + ATH_MSG_VERBOSE("Retrieving input containers"); - // Validate Event Info - if (m_checkeventnumbers) - { + const McEventCollection *bkgContainerPtr = nullptr; + if (!m_bkgInputKey.key().empty()) { + SG::ReadHandle<McEventCollection> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background McEventCollection container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + bkgContainerPtr = bkgContainer.cptr(); - const EventInfo* mcEvtInfo = 0; - if (m_storeGateMC->retrieve(mcEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from MC store: " - << " event " << mcEvtInfo->event_ID()->event_number() - << " run " << mcEvtInfo->event_ID()->run_number() - << " timestamp " << mcEvtInfo->event_ID()->time_stamp() - << " lbn " << mcEvtInfo->event_ID()->lumi_block() - << " bcid " << mcEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << mcEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << mcEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << mcEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << mcEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << mcEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << mcEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << mcEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << mcEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateMC->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from MC store "<< endmsg; - } - - const EventInfo* dataEvtInfo = 0; - if (m_storeGateData->retrieve(dataEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from Data store: " - << " event " << dataEvtInfo->event_ID()->event_number() - << " run " << dataEvtInfo->event_ID()->run_number() - << " timestamp " << dataEvtInfo->event_ID()->time_stamp() - << " lbn " << dataEvtInfo->event_ID()->lumi_block() - << " bcid " << dataEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << dataEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << dataEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << dataEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << dataEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << dataEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << dataEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << dataEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << dataEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateData->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from Data store "<< endmsg; + ATH_MSG_DEBUG("Found background McEventCollection container " << bkgContainer.name() << " in store " << bkgContainer.store()); } - if (m_realdata) - { - const EventInfo* data2EvtInfo = m_storeGateData2->tryConstRetrieve<EventInfo>(); - if (data2EvtInfo) { - log << MSG::INFO - << "Got EventInfo from Data2 store: " - << " event " << data2EvtInfo->event_ID()->event_number() - << " run " << data2EvtInfo->event_ID()->run_number() - << " timestamp " << data2EvtInfo->event_ID()->time_stamp() - << " lbn " << data2EvtInfo->event_ID()->lumi_block() - << " bcid " << data2EvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << data2EvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << data2EvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << data2EvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << data2EvtInfo->event_type()->mc_event_weight() - << " eventflags core " << data2EvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << data2EvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << data2EvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << data2EvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateData2->name() << endmsg; - } else { - log << MSG::INFO << "Could not retrieve EventInfo from Data2 store "<< endmsg; - } - } - - const EventInfo* outEvtInfo = 0; - if (m_storeGateOutput->retrieve(outEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from Out store: " - << " event " << outEvtInfo->event_ID()->event_number() - << " run " << outEvtInfo->event_ID()->run_number() - << " timestamp " << outEvtInfo->event_ID()->time_stamp() - << " lbn " << outEvtInfo->event_ID()->lumi_block() - << " bcid " << outEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << outEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << outEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << outEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << outEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << outEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << outEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << outEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << outEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateOutput->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from Out store "<< endmsg; - } - - //Check consistency of output run/event with input runs/events - if (m_realdata && outEvtInfo->event_ID()->event_number() != dataEvtInfo->event_ID()->event_number()){ - log << MSG::ERROR << "Output event number doesn't match input data event number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->event_number() != mcEvtInfo->event_ID()->event_number()){ - log << MSG::WARNING << "Output event number doesn't match input MC event number!" << endmsg; - //return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->run_number() != dataEvtInfo->event_ID()->run_number()){ - log << MSG::ERROR << "Output run number doesn't match input data run number!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->run_number() != mcEvtInfo->event_ID()->run_number()){ - log << MSG::ERROR << "Output run number doesn't match input MC run number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->time_stamp() != dataEvtInfo->event_ID()->time_stamp()){ - log << MSG::ERROR << "Output time stamp doesn't match input data time stamp!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->time_stamp() != mcEvtInfo->event_ID()->time_stamp()){ - log << MSG::ERROR << "Output time stamp doesn't match input MC time stamp!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->lumi_block() != dataEvtInfo->event_ID()->lumi_block()){ - log << MSG::ERROR << "Output lbn doesn't match input data lbn!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->lumi_block() != mcEvtInfo->event_ID()->lumi_block()){ - log << MSG::ERROR << "Output lbn doesn't match input MC lbn!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->bunch_crossing_id() != dataEvtInfo->event_ID()->bunch_crossing_id()){ - log << MSG::ERROR << "Output bcid doesn't match input data bcid!" << endmsg; + SG::ReadHandle<McEventCollection> signalContainer(m_signalInputKey); + if (!signalContainer.isValid()) { + ATH_MSG_ERROR("Could not get signal McEventCollection container " << signalContainer.name() << " from store " << signalContainer.store()); return StatusCode::FAILURE; } - if (outEvtInfo->event_type()->mc_channel_number() != mcEvtInfo->event_type()->mc_channel_number()){ - log << MSG::ERROR << "Output MC channel number doesn't match input MC channel number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_type()->mc_event_number() != mcEvtInfo->event_type()->mc_event_number()){ - log << MSG::ERROR << "Output MC event number doesn't match input MC event number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_type()->mc_event_weight() != mcEvtInfo->event_type()->mc_event_weight()){ - log << MSG::ERROR << "Output MC event weight doesn't match input MC event weight!" << endmsg; + ATH_MSG_DEBUG("Found signal McEventCollection container " << signalContainer.name() << " in store " << signalContainer.store()); + + // Creating output RDO container + SG::WriteHandle<McEventCollection> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<McEventCollection>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output McEventCollection container " << outputContainer.name() << " to store " << outputContainer.store()); return StatusCode::FAILURE; } + ATH_MSG_DEBUG("Recorded output McEventCollection container " << outputContainer.name() << " in store " << outputContainer.store()); - } // m_checkeventnumbers - - - // - // Copy the McEventCollection - // - McEventCollection *newMcEvtColl = new McEventCollection; - - /** the signal is MC - so there muct be McEventCollection there */ - const McEventCollection *sigEvtColl = 0; - if (m_storeGateMC->retrieve(sigEvtColl, "TruthEvent").isFailure()) { - ATH_MSG_WARNING("Could not retrieve signal HepMC collection with key " << "TruthEvent"); - } else { - for (McEventCollection::const_iterator iEvt = sigEvtColl->begin(); iEvt != sigEvtColl->end(); ++iEvt) { - newMcEvtColl->push_back(new HepMC::GenEvent(**iEvt)); - } + // Copy signal GenEvents + for (McEventCollection::const_iterator it = signalContainer->begin(); it != signalContainer->end(); ++it) { + outputContainer->push_back(new HepMC::GenEvent(**it)); } - if (!m_realdata) { - /** retrieve McEventCollection from the background - if the background is real data, there there is no McEventCollection there - */ - const McEventCollection *bgEvtColl = 0; - if (m_storeGateData->retrieve(bgEvtColl, "TruthEvent").isFailure()) { - ATH_MSG_WARNING("Could not retrieve background HepMC collection with key " << "TruthEvent"); - } else { - McEventCollection::const_iterator iEvt = bgEvtColl->begin(); - if (m_removeBkgHardScatterTruth) { - ++iEvt; - } - for ( ; iEvt != bgEvtColl->end(); ++iEvt) { - newMcEvtColl->push_back(new HepMC::GenEvent(**iEvt)); - } + // Copy background GenEvents if configured + if (!m_bkgInputKey.key().empty()) { + McEventCollection::const_iterator it = bkgContainerPtr->begin(); + if (m_removeBkgHardScatterTruth) { + ++it; + } + for ( ; it != bkgContainerPtr->end(); ++it) { + outputContainer->push_back(new HepMC::GenEvent(**it)); } - } //! m_realdata - - if ( m_storeGateOutput->record(newMcEvtColl, "TruthEvent").isFailure() ) { - ATH_MSG_ERROR("Could not add new HepMC collection with key " << "TruthEvent"); - return StatusCode::FAILURE; } - /** dump McEventCollection in debug mode to confirm everything is as expected */ + // dump McEventCollection in debug mode to confirm everything is as expected if (msgLvl(MSG::DEBUG)) { - if (! newMcEvtColl->empty()) { + if (!outputContainer->empty()) { ATH_MSG_DEBUG("McEventCollection contents:"); - for (McEventCollection::const_iterator iEvt = newMcEvtColl->begin(); iEvt != newMcEvtColl->end(); ++iEvt) { - const int signal_process_id((*iEvt)->signal_process_id()), - event_number((*iEvt)->event_number()); - ATH_MSG_DEBUG(" GenEvent #" << event_number << ", signal_process_id=" << signal_process_id); + for (const HepMC::GenEvent *event : *outputContainer) { + ATH_MSG_DEBUG(" GenEvent #" << event->event_number() << ", signal_process_id=" << event->signal_process_id()); } } } - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateOutput, &*m_storeGateMC); - copyAllObjectsOfType<CaloCalibrationHitContainer>(&*m_storeGateOutput, &*m_storeGateMC); - if (!m_realdata) {copyAllObjectsOfType<HijingEventParams>(&*m_storeGateOutput, &*m_storeGateData);} - - log << MSG::DEBUG << "CopyMcEventCollection::execute() end"<< endmsg; + ATH_MSG_DEBUG("execute() end"); return StatusCode::SUCCESS; } - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h index b3f51aa2cdb..fcc16d6c90c 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h @@ -1,39 +1,29 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// Dear emacs, this is -*-c++-*- - -// Copy McEventCollection in overlaying jobs. -// -// Andrei Gaponenko <agaponenko@lbl.gov>, 2008 - #ifndef OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H #define OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H -#include <string> +#include "AthenaBaseComps/AthAlgorithm.h" +#include "GeneratorObjects/McEventCollection.h" -#include "OverlayAlgBase/OverlayAlgBase.h" -#include "GaudiKernel/ToolHandle.h" -#include "xAODCnvInterfaces/IEventInfoCnvTool.h" - -class CopyMcEventCollection : public OverlayAlgBase { +class CopyMcEventCollection : public AthAlgorithm +{ public: - CopyMcEventCollection(const std::string &name,ISvcLocator *pSvcLocator); + CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator); + + virtual StatusCode initialize(); + virtual StatusCode execute(); - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); +private: + SG::ReadHandleKey<McEventCollection> m_bkgInputKey{ this, "BkgInputKey", "OriginalEvent_SG+TruthEvent", "ReadHandleKey for Background McEventCollection" }; + SG::ReadHandleKey<McEventCollection> m_signalInputKey{ this, "SignalInputKey", "BkgEvent_0_SG+TruthEvent", "ReadHandleKey for Signal McEventCollection" }; + SG::WriteHandleKey<McEventCollection> m_outputKey{ this, "OutputKey", "StoreGateSvc+TruthEvent", "WriteHandleKey for Output McEventCollection" }; -protected: - std::string m_infoType; - bool m_realdata; - bool m_checkeventnumbers; bool m_removeBkgHardScatterTruth; - ServiceHandle<StoreGateSvc> m_storeGateData2; - ToolHandle< xAODMaker::IEventInfoCnvTool > m_cnvTool; }; -#endif/*OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H*/ +#endif // OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx index 2665ef742e5..b20fa362626 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx @@ -1,45 +1,67 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ - #include "CopyTimings.h" -#include "RecEvent/RecoTimingObj.h" +CopyTimings::CopyTimings(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) {} -#include <iostream> -#include <typeinfo> +StatusCode CopyTimings::initialize() +{ + ATH_MSG_DEBUG("Initializing..."); -//================================================================ -CopyTimings::CopyTimings(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) {} + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize(!m_bkgInputKey.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_signalInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); -//================================================================ -StatusCode CopyTimings::overlayInitialize() -{ return StatusCode::SUCCESS; } -//================================================================ -StatusCode CopyTimings::overlayFinalize() +StatusCode CopyTimings::execute() { - return StatusCode::SUCCESS; -} + ATH_MSG_DEBUG("execute() begin"); + + // Reading the input timings + ATH_MSG_VERBOSE("Retrieving input timing containers"); + + const RecoTimingObj *bkgContainerPtr = nullptr; + if (!m_bkgInputKey.key().empty()) { + SG::ReadHandle<RecoTimingObj> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background timings container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + bkgContainerPtr = bkgContainer.cptr(); -//================================================================ -StatusCode CopyTimings::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyTimings::execute() begin"<< endmsg; + ATH_MSG_DEBUG("Found background timings container " << bkgContainer.name() << " in store " << bkgContainer.store()); + } + + SG::ReadHandle<RecoTimingObj> signalContainer(m_signalInputKey); + if (!signalContainer.isValid()) { + ATH_MSG_ERROR("Could not get signal timings container " << signalContainer.name() << " from store " << signalContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Found signal timings container " << signalContainer.name() << " in store " << signalContainer.store()); - std::auto_ptr<RecoTimingObj> ap(m_storeGateData->retrievePrivateCopy<RecoTimingObj>("EVNTtoHITS_timings")); - if (!m_storeGateOutput->record(ap, "EVNTtoHITS_timings").isSuccess()) { - log << MSG::ERROR << "problem recording object p=" << ap.get() << ", key=" << "EVNTtoHITS_timings" << endmsg; + // Creating output timings container + SG::WriteHandle<RecoTimingObj> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<RecoTimingObj>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output timings container " << outputContainer.name() << " to store " << outputContainer.store()); return StatusCode::FAILURE; } + ATH_MSG_DEBUG("Recorded output timings container " << outputContainer.name() << " in store " << outputContainer.store()); - log << MSG::DEBUG << "CopyTimings::execute() end"<< endmsg; + if (!m_bkgInputKey.key().empty()) { + outputContainer->insert(outputContainer->end(), bkgContainerPtr->begin(), bkgContainerPtr->end()); + } + outputContainer->insert(outputContainer->end(), signalContainer->begin(), signalContainer->end()); + + ATH_MSG_DEBUG("execute() end"); return StatusCode::SUCCESS; } - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h index fa9124bb5e0..a02ef48f371 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h @@ -1,23 +1,27 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef OVERLAYCOMMONALGS_COPYTIMINGS_H #define OVERLAYCOMMONALGS_COPYTIMINGS_H +#include "AthenaBaseComps/AthAlgorithm.h" +#include "RecEvent/RecoTimingObj.h" -#include <string> +class CopyTimings : public AthAlgorithm +{ +public: -#include "OverlayAlgBase/OverlayAlgBase.h" + CopyTimings(const std::string &name, ISvcLocator *pSvcLocator); -class CopyTimings : public OverlayAlgBase { -public: + virtual StatusCode initialize(); + virtual StatusCode execute(); - CopyTimings(const std::string &name,ISvcLocator *pSvcLocator); +private: + SG::ReadHandleKey<RecoTimingObj> m_bkgInputKey{ this, "BkgInputKey", "OriginalEvent_SG+EVNTtoHITS_timings", "ReadHandleKey for Background EVNTtoHITS Timings" }; + SG::ReadHandleKey<RecoTimingObj> m_signalInputKey{ this, "SignalInputKey", "BkgEvent_0_SG+EVNTtoHITS_timings", "ReadHandleKey for Signal EVNTtoHITS Timings" }; + SG::WriteHandleKey<RecoTimingObj> m_outputKey{ this, "OutputKey", "StoreGateSvc+EVNTtoHITS_timings", "WriteHandleKey for Output EVNTtoHITS Timings" }; - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); }; -#endif/*OVERLAYCOMMONALGS_COPYTIMINGS_H*/ +#endif // OVERLAYCOMMONALGS_COPYTIMINGS_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx deleted file mode 100644 index b14c3aea4ca..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "CopyTruthInfo.h" - -#include "xAODJet/JetAuxContainer.h" -#include "xAODJet/JetContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -CopyTruthInfo::CopyTruthInfo(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) {} - -//================================================================ -StatusCode CopyTruthInfo::overlayInitialize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyTruthInfo::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyTruthInfo::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyTruthInfo::execute() begin"<< endmsg; - - typedef std::vector<std::string> KeyList; - KeyList keys = m_storeGateData->keys<xAOD::JetContainer>(); - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - std::auto_ptr<xAOD::JetContainer> ap(m_storeGateData->retrievePrivateCopy<xAOD::JetContainer>(*k)); - log << MSG::DEBUG << "Working on p="<<ap.get()<<", key="<<*k << endmsg; - if(!m_storeGateOutput->record(ap, *k).isSuccess()) { - log << MSG::WARNING << "Problem recording object p="<<ap.get()<<", key="<<*k << endmsg; - } - } - - keys = m_storeGateData->keys<xAOD::JetAuxContainer>(); - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - std::auto_ptr<xAOD::JetAuxContainer> ap(m_storeGateData->retrievePrivateCopy<xAOD::JetAuxContainer>(*k)); - log << MSG::DEBUG << "Working on p="<<ap.get()<<", key="<<*k << endmsg; - if(!m_storeGateOutput->record(ap, *k).isSuccess()) { - log << MSG::WARNING << "Problem recording object p="<<ap.get()<<", key="<<*k << endmsg; - } - } - - log << MSG::DEBUG << "CopyObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h deleted file mode 100644 index e6748e51b60..00000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef OVERLAYCOMMONALGS_COPYTRUTHINFO_H -#define OVERLAYCOMMONALGS_COPYTRUTHINFO_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class CopyTruthInfo : public OverlayAlgBase { -public: - - CopyTruthInfo(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); -}; - -#endif/*OVERLAYCOMMONALGS_COPYTRUTHINFO_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index 65363d62b76..a1eeb59a684 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -1,12 +1,13 @@ +#include "../CopyJetTruthInfo.h" #include "../CopyMcEventCollection.h" #include "../CopyTimings.h" -#include "../CopyTruthInfo.h" + #include "../BSFilter.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" +DECLARE_COMPONENT( CopyJetTruthInfo ) DECLARE_COMPONENT( CopyMcEventCollection ) DECLARE_COMPONENT( CopyTimings ) -DECLARE_COMPONENT( CopyTruthInfo ) -DECLARE_COMPONENT( BSFilter ) +DECLARE_COMPONENT( BSFilter ) DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool ) -- GitLab From 421ee3029ffc77e7d41edf45db1ed285781dfea9 Mon Sep 17 00:00:00 2001 From: Walter Lampl <walter.lampl@cern.ch> Date: Thu, 8 Nov 2018 14:28:01 +0000 Subject: [PATCH 178/209] Update jobOptions for MT-compliant LAr conditions access in digi-jobs --- .../LArConditionsCommon_MC_jobOptions.py | 59 ++++++++++++------- .../python/LArADC2MeVCondAlgDefault.py | 8 +++ .../python/LArADC2MeVToolDefault.py | 1 + .../python/LArAutoCorrNoiseToolDefault.py | 2 +- .../python/LArAutoCorrTotalToolDefault.py | 1 + .../LArRecUtils/python/LArOFCToolDefault.py | 1 + .../src/LArAutoCorrTotalCondAlg.cxx | 10 ++-- .../LArRecUtils/src/LArOFCCondAlg.cxx | 4 +- 8 files changed, 57 insertions(+), 29 deletions(-) diff --git a/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py b/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py index 5bc9286529a..ea5653765f4 100755 --- a/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py +++ b/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py @@ -34,26 +34,39 @@ if svcMgr.MessageSvc.OutputLevel <= DEBUG : from IOVDbSvc.CondDB import conddb -larCondDBFolders = [("LArRampMC","/LAR/ElecCalibMC/Ramp"), - ("LArAutoCorrMC","/LAR/ElecCalibMC/AutoCorr"), - ("LArDAC2uAMC","/LAR/ElecCalibMC/DAC2uA"), - ("LArPedestalMC","/LAR/ElecCalibMC/Pedestal"), - ("LArNoiseMC","/LAR/ElecCalibMC/Noise"), - ("LArfSamplMC","/LAR/ElecCalibMC/fSampl"), - ("LAruA2MeVMC","/LAR/ElecCalibMC/uA2MeV"), - ("LArMinBiasMC","/LAR/ElecCalibMC/MinBias"), - ("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage") +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArDAC2uAMC_LArDAC2uASym_ as LArDAC2uASymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasAverageMC_LArMinBiasAverageSym_ as LArMinBiasAverageSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasMC_LArMinBiasSym_ as LArMinBiasSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArNoiseMC_LArNoiseSym_ as LArNoiseSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArRampMC_LArRampSym_ as LArRampSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArfSamplMC_LArfSamplSym_ as LArfSamplSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LAruA2MeVMC_LAruA2MeVSym_ as LAruA2MeVSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArAutoCorrMC_LArAutoCorrSym_ as LArAutoCorrSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArShape32MC_LArShape32Sym_ as LArShapeSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMphysOverMcalMC_LArMphysOverMcalSym_ as LArMPhysOverMcalSymAlg + +from LArRecUtils.LArMCSymCondAlg import LArMCSymCondAlgDefault + +larCondDBFolders = [("LArRampMC","/LAR/ElecCalibMC/Ramp","LArRamp", LArRampSymAlg ), + ("LArAutoCorrMC","/LAR/ElecCalibMC/AutoCorr","LArAutoCorr", LArAutoCorrSymAlg), + ("LArDAC2uAMC","/LAR/ElecCalibMC/DAC2uA","LArDAC2uA",LArDAC2uASymAlg), + ("LArPedestalMC","/LAR/ElecCalibMC/Pedestal","LArPedestal",None), + ("LArNoiseMC","/LAR/ElecCalibMC/Noise","LArNoise",LArNoiseSymAlg), + ("LArfSamplMC","/LAR/ElecCalibMC/fSampl","LArfSampl",LArfSamplSymAlg), + ("LAruA2MeVMC","/LAR/ElecCalibMC/uA2MeV","LAruA2MeV", LAruA2MeVSymAlg), + ("LArMinBiasMC","/LAR/ElecCalibMC/MinBias","LArMinBias",LArMinBiasSymAlg), + ("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage","LArMinBiasAverage",LArMinBiasAverageSymAlg) ] if larCondFlags.useMCShape(): - larCondDBFolders += [("LArShape32MC","/LAR/ElecCalibMC/Shape")] + larCondDBFolders += [("LArShape32MC","/LAR/ElecCalibMC/Shape","LArShape",LArShapeSymAlg)] include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" ) from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelCondAlg,LArBadFebCondAlg -larCondDBFolders += [("CondAttrListCollection","/LAR/BadChannels/BadChannels")] +conddb.addFolder(LArDB,"/LAR/BadChannels/BadChannels"+LArDBConnection, className="CondAttrListCollection") condSeq+=LArBadChannelCondAlg(ReadKey="/LAR/BadChannels/BadChannels") -larCondDBFolders += [("AthenaAttributeList","/LAR/BadChannels/MissingFEBs")] +conddb.addFolder(LArDB,"/LAR/BadChannels/MissingFEBs"+LArDBConnection, className="AthenaAttributeList") condSeq+=LArBadFebCondAlg(ReadKey="/LAR/BadChannels/MissingFEBs") condSeq+=LArBadFebCondAlg("LArKnownBadFebAlg",ReadKey="",WriteKey="LArKnownBadFEBs") @@ -62,21 +75,25 @@ condSeq+=LArBadFebCondAlg("LArKnownMNBFebAlg",ReadKey="",WriteKey="LArKnownMNBFE ## these may be conditional. if larCondFlags.hasMphys() : - larCondDBFolders += [("LArMphysOverMcalMC","/LAR/ElecCalibMC/MphysOverMcal")] + larCondDBFolders += [("LArMphysOverMcalMC","/LAR/ElecCalibMC/MphysOverMcal","LArMphysOverMcal",LArMPhysOverMcalSymAlg)] # HV Scale Corr if larCondFlags.hasHVCorr() : - larCondDBFolders += [ ('LArHVScaleCorrComplete', '/LAR/ElecCalibMC/HVScaleCorr') ] - + larCondDBFolders += [ ('LArHVScaleCorrComplete', '/LAR/ElecCalibMC/HVScaleCorr',"LArHVScaleCorr",None) ] + +LArMCSymCondAlgDefault() ## fill them all -for i in larCondDBFolders : - className = None - if type(i) == type(()): - className, i = i - conddb.addFolder(LArDB,i+LArDBConnection, className=className) +for className,fldr,key,calg in larCondDBFolders: + if calg is not None: + newkey=key+"Sym" + else: + newkey=key + conddb.addFolder(LArDB,fldr+LArDBConnection, className=className) ## allow override - larCondFlags.addTag(i,conddb) + larCondFlags.addTag(fldr,conddb) + if calg: + condSeq+=calg(ReadKey=key,WriteKey=newkey) ## apply hierarchical tag larCondFlags.addTag('/LAR/ElecCalibMC',conddb) diff --git a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py b/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py index fe409e34df6..551b7b98c79 100644 --- a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py @@ -27,9 +27,17 @@ def LArADC2MeVCondAlgDefault(): from LArConditionsCommon.LArCondFlags import larCondFlags if not larCondFlags.hasMphys(): theADC2MeVCondAlg.LArMphysOverMcalKey="" #No MphysOVerMcal + else: + theADC2MeVCondAlg.LArMphysOverMcalKey="LArMphysOverMcalSym" if not larCondFlags.hasHVCorr(): theADC2MeVCondAlg.LArHVScaleCorrKey="" + + theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym" + theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym" + theADC2MeVCondAlg.LArRampKey="LArRampSym" + + theADC2MeVCondAlg.UseFEBGainTresholds=False else: # not MC: from LArRecUtils.LArFEBConfigReaderDefault import LArFEBConfigReaderDefault diff --git a/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py index c9671f1fef2..763d697aaab 100644 --- a/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py @@ -10,6 +10,7 @@ from LArConditionsCommon.LArCondFlags import larCondFlags def LArADC2MeVToolDefault (name="LArADC2MeVToolDefault", **kw): mlog = logging.getLogger( 'LArADC2MeVToolDefault::__init__ ' ) + mlog.warning("The LArADC2MeVTool is deprecated! Use LArADC2MeVCondAlg!") #Check if the tool exits already in ToolSvc if hasattr(ServiceMgr.ToolSvc,name): mlog.info("LArADC2MeV Tool with name" + name + "already known to ToolSvc") diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py index 9c6b4a6bc7c..7736fe0b9b2 100644 --- a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py @@ -16,7 +16,7 @@ def LArAutoCorrNoiseToolDefault (name="LArAutoCorrNoiseToolDefault", **kw): mlog = logging.getLogger( 'LArAutoCorrNoiseToolDefault::__init__ ' ) mlog.info("entering") - + mlog.warning("The LArAutoCorrNoiseToolDefault is depricated. Please use LArAutoCorrNoiseCondAlg") # do the configuration if globalflags.DataSource()=='data': tool.MCSym = False diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py index 62f46c1d5ad..3b862059f36 100644 --- a/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py @@ -17,6 +17,7 @@ def LArAutoCorrTotalToolDefault (name="LArAutoCorrTotalToolDefault", **kw): mlog = logging.getLogger( 'LArAutoCorrTotalToolDefault::__init__ ' ) mlog.info("entering") + mlog.warning("LArAutoCorrTotalTool is deprecated. Please use LArAutoCorrCondAlg") # do the configuration if globalflags.DataSource()=='data': diff --git a/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py index 4724de1d008..ee76425ca62 100644 --- a/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py @@ -16,6 +16,7 @@ def LArOFCToolDefault (name="LArOFCToolDefault", **kw): mlog = logging.getLogger( 'LArOFCToolDefault::__init__ ' ) mlog.info("entering") + mlog.warning("The LArOFCTool is deprecated! Use LArOFCCondAlg!") # do the configuration if globalflags.DataSource()=='data': diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx index 9a35358bb17..1b47aa88e22 100644 --- a/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx @@ -18,12 +18,12 @@ LArAutoCorrTotalCondAlg::LArAutoCorrTotalCondAlg(const std::string &name, : ::AthAlgorithm(name, pSvcLocator), m_LArADC2MeVObjKey("LArADC2MeV"), m_LArOnOffIdMappingObjKey("LArOnOffIdMap"), - m_LArShapeObjKey("LArShape"), - m_LArAutoCorrObjKey("LArAutoCorr"), - m_LArNoiseObjKey("LArNoise"), + m_LArShapeObjKey("LArShapeSym"), + m_LArAutoCorrObjKey("LArAutoCorrSym"), + m_LArNoiseObjKey("LArNoiseSym"), m_LArPedestalObjKey("LArPedestal"), - m_LArfSamplObjKey("LArfSampl"), - m_LArMinBiasObjKey("LArMinBias"), + m_LArfSamplObjKey("LArfSamplSym"), + m_LArMinBiasObjKey("LArMinBiasSym"), m_LArAutoCorrTotalObjKey("LArAutoCorrTotal"), m_condSvc("CondSvc", name), m_Nminbias(0), m_NoPile(false), m_isMC(true), m_isSuperCell(false), m_useMixedOFCOpt(false), m_Nsamples(5), diff --git a/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx index 1c1cb9e496f..40e7f35a34d 100644 --- a/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx @@ -25,8 +25,8 @@ LArOFCCondAlg::LArOFCCondAlg(const std::string &name, ISvcLocator *pSvcLocator) : ::AthAlgorithm(name, pSvcLocator), m_LArOnOffIdMappingObjKey("LArOnOffIdMap"), - m_LArShapeObjKey("LArShape"), - m_LArNoiseObjKey("LArNoise"), + m_LArShapeObjKey("LArShapeSym"), + m_LArNoiseObjKey("LArNoiseSym"), m_LArPedestalObjKey("LArPedestal"), m_LArAutoCorrTotalObjKey("LArAutoCorrTotal"), m_LArOFCObjKey("LArOFC"), -- GitLab From e9d4e84fa3db6a1109208384994b3eaed5e7c8cf Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Thu, 8 Nov 2018 16:42:25 +0100 Subject: [PATCH 179/209] Fix and cleanup muon overlay configuration --- .../python/MuonByteStreamCnvTestConfig.py | 6 +- .../MuonOverlay/CscOverlay/CMakeLists.txt | 2 - .../CscOverlay/share/CscOverlay_jobOptions.py | 10 ---- .../MuonOverlay/MdtOverlay/CMakeLists.txt | 2 - .../MdtOverlay/share/MdtOverlay_jobOptions.py | 59 ------------------- .../MuonOverlay/RpcOverlay/CMakeLists.txt | 2 - .../RpcOverlay/share/RpcOverlay_jobOptions.py | 38 ------------ .../MuonOverlay/TgcOverlay/CMakeLists.txt | 2 - .../TgcOverlay/share/TgcOverlay_jobOptions.py | 33 ----------- 9 files changed, 3 insertions(+), 151 deletions(-) delete mode 100644 MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py delete mode 100644 MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py delete mode 100644 MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py delete mode 100644 MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py index 0ce76d65963..a9070f20eeb 100644 --- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py +++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py @@ -8,7 +8,7 @@ def getMdtRdoToMdtDigit(name="MdtRdoToMdtDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", False) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) @@ -24,7 +24,7 @@ def getRpcRdoToRpcDigit(name="RpcRdoToRpcDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", False) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) @@ -40,7 +40,7 @@ def getTgcRdoToTgcDigit(name="TgcRdoToTgcDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", True) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) diff --git a/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt index d73dbd629d7..209ee2b68ad 100644 --- a/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt @@ -33,6 +33,4 @@ atlas_add_component( CscOverlay # Install files from the package: atlas_install_headers( CscOverlay ) -atlas_install_joboptions( share/*.py ) atlas_install_python_modules( python/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py deleted file mode 100644 index 3ece6e4c3db..00000000000 --- a/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py +++ /dev/null @@ -1,10 +0,0 @@ -from Digitization.DigitizationFlags import digitizationFlags -from AthenaCommon.CfgGetter import getAlgorithm - -job += getAlgorithm("CscOverlay") -from OverlayCommonAlgs.OverlayFlags import overlayFlags -job.CscOverlay.DigitizationTool.OutputObjectName = overlayFlags.evtStore() + "+CSC_DIGITS" #private tool, so this should work -#job.CscOverlay.OutputLevel=VERBOSE -#svcMgr.MessageSvc.defaultLimit=100000 -print job.CscOverlay - diff --git a/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt index e166254db76..714d01b24f2 100644 --- a/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt @@ -27,5 +27,3 @@ atlas_add_component( MdtOverlay # Install files from the package: atlas_install_headers( MdtOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py deleted file mode 100644 index 4ca070b93c0..00000000000 --- a/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py +++ /dev/null @@ -1,59 +0,0 @@ -include.block ( "MdtOverlay/MdtOverlay_jobOptions.py" ) - -#from Digitization.DigitizationFlags import jobproperties -from AthenaCommon import CfgGetter -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -#MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( -# "MdtRdoToMdtDigit", -# DecodeMdtRDO = True, -# DecodeRpcRDO = False, -# DecodeTgcRDO = False, -# DecodeCscRDO = False ) -#ToolSvc += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -ToolSvc += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -#job += MdtRdoToMdtDigit() - -#include ( "MDT_Digitization/MdtDigitizationTool_jobOptions.py" ) - -#if readBS and isRealData: -# ToolSvc.MdtDigitizationTool.GetT0FromBD = True - -#t if readBS and isRealData: -#t if not hasattr(ToolSvc, 'Mdt_OverlayDigitizationTool'): -# t from AthenaCommon import CfgGetter -# t ToolSvc += CfgGetter.getPrivateTool("Mdt_OverlayDigitizationTool") - -#, checkType=True) - # ToolSvc.Mdt_OverlayDigitizationTool.GetT0FromBD = True - -#jobproperties.Digitization.rndmSeedList.addSeed("MDTResponse", 49261510,105132394 ) -#jobproperties.Digitization.rndmSeedList.addSeed("MDT_Digitization", 393242561, 857132381 ) - -#from AthenaCommon import CfgGetter -#from MdtOverlay.MdtOverlayConf import MdtOverlay -job += CfgGetter.getAlgorithm("MdtOverlay") -#job.MdtOverlay.mainInputMDT_Name = "MDT_DIGITS" -#job.MdtOverlay.overlayInputMDT_Name = "MDT_DIGITS" -#job.MdtOverlay.IntegrationWindow = 20 -#job.MdtOverlay.DigitizationTool = ToolSvc.Mdt_OverlayDigitizationTool -#job.MdtOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.MdtOverlay.DigitizationTool.EvtStore = job.MdtOverlay.MCStore -#job.MdtOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -#job.MdtOverlay.ConvertRDOToDigitTool.DataStore = job.MdtOverlay.DataStore - -#from OverlayCommonAlgs.OverlayFlags import overlayFlags -#if overlayFlags.doSignal==True: -# job.MdtOverlay.CopyObject = True - -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MdtDigitToMdtRDO -#job += MdtDigitToMdtRDO() -#job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore - - -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConfig import MdtDigitToMdtRDO -#job += MdtDigitToMdtRDO() -#job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore -#job += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MdtDigitToMdtRDO -job += MdtDigitToMdtRDO() -job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore diff --git a/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt index c8ec1ff30e0..4331f2a35e2 100644 --- a/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt @@ -27,5 +27,3 @@ atlas_add_component( RpcOverlay # Install files from the package: atlas_install_headers( RpcOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py deleted file mode 100644 index 2144ca2fb12..00000000000 --- a/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py +++ /dev/null @@ -1,38 +0,0 @@ -from Digitization.DigitizationFlags import jobproperties - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( - "RpcRdoToRpcDigit", - DecodeMdtRDO = False, - DecodeRpcRDO = True, - DecodeTgcRDO = False, - DecodeCscRDO = False ) -ToolSvc += MuonRdoToMuonDigitTool - -#old way -#include ( "RPC_Digitization/RpcDigitizationTool_jobOptions.py" ) -#jobproperties.Digitization.rndmSeedList.addSeed("RPC_Digitization", 49261510, 105132394 ) - -#new way -if not hasattr(ToolSvc, 'Rpc_OverlayDigitizationTool'): - from AthenaCommon import CfgGetter - RpcDigitizationTool = CfgGetter.getPrivateTool("Rpc_OverlayDigitizationTool") - -from RpcOverlay.RpcOverlayConf import RpcOverlay -job += RpcOverlay() -job.RpcOverlay.mainInputRPC_Name = "RPC_DIGITS" -job.RpcOverlay.overlayInputRPC_Name = "RPC_DIGITS" -job.RpcOverlay.DigitizationTool = RpcDigitizationTool -job.RpcOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.RpcOverlay.DigitizationTool.EvtStore = job.RpcOverlay.MCStore -job.RpcOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -job.RpcOverlay.ConvertRDOToDigitTool.DataStore = job.RpcOverlay.DataStore - -from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doSignal==True: - job.RpcOverlay.CopyObject = True - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import RpcDigitToRpcRDO -job += RpcDigitToRpcRDO() -job.RpcDigitToRpcRDO.Store = job.RpcOverlay.OutputStore - diff --git a/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt index 30550da984f..e1f04870376 100644 --- a/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt @@ -28,5 +28,3 @@ atlas_add_component( TgcOverlay # Install files from the package: atlas_install_headers( TgcOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py deleted file mode 100644 index 8c3ef3186ce..00000000000 --- a/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py +++ /dev/null @@ -1,33 +0,0 @@ -from Digitization.DigitizationFlags import jobproperties - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( - "TgcRdoToTgcDigit", - DecodeMdtRDO = False, - DecodeRpcRDO = False, - DecodeTgcRDO = True, - DecodeCscRDO = False ) -ToolSvc += MuonRdoToMuonDigitTool - -from AthenaCommon import CfgGetter - -from TgcOverlay.TgcOverlayConf import TgcOverlay -job += TgcOverlay() -job.TgcOverlay.mainInputTGC_Name = "TGC_DIGITS" -job.TgcOverlay.overlayInputTGC_Name = "TGC_DIGITS" -#job.TgcOverlay.DigitizationTool = CfgGetter.getPrivateTool("TgcDigitizationTool", checkType=True) -job.TgcOverlay.DigitizationTool = CfgGetter.getPrivateTool("Tgc_OverlayDigitizationTool") -job.TgcOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.TgcOverlay.DigitizationTool.EvtStore = job.TgcOverlay.MCStore -job.TgcOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -job.TgcOverlay.ConvertRDOToDigitTool.DataStore = job.TgcOverlay.DataStore - -from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doSignal==True: - job.TgcOverlay.CopyObject = True - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import TgcDigitToTgcRDO -job += TgcDigitToTgcRDO() -job.TgcDigitToTgcRDO.Store = job.TgcOverlay.OutputStore - - -- GitLab From f8bf138188a8bd650b65e34e5a5affb1b3d49048 Mon Sep 17 00:00:00 2001 From: Mark Hodgkinson <m.hodgkinson@sheffield.ac.uk> Date: Thu, 8 Nov 2018 16:31:21 +0000 Subject: [PATCH 180/209] Adjust interface of doMatches to take a non-const container pointer, such that we can remove the const_cast used inside the function. --- Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h | 2 +- Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h b/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h index 7c3c384bb50..3490b783c73 100644 --- a/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h +++ b/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h @@ -38,7 +38,7 @@ public: StatusCode finalize(); /** Get n clusters that matches best to a given track */ - std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, const eflowRecClusterContainer* clusters, int n); + std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, eflowRecClusterContainer* clusters, int n); std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, const std::vector<eflowRecCluster*> clusters, int n); private: diff --git a/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx b/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx index ec9d184a6a3..a4e6fbb02af 100644 --- a/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx +++ b/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx @@ -58,10 +58,10 @@ StatusCode PFTrackClusterMatchingTool::finalize() { return StatusCode::SUCCESS; } -std::vector<eflowRecCluster*> PFTrackClusterMatchingTool::doMatches(const eflowRecTrack* track, const eflowRecClusterContainer* clusters, int nMatches) { +std::vector<eflowRecCluster*> PFTrackClusterMatchingTool::doMatches(const eflowRecTrack* track, eflowRecClusterContainer* clusters, int nMatches) { std::vector<eflowRecCluster*> vec_clusters; for (unsigned int iCluster = 0; iCluster < clusters->size(); ++iCluster) { - eflowRecCluster* thisEFRecCluster = const_cast<eflowRecCluster*>(clusters->at(iCluster)); + eflowRecCluster* thisEFRecCluster = clusters->at(iCluster); vec_clusters.push_back(thisEFRecCluster); } const std::vector<eflowRecCluster*> const_clusters = vec_clusters; -- GitLab From 7343e88cf6124261996dc186c851367c4d0de282 Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Thu, 8 Nov 2018 18:03:34 +0100 Subject: [PATCH 181/209] L1Calo overlay StoreGate fixes for MC+MC overlay --- .../share/Level1Overlay_jobOptions.py | 3 ++- .../TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h | 3 --- .../TrigT1CaloSim/python/OverlayTTL1Config.py | 13 +++++++--- .../TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx | 26 +++++++++++-------- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py index 4c7d2ee3596..058ef7d7c98 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py @@ -36,7 +36,8 @@ if DetFlags.overlay.LVL1_on(): job.LArTTL1Maker.PileUp = True # If we are doing MC overlay if not overlayFlags.isDataOverlay(): - job.LArTTL1Maker.EvtStore = overlayFlags.evtStore() + job.LArTTL1Maker.EmTTL1ContainerName = overlayFlags.evtStore() + "+LArTTL1EM" + job.LArTTL1Maker.HadTTL1ContainerName = overlayFlags.evtStore() + "+LArTTL1HAD" if DetFlags.simulateLVL1.Tile_on(): include( "TileSimAlgs/TileTTL1_jobOptions.py" ) diff --git a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h index 73918d8eb67..f369e6041ae 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h +++ b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h @@ -64,9 +64,6 @@ public: StatusCode finalize(); private: - // Enable/disable Tile TTL1 overlay - bool m_enableTileTTL1Overlay; - // locations of background TTL1 data SG::ReadHandleKey<LArTTL1Container> m_bkgEmTTL1Key{this,"BkgEmTTL1Key","OriginalEvent_SG+LArTTL1EM","ReadHandleKey for Background Input EM LArTTL1Container"}; SG::ReadHandleKey<LArTTL1Container> m_bkgHadTTL1Key{this,"BkgHadTTL1Key","OriginalEvent_SG+LArTTL1HAD","ReadHandleKey for Background Input Had LArTTL1Container"}; diff --git a/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py b/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py index 87b05874609..015c45f76e5 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py +++ b/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py @@ -6,7 +6,7 @@ def getTTL1Overlay(name="OverlayTTL1", **kwargs): from OverlayCommonAlgs.OverlayFlags import overlayFlags # Tile TTL1 overlay is currently not needed as Tile trigger towers are created from the overlaid container - kwargs.setdefault("EnableTileTTL1Overlay", False) + enableTileTTL1Overlay = False kwargs.setdefault("BkgEmTTL1Key", overlayFlags.dataStore() + "+LArTTL1EM"); kwargs.setdefault("SignalEmTTL1Key", overlayFlags.evtStore() + "+LArTTL1EM"); @@ -16,8 +16,13 @@ def getTTL1Overlay(name="OverlayTTL1", **kwargs): kwargs.setdefault("SignalHadTTL1Key", overlayFlags.evtStore() + "+LArTTL1HAD"); kwargs.setdefault("OutputHadTTL1Key", overlayFlags.outputStore() + "+LArTTL1HAD"); - kwargs.setdefault("BkgTileTTL1Key", overlayFlags.dataStore() + "+TileTTL1Cnt"); - kwargs.setdefault("SignalTileTTL1Key", overlayFlags.evtStore() + "+TileTTL1Cnt"); - kwargs.setdefault("OutputTileTTL1Key", overlayFlags.outputStore() + "+TileTTL1Cnt"); + if enableTileTTL1Overlay: + kwargs.setdefault("BkgTileTTL1Key", overlayFlags.dataStore() + "+TileTTL1Cnt"); + kwargs.setdefault("SignalTileTTL1Key", overlayFlags.evtStore() + "+TileTTL1Cnt"); + kwargs.setdefault("OutputTileTTL1Key", overlayFlags.outputStore() + "+TileTTL1Cnt"); + else: + kwargs.setdefault("BkgTileTTL1Key", ""); + kwargs.setdefault("SignalTileTTL1Key", ""); + kwargs.setdefault("OutputTileTTL1Key", ""); return CfgMgr.LVL1__OverlayTTL1(name, **kwargs) diff --git a/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx b/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx index b27039427cd..5e2d74fcad9 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx +++ b/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx @@ -15,11 +15,7 @@ namespace LVL1 { OverlayTTL1::OverlayTTL1(const std::string& name, ISvcLocator* pSvcLocator) - : AthAlgorithm(name, pSvcLocator) - -{ - declareProperty("EnableTileTTL1Overlay", m_enableTileTTL1Overlay=false); -} + : AthAlgorithm(name, pSvcLocator) { } OverlayTTL1::~OverlayTTL1() {} @@ -29,17 +25,25 @@ StatusCode OverlayTTL1::initialize() // StoreGate keys ATH_CHECK( m_bkgEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgEmTTL1Key); ATH_CHECK( m_bkgHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgHadTTL1Key); ATH_CHECK( m_signalEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalEmTTL1Key); ATH_CHECK( m_signalHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalHadTTL1Key); ATH_CHECK( m_outputEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputEmTTL1Key); ATH_CHECK( m_outputHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputHadTTL1Key); - if (m_enableTileTTL1Overlay) { - ATH_CHECK( m_bkgTileTTL1Key.initialize() ); - ATH_CHECK( m_signalTileTTL1Key.initialize() ); - ATH_CHECK( m_outputTileTTL1Key.initialize() ); - } + // Tile can be disabled + ATH_CHECK( m_bkgTileTTL1Key.initialize(!m_bkgTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgTileTTL1Key); + ATH_CHECK( m_signalTileTTL1Key.initialize(!m_signalTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalTileTTL1Key); + ATH_CHECK( m_outputTileTTL1Key.initialize(!m_outputTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputTileTTL1Key); return StatusCode::SUCCESS; } @@ -50,7 +54,7 @@ StatusCode OverlayTTL1::execute() ATH_CHECK( overlayLArTTL1(m_bkgEmTTL1Key, m_signalEmTTL1Key, m_outputEmTTL1Key, "EM") ); ATH_CHECK( overlayLArTTL1(m_bkgHadTTL1Key, m_signalHadTTL1Key, m_outputHadTTL1Key, "Hadronic") ); - if (m_enableTileTTL1Overlay) { + if (!m_outputTileTTL1Key.key().empty()) { ATH_CHECK( overlayTileTTL1(m_bkgTileTTL1Key, m_signalTileTTL1Key, m_outputTileTTL1Key) ); } -- GitLab From 96175a5f240e92849e240cfd4ec581c0ca38c2fe Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Mon, 5 Nov 2018 16:13:47 +0100 Subject: [PATCH 182/209] AthenaServices: Fix clang warnings. Clang warnings: missing override keywords. --- Control/AthenaServices/src/AthenaOutputStream.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Control/AthenaServices/src/AthenaOutputStream.h b/Control/AthenaServices/src/AthenaOutputStream.h index f85aaa6968f..e10de58e2a8 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.h +++ b/Control/AthenaServices/src/AthenaOutputStream.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef ATHENASERVICES_ATHENAOUTPUTSTREAM_H @@ -140,9 +140,9 @@ public: /// \name implement IAlgorithm //@{ - virtual StatusCode initialize(); - virtual StatusCode finalize(); - virtual StatusCode execute(); + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; + virtual StatusCode execute() override; //@} /// Stream the data virtual StatusCode write(); @@ -157,10 +157,10 @@ public: return &m_objects; } /// Incident service handle listening for LastInputFile - void handle(const Incident& incident); + virtual void handle(const Incident& incident) override; /// Callback method to reinitialize the internal state of the component for I/O purposes (e.g. upon @c fork(2)) - virtual StatusCode io_reinit(); - virtual StatusCode io_finalize(); + virtual StatusCode io_reinit() override; + virtual StatusCode io_finalize() override; private: /// Add item data objects to output streamer list -- GitLab From 11ede2460d4867a6806aa2767bc2c8afbf19f12f Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 7 Nov 2018 18:22:04 +0100 Subject: [PATCH 183/209] TileByteStream: Add tests for BS coverters (reading). Add reading tests for the BS converters in this package. Not yet testing in MT mode. --- .../TileSvc/TileByteStream/CMakeLists.txt | 33 + .../TileBeamElemContByteStreamCnv_test.py | 109 +++ .../TileBeamElemContByteStreamCnv_test.ref | 696 +++++++++++++++++ .../share/TileDigitsContByteStreamCnv_test.py | 111 +++ .../TileDigitsContByteStreamCnv_test.ref | 698 +++++++++++++++++ .../share/TileL2ContByteStreamCnv_test.py | 107 +++ .../share/TileL2ContByteStreamCnv_test.ref | 697 +++++++++++++++++ .../share/TileLaserObjByteStreamCnv_test.py | 107 +++ .../share/TileLaserObjByteStreamCnv_test.ref | 695 +++++++++++++++++ .../share/TileMuRcvContByteStreamCnv_test.py | 107 +++ .../share/TileMuRcvContByteStreamCnv_test.ref | 699 ++++++++++++++++++ .../TileRawChannelContByteStreamCnv_test.py | 111 +++ .../TileRawChannelContByteStreamCnv_test.ref | 698 +++++++++++++++++ .../TileBeamElemContByteStreamCnv_test.sh | 9 + .../test/TileDigitsContByteStreamCnv_test.sh | 9 + .../test/TileL2ContByteStreamCnv_test.sh | 9 + .../test/TileLaserObjByteStreamCnv_test.sh | 9 + .../test/TileMuRcvContByteStreamCnv_test.sh | 9 + .../TileRawChannelContByteStreamCnv_test.sh | 9 + 19 files changed, 4922 insertions(+) create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py create mode 100644 TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh create mode 100755 TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh diff --git a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt index 397c0b6381a..003c19d5e0d 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt +++ b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt @@ -51,6 +51,39 @@ atlas_add_component( TileByteStream LINK_LIBRARIES TileByteStreamLib ) +set( extra_patterns "LArDetectorToolNV|is still valid|no data retrieved|Database being retired|Reading file|Unable to locate catalog|Resolved path|DigitizationFlags|^Domain|created CondCont|no dictionary for class|^ +[+]|Reading LArPedestalMC|IOV callback|^DetectorStore|TileDetectorTool|Creating TileCondProxyFile|Cache alignment|INFO opening|loading cache|start processing|done processing|WARNING ../MuRcvDigitsCnt|WARNING ../MuRcvRawChCnt|TileL2Builder initialization completed|Initializing TileMuRcvContByteStreamTool|filled inputFileSummary from file|Picked valid file" ) + +atlas_add_test( TileDigitsContByteStreamCnv_test + SCRIPT test/TileDigitsContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileRawChannelContByteStreamCnv_test + SCRIPT test/TileRawChannelContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileBeamElemContByteStreamCnv_test + SCRIPT test/TileBeamElemContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileL2ContByteStreamCnv_test + SCRIPT test/TileL2ContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileLaserObjByteStreamCnv_test + SCRIPT test/TileLaserObjByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileMuRcvContByteStreamCnv_test + SCRIPT test/TileMuRcvContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + + atlas_add_test( TileRawChannel2Bytes4_test SOURCES test/TileRawChannel2Bytes4_test.cxx LINK_LIBRARIES TileByteStreamLib ) diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py new file mode 100644 index 00000000000..9f317a6919c --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py @@ -0,0 +1,109 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileBeamElemContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileBeamElemContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +# FIXME: This file doesn't seem to actually contain BeamElem data ... +# however, i've not been able to find one that does. +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileBeamElemDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileBeamElemDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileBeamElemContainer/TileBeamElemCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileBeamElemDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileBeamElemDumper +topSequence += TileBeamElemDumper ('TileBeamElemCntDumper', + TileBeamElemContainer = 'TileBeamElemCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref new file mode 100644 index 00000000000..48eaa4c4040 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref @@ -0,0 +1,696 @@ +Thu Nov 8 04:24:29 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileBeamElemContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:25:01 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.57S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.67S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8390b00]+7f2c8477064c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8394200]+7f2c8477064c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18d90000]+7f2c8451c7ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18d90000]+7f2c8451c7ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.90 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 0.74 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.95 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 2.85 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.73 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.69 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 1.53 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.81 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 1.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.02 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.43 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 10.87 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 1.33 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 9.54 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.78 [s] Ave/Min/Max= 0.39(+- 0.37)/ 0.02/ 0.76 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.04 [s] Ave/Min/Max=0.0693(+-0.216)/ 0/ 0.86 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 29.4 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py new file mode 100644 index 00000000000..f8ae82c3f01 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py @@ -0,0 +1,111 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileDigitsContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileDigitsContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileDigitDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileDigitDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileDigitsContainer/TileDigitsCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileDigitDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileDigitsDumper +topSequence += TileDigitsDumper ('TileDigitsCntDumper', + TileDigitsContainer = 'TileDigitsCnt', + Prefix = dumpdir + '/') +topSequence += TileDigitsDumper ('MuRcvDigitsCntDumper', + TileDigitsContainer = 'MuRcvDigitsCnt', + AltTileDigitsContainer = 'TileDigitsCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref new file mode 100644 index 00000000000..f20a7363fd8 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref @@ -0,0 +1,698 @@ +Thu Nov 8 05:49:01 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileDigitsContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:49:24 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 2.19S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.73S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x85deb00]+7f4cabe1764c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x85e2200]+7f4cabe1764c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18fe2000]+7f4cabbc37ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18fe2000]+7f4cabbc37ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileDig... INFO Initializing TileDigitsContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 20 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.33 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 0.44 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 1.19 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 1.78 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 2.54 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.03 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 6.67 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.37 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 6.30 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileDig... INFO Finalizing TileDigitsContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.97 [s] Ave/Min/Max=0.485(+-0.465)/ 0.02/ 0.95 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.24 [s] Ave/Min/Max=0.0827(+-0.265)/ 0/ 1.06 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 32.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py new file mode 100644 index 00000000000..9b9d704ffac --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileL2ContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileL2ContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileL2Dumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileL2Dumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileL2Container/TileL2Cnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileL2Dumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileL2Dumper +topSequence += TileL2Dumper ('TileL2CntDumper', + TileL2Container = 'TileL2Cnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref new file mode 100644 index 00000000000..2de6316fcf5 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref @@ -0,0 +1,697 @@ +Thu Nov 8 05:38:48 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileL2ContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:39:22 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.63S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 4176Kb Time = 1.95S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7dd4b00]+7fe9d579d64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7dd8200]+7fe9d579d64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x187d4000]+7fe9d55497ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x187d4000]+7fe9d55497ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileL2C... INFO Initializing TileL2ContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 4.23 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 8.22 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 5.80 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 4.61 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 6.53 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 3.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 4.00 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 3.72 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 5.78 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 1.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 1.23 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 1.09 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 49.42 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 5.32 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 44.10 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.76 [s] Ave/Min/Max= 0.38(+- 0.36)/ 0.02/ 0.74 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.02 [s] Ave/Min/Max=0.068(+-0.209)/ 0/ 0.83 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 31.9 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py new file mode 100644 index 00000000000..e800ea846a3 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileLaserObjByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileLaserObjByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find reference and input files. +input_base = 'data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data' +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileLaserDumps') + input_fname = os.path.join (r, input_base) +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileLaserDumps')) + input_fname = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + input_base)) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileLaserObject/TileLaserObj', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileLaserDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileLaserObjectDumper +topSequence += TileLaserObjectDumper ('TileLaserObjectDumper', + TileLaserObject = 'TileLaserObj', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref new file mode 100644 index 00000000000..69f2a01f3c5 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref @@ -0,0 +1,695 @@ +Thu Nov 8 04:21:48 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileLaserObjByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2a (2018) cabling for run 363899 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:22:12 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2398 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.64S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.65S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2a (2018) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 5 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7a54b00]+7f7915d4164c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7a58200]+7f7915d4164c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18495000]+7f7915aed7ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18495000]+7f7915aed7ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 4423 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +ClassIDSvc INFO getRegistryEntries: read 691 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 363899 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO Updating TileBchStatus::isBadTiming() definition from DB +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #18124, run #363899 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO Updating TileBchStatus::isBadTiming() definition from DB +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +AthenaEventLoopMgr INFO ===>>> done processing event #18124, run #363899 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #18125, run #363899 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18125, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18126, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18126, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18127, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18127, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18128, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18128, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18129, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18129, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18130, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18130, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18131, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18131, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18132, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18132, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18133, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18133, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18134, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18134, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18135, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18135, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18136, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18136, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18137, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18137, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18138, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18138, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18139, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18139, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18140, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18140, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18141, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18141, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18142, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18142, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18143, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18143, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18144, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18144, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18145, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18145, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18146, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18146, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18147, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18147, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18148, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18148, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18149, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18149, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18150, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18150, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18151, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18151, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18152, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18152, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18153, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18153, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18154, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18154, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18155, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18155, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18156, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18156, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18157, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18157, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18158, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18158, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18159, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18159, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18160, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18160, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18161, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18161, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18162, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18162, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18163, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18163, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18164, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18164, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18165, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18165, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18166, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18166, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18167, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18167, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18168, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18168, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18169, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18169, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18170, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18170, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18171, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18171, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18172, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18172, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18173, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18173, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18174, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18174, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18175, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18175, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18176, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18176, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18177, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18177, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18178, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18178, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18179, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18179, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18180, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18180, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18181, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18181, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18182, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18182, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18183, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18183, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18184, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18184, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18185, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18185, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18186, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18186, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18187, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18187, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18188, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18188, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18189, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18189, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18190, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18190, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18191, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18191, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18192, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18192, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18193, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18193, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18194, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18194, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18195, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18195, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18196, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18196, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18197, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18197, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18198, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18198, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18199, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18199, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18200, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18200, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18201, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18201, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18202, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18202, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18203, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18203, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18204, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18204, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18205, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18205, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18206, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18206, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18207, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18207, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18208, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18208, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18209, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18209, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18210, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18210, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18211, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18211, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18212, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18212, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18213, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18213, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18214, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18214, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18215, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18215, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18216, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18216, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18217, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18217, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18218, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18218, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18219, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18219, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18220, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18220, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18221, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18221, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18222, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18222, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18223, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18223, run #363899 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.51 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104912 (( 0.21 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641536 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/43176 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.02 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.05 ))s +IOVDbSvc INFO Total payload read from COOL: 791501 bytes in (( 1.31 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.56 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 0.76 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.81 [s] Ave/Min/Max=0.405(+-0.395)/ 0.01/ 0.8 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.07 [s] Ave/Min/Max=0.0713(+-0.225)/ 0/ 0.9 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 24.9 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py new file mode 100644 index 00000000000..49c25665d3e --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileMuRcvContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileMuRcvContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find reference and input files. +input_base = 'data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data' +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileMuRcvDumps') + input_fname = os.path.join (r, input_base) +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileMuRcvDumps')) + input_fname = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + input_base)) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileMuonReceiverContainer/TileMuRcvCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileMuRcvDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileMuonReceiverDumper +topSequence += TileMuonReceiverDumper ('TileMuonReceiverDumper', + TileMuonReceiverContainer = 'TileMuRcvCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref new file mode 100644 index 00000000000..8dc3af21bb2 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref @@ -0,0 +1,699 @@ +Thu Nov 8 04:13:53 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileMuRcvContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:AthFile INFO opening [/afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data]... +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2a (2018) cabling for run 363899 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:14:15 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.6S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 4176Kb Time = 1.74S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2a (2018) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 5 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x80a0b00]+7f9fd2c9a64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x80a4200]+7f9fd2c9a64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18aa4000]+7f9fd2a467ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18aa4000]+7f9fd2a467ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 363899 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO Updating TileBchStatus::isBadTiming() definition from DB +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #18124, run #363899 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO Updating TileBchStatus::isBadTiming() definition from DB +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileMuR... INFO Initializing TileMuRcvContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #18124, run #363899 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #18125, run #363899 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18125, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18126, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18126, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18127, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18127, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18128, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18128, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18129, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18129, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18130, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18130, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18131, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18131, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18132, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18132, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18133, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18133, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18134, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18134, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18135, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18135, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18136, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18136, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18137, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18137, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18138, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18138, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18139, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18139, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18140, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18140, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18141, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18141, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18142, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18142, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18143, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18143, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18144, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18144, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18145, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18145, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18146, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18146, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18147, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18147, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18148, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18148, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18149, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18149, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18150, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18150, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18151, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18151, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18152, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18152, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18153, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18153, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18154, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18154, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18155, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18155, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18156, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18156, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18157, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18157, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18158, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18158, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18159, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18159, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18160, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18160, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18161, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18161, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18162, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18162, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18163, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18163, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18164, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18164, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18165, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18165, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18166, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18166, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18167, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18167, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18168, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18168, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18169, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18169, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18170, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18170, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18171, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18171, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18172, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18172, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18173, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18173, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18174, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18174, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18175, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18175, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18176, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18176, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18177, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18177, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18178, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18178, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18179, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18179, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18180, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18180, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18181, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18181, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18182, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18182, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18183, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18183, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18184, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18184, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18185, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18185, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18186, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18186, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18187, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18187, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18188, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18188, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18189, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18189, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18190, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18190, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18191, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18191, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18192, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18192, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18193, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18193, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18194, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18194, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18195, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18195, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18196, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18196, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18197, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18197, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18198, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18198, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18199, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18199, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18200, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18200, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18201, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18201, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18202, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18202, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18203, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18203, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18204, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18204, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18205, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18205, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18206, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18206, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18207, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18207, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18208, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18208, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18209, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18209, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18210, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18210, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18211, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18211, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18212, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18212, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18213, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18213, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18214, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18214, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18215, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18215, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18216, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18216, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18217, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18217, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18218, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18218, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18219, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18219, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18220, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18220, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18221, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18221, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18222, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18222, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18223, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18223, run #363899 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104912 (( 0.13 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641536 (( 0.17 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/43176 (( 5.55 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 1.48 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.13 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.04 ))s +IOVDbSvc INFO Total payload read from COOL: 791501 bytes in (( 8.09 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.13 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 7.96 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileMuR... INFO Finalizing TileMuRcvContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.83 [s] Ave/Min/Max=0.415(+-0.395)/ 0.02/ 0.81 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.11 [s] Ave/Min/Max=0.074(+- 0.23)/ 0/ 0.92 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 25.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py new file mode 100644 index 00000000000..de1f86c4a10 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py @@ -0,0 +1,111 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileRawChannelContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileRawChannelContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileRawChannelDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileRawChannelDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileRawChannelContainer/TileRawChannelCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileRawChannelDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileRawChannelDumper +topSequence += TileRawChannelDumper ('TileRawChannelCntDumper', + TileRawChannelContainer = 'TileRawChannelCnt', + Prefix = dumpdir + '/') +topSequence += TileRawChannelDumper ('MuRcvRawChannelCntDumper', + TileRawChannelContainer = 'MuRcvRawChCnt', + AltTileRawChannelContainer = 'TileRawChannelCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref new file mode 100644 index 00000000000..337a715ddff --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref @@ -0,0 +1,698 @@ +Thu Nov 8 05:42:29 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" +Py:Athena INFO executing ROOT6Setup +Py:Athena INFO including file "AthenaCommon/Execution.py" +Py:Athena INFO including file "TileByteStream/TileRawChannelContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:42:53 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : AthenaServices +ApplicationMgr INFO Application Manager Configured successfully +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +StatusCodeSvc INFO initialize +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.6S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 2S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8bdab00]+7fd05fddd64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8bde200]+7fd05fddd64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x195da000]+7fd05fb897ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x195da000]+7fd05fb897ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileRaw... INFO Initializing TileRawChannelContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 20 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.47 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 1.22 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 0.10 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.03 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.04 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 2.37 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.50 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 1.86 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileRaw... INFO Finalizing TileRawChannelContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.8 [s] Ave/Min/Max= 0.4(+- 0.39)/ 0.01/ 0.79 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.06 [s] Ave/Min/Max=0.0707(+-0.221)/ 0/ 0.88 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 44.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh new file mode 100755 index 00000000000..f49d7575b6e --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileBeamElemContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileBeamElemContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileBeamElemContByteStreamCnv_test.py +#diff -ur TileBeamElemDumps-0 TileBeamElemDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh new file mode 100755 index 00000000000..8255dbd7a7a --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileDigitsContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileDigitsContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileDigitsContByteStreamCnv_test.py +#diff -ur TileDigitDumps-0 TileDigitDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh new file mode 100755 index 00000000000..62c24fe9277 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileL2ContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileL2ContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileL2ContByteStreamCnv_test.py +#diff -ur TileL2Dumps-0 TileL2Dumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh new file mode 100755 index 00000000000..ea28ddddb5e --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileLaserObjByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileLaserObjByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileLaserObjByteStreamCnv_test.py +#diff -ur TileLaserDumps-0 TileLaserDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh new file mode 100755 index 00000000000..66031446af9 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileMuRcvContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileMuRcvContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileMuRcvContByteStreamCnv_test.py +#diff -ur TileMuRcvDumps-0 TileMuRcvDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh new file mode 100755 index 00000000000..b217d099728 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileRawChannelContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileRawChannelContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileRawChannelContByteStreamCnv_test.py +#diff -ur TileRawChannelDumps-0 TileRawChannelDumps-4 -- GitLab From 2d902ba5c542b7d19c35f33bd621420abb55d5cc Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 8 Nov 2018 17:28:28 +0100 Subject: [PATCH 184/209] DataModelRunTests: Update reference files. Fix test failures in master. --- .../share/ByteStreamTestRead.ref | 19 +- .../DataModelRunTests/share/xAODTestRead.ref | 205 +++++++----------- 2 files changed, 90 insertions(+), 134 deletions(-) diff --git a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref index 8c9e9787352..72f4c4d377d 100644 --- a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref @@ -1,21 +1,21 @@ -Wed Oct 31 18:56:37 CET 2018 +Thu Nov 8 03:53:46 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/51dc7da6a2d] -- built on [2018-10-31T1524] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Py:Athena INFO executing ROOT6Setup Py:Athena INFO including file "AthenaCommon/Execution.py" Py:Athena INFO including file "DataModelRunTests/ByteStreamTestRead_jo.py" Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" -Py:ConfigurableDb INFO Read module info for 5550 configurables from 52 genConfDb files +Py:ConfigurableDb INFO Read module info for 5556 configurables from 46 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "AthenaCommon/runbatch.py" [?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus087.cern.ch on Wed Oct 31 18:56:50 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus076.cern.ch on Thu Nov 8 03:54:04 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -49,15 +49,14 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-30T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus087.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus076.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.Byt... INFO Initializing MetaDataSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool','ByteStreamMetadataTool']) +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 ClassIDSvc INFO getRegistryEntries: read 3412 CLIDRegistry entries for module ALL TrigSerializeCn... INFO initialize() HistogramPersis...WARNING Histograms saving not required. @@ -1606,7 +1605,7 @@ EventInfoByteSt... INFO finalize PyComponentMgr INFO Finalizing PyComponentMgr... AthDictLoaderSvc INFO in finalize... ToolSvc INFO Removing all tools created by ToolSvc -MetaDataSvc.Byt... INFO in finalize() +ToolSvc.ByteStr... INFO in finalize() ToolSvc.TrigTSe... INFO ToolSvc.TrigTSerializer no problems encountered ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref index 07c2e76b657..7bc8524fdf1 100644 --- a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref @@ -1,12 +1,12 @@ -Wed Oct 31 22:42:44 CET 2018 +Thu Nov 8 04:02:04 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/51dc7da6a2d] -- built on [2018-10-31T2152] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Py:Athena INFO executing ROOT6Setup Py:Athena INFO including file "AthenaCommon/Execution.py" Py:Athena INFO including file "DataModelRunTests/xAODTestRead_jo.py" -Py:ConfigurableDb INFO Read module info for 5549 configurables from 55 genConfDb files +Py:ConfigurableDb INFO Read module info for 5556 configurables from 46 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" Py:Athena INFO including file "EventAthenaPool/EventAthenaPoolItemList_joboptions.py" @@ -16,8 +16,8 @@ Py:Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus066.cern.ch on Wed Oct 31 22:43:01 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus076.cern.ch on Thu Nov 8 04:02:22 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -34,14 +34,13 @@ AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version Athena PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-30T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus066.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus076.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:xAODTestRead_catalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector INFO reinitialization... EventSelector INFO EventSelection with query @@ -80,7 +79,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 1AA9ED5 Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ClassIDSvc INFO getRegistryEntries: read 2046 CLIDRegistry entries for module ALL @@ -114,11 +113,11 @@ HistogramPersis...WARNING Histograms saving not required. AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ApplicationMgr INFO Application Manager Started successfully @@ -127,25 +126,23 @@ AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromI AthenaEventLoopMgr INFO ===>>> start of run 0 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #0 0 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaCAux. and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaInputLoader INFO address0 0x2f81dd00 +MetaInputLoader INFO createMetaObj for MetaCAux. and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x2f70d900 MetaDataStore_ImplWARNING record_impl: Doing auto-symlinks for object with CLID 9723 and SG key MetaCAux.: Proxy already set for base CLID 187169987; not making auto-symlink. -MetaInputLoader INFO address1 0x2f81dd00 +MetaInputLoader INFO address1 0x2f70d900 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaS1 and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaInputLoader INFO address0 0x3e363e00 -MetaInputLoader INFO address1 0x3e363e00 +MetaInputLoader INFO createMetaObj for MetaS1 and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x43d00d00 +MetaInputLoader INFO address1 0x43d00d00 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaC and sid 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaInputLoader INFO address0 0x2f81ae00 -MetaInputLoader INFO address1 0x2f81ae00 +MetaInputLoader INFO createMetaObj for MetaC and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x2fa29700 +MetaInputLoader INFO address1 0x2fa29700 MetaInputLoader INFO Now have mcb with 1 entries ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL -MetaHandleKey INFO MetaCont found with key= MetaS1 DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -220,7 +217,7 @@ hview: 420.5 419.5 418.5 417.5 416.5 415.5 414.5 413.5 412.5 411.5 410.5 409.5 4 ClassIDSvc INFO getRegistryEntries: read 32 CLIDRegistry entries for module ALL DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain UPDATE [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] BFB72C05-1513-D247-89C4-F3357D571482 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] 5D76A6A3-0A74-C945-93AE-8CE7B91D3215 Domain[ROOT_All] INFO xaoddata2.root RootDatabase.open INFO xaoddata2.root File version:61404 StorageSvc INFO Building shape according to reflection information using shape ID for: @@ -236,20 +233,18 @@ StorageSvc INFO xAOD::ShallowAuxContainer [C63C39D7-9501-49DC-B1B0-6AD StorageSvc INFO Building shape according to reflection information using shape ID for: StorageSvc INFO xAOD::AuxContainerBase [C87C71B3-B03F-42FC-AF99-DF497F148397] ClassIDSvc INFO getRegistryEntries: read 18 CLIDRegistry entries for module ALL -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] 6F51F24E-9F40-9941-8EF5-675B697E26E0 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] D377F64B-6875-0D41-A87B-A42EF4325D45 Domain[ROOT_All] INFO xaoddata2b.root RootDatabase.open INFO xaoddata2b.root File version:61404 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #1, run #0 1 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -323,14 +318,12 @@ hview: 820.5 819.5 818.5 817.5 816.5 815.5 814.5 813.5 812.5 811.5 810.5 809.5 8 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #0 2 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #2, run #0 2 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -404,14 +397,12 @@ hview: 1220.5 1219.5 1218.5 1217.5 1216.5 1215.5 1214.5 1213.5 1212.5 1211.5 121 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #0 3 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #3, run #0 3 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -485,14 +476,12 @@ hview: 1620.5 1619.5 1618.5 1617.5 1616.5 1615.5 1614.5 1613.5 1612.5 1611.5 161 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #0 4 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #4, run #0 4 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -526,14 +515,12 @@ hview: 2020.5 2019.5 2018.5 2017.5 2016.5 2015.5 2014.5 2013.5 2012.5 2011.5 201 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #0 5 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #5, run #0 5 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -607,14 +594,12 @@ hview: 2420.5 2419.5 2418.5 2417.5 2416.5 2415.5 2414.5 2413.5 2412.5 2411.5 241 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #0 6 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #6, run #0 6 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -688,14 +673,12 @@ hview: 2820.5 2819.5 2818.5 2817.5 2816.5 2815.5 2814.5 2813.5 2812.5 2811.5 281 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #0 7 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #7, run #0 7 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -769,14 +752,12 @@ hview: 3220.5 3219.5 3218.5 3217.5 3216.5 3215.5 3214.5 3213.5 3212.5 3211.5 321 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #0 8 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #8, run #0 8 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -850,14 +831,12 @@ hview: 3620.5 3619.5 3618.5 3617.5 3616.5 3615.5 3614.5 3613.5 3612.5 3611.5 361 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #0 9 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #9, run #0 9 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -931,14 +910,12 @@ hview: 4020.5 4019.5 4018.5 4017.5 4016.5 4015.5 4014.5 4013.5 4012.5 4011.5 401 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #0 10 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #10, run #0 10 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1012,14 +989,12 @@ hview: 4420.5 4419.5 4418.5 4417.5 4416.5 4415.5 4414.5 4413.5 4412.5 4411.5 441 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #0 11 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #11, run #0 11 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1093,14 +1068,12 @@ hview: 4820.5 4819.5 4818.5 4817.5 4816.5 4815.5 4814.5 4813.5 4812.5 4811.5 481 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #0 12 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #12, run #0 12 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1174,14 +1147,12 @@ hview: 5220.5 5219.5 5218.5 5217.5 5216.5 5215.5 5214.5 5213.5 5212.5 5211.5 521 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #0 13 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #13, run #0 13 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1255,14 +1226,12 @@ hview: 5620.5 5619.5 5618.5 5617.5 5616.5 5615.5 5614.5 5613.5 5612.5 5611.5 561 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #0 14 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #14, run #0 14 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1336,14 +1305,12 @@ hview: 6020.5 6019.5 6018.5 6017.5 6016.5 6015.5 6014.5 6013.5 6012.5 6011.5 601 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #0 15 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #15, run #0 15 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1417,14 +1384,12 @@ hview: 6420.5 6419.5 6418.5 6417.5 6416.5 6415.5 6414.5 6413.5 6412.5 6411.5 641 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #0 16 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #16, run #0 16 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1498,14 +1463,12 @@ hview: 6820.5 6819.5 6818.5 6817.5 6816.5 6815.5 6814.5 6813.5 6812.5 6811.5 681 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #0 17 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #17, run #0 17 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1579,14 +1542,12 @@ hview: 7220.5 7219.5 7218.5 7217.5 7216.5 7215.5 7214.5 7213.5 7212.5 7211.5 721 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #0 18 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #18, run #0 18 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1660,14 +1621,12 @@ hview: 7620.5 7619.5 7618.5 7617.5 7616.5 7615.5 7614.5 7613.5 7612.5 7611.5 761 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #0 19 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #19, run #0 19 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 55D2B15E-697B-884F-8CA9-DBB4C0697969 -MetaHandleKey INFO MetaCont found with key= MetaS1 +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 -MetaHandleKey INFO MetaCont found with key= MetaC DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 @@ -1739,17 +1698,15 @@ cview: 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 hvec: 8001.5 8002.5 8003.5 8004.5 8005.5 8006.5 8007.5 8008.5 8009.5 8010.5 8011.5 8012.5 8013.5 8014.5 8015.5 8016.5 8017.5 8018.5 8019.5 8020.5 hview: 8020.5 8019.5 8018.5 8017.5 8016.5 8015.5 8014.5 8013.5 8012.5 8011.5 8010.5 8009.5 8008.5 8007.5 8006.5 8005.5 8004.5 8003.5 8002.5 8001.5 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #0 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() ClassIDSvc INFO getRegistryEntries: read 4 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 -Stream2 INFO AthenaOutputStream Stream2 ::stop() Stream2 INFO Records written: 21 xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 55D2B15E-697B-884F-8CA9-DBB4C0697969 +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A xaoddata2.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] BFB72C05-1513-D247-89C4-F3357D571482 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] 5D76A6A3-0A74-C945-93AE-8CE7B91D3215 xaoddata2b.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] 6F51F24E-9F40-9941-8EF5-675B697E26E0 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] D377F64B-6875-0D41-A87B-A42EF4325D45 Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize -- GitLab From d7d1674ea6106d92fcc8a9e34a2e1580bcc0e4af Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 6 Nov 2018 19:28:26 +0100 Subject: [PATCH 185/209] CaloEvent: Clang fix. The previous root workaround change causes a problem with clang, which doesn't seem to properly implement __attribute__((used)) for destructors. For clang, move the destructor completely out-of-line. (Trying to remove the destructor entirely resulted in a mysterious crash in TClass...). --- Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h | 6 +++++- Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h index 1a665a806a1..90c9f62b172 100644 --- a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h +++ b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef CALOEVENT_CALOCLUSTERMOMENTSTORE_H @@ -59,7 +59,11 @@ class CaloClusterMomentStore CaloClusterMomentIterator(moment_store_const_iter iStore) ATH_CLING_BODY (: m_actual(iStore) { } ) /*! \brief Destructor */ +#ifdef __clang__ + ~CaloClusterMomentIterator(); +#else ~CaloClusterMomentIterator() ATH_CLING_BODY( { } ) +#endif /*! \brief Iterator advance method */ CaloClusterMomentIterator next() diff --git a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx index 9e7a4e7374e..be405ef58c7 100644 --- a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx +++ b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -68,3 +68,8 @@ bool CaloClusterMomentStore::retrieveMomentTypes(moment_type_list& } return oldSize < rMomList.size(); } + + +#ifdef __clang__ +CaloClusterMomentStore::CaloClusterMomentIterator::~CaloClusterMomentIterator() {} +#endif -- GitLab From 2ed715e82b618771f57c2945a2b7103ac5cfe82e Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 7 Nov 2018 18:24:04 +0100 Subject: [PATCH 186/209] TrkExTools: Fix clang warning. Clang warning: missing override keyword. --- Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h index 4a69bc14d97..ca2e986c865 100755 --- a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h +++ b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h @@ -733,7 +733,7 @@ class Extrapolator : public AthAlgTool, ParticleHypothesis particle=pion) const; /** Access the subPropagator to the given volume*/ - const IPropagator* subPropagator(const TrackingVolume& tvol) const; + virtual const IPropagator* subPropagator(const TrackingVolume& tvol) const override; /** Access the subPropagator to the given volume*/ const IMaterialEffectsUpdator* subMaterialEffectsUpdator(const TrackingVolume& tvol) const; -- GitLab From 796aa3b5606958673674cbe4d895eae612f49629 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 7 Nov 2018 18:24:18 +0100 Subject: [PATCH 187/209] TrkGlobalChi2Fitter: Fix clang warning. Clang warning: Unused private member variable. --- .../TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h index cacb532f329..bc2828cfb38 100755 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ////////////////////////////////////////////////////////////////// @@ -128,7 +128,6 @@ namespace Trk { bool m_ownmb; bool m_ownfq; bool m_owncov; - bool m_ownder{}; bool m_measphi; Amg::Vector3D m_globpos; }; -- GitLab From 182925ae7ff68dec0fe284ae055c654f4870e943 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 7 Nov 2018 18:24:38 +0100 Subject: [PATCH 188/209] TrkVKalVrtCore: Fix clang warnings. Clang warnings: Unused private data member; bracing in initializers. --- .../TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h | 7 +++---- Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx | 5 ++--- Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx | 6 +++--- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h b/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h index d1f01818d9d..ffe195e4084 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* General magnetic field in any point access */ /* If external magnetic field handler is provided as */ @@ -10,8 +10,8 @@ /* */ /* Thread-safe implementation */ /*---------------------------------------------------------*/ -#ifndef _TrkVKalVrtCore_VKalVrtBMag_H -#define _TrkVKalVrtCore_VKalVrtBMag_H +#ifndef TRKVKALVRTCORE_VKALVRTBMAG_H +#define TRKVKALVRTCORE_VKALVRTBMAG_H namespace Trk { @@ -47,7 +47,6 @@ namespace Trk { private: const double m_cnstBMAG; const double m_vkalCnvMagFld; - const double m_mm; double m_saveXpos; double m_saveYpos; double m_saveZpos; diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx index 23300159d86..9638f14e7fa 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Create object vkalMagFld which containg magnetic field. @@ -18,8 +18,7 @@ namespace Trk { vkalMagFld::vkalMagFld(): m_cnstBMAG(1.997), /* Const mag. field in Tesla */ - m_vkalCnvMagFld(vkalMagCnvCst), /* Conversion constant is defined in CommonPars.h */ - m_mm(1.) + m_vkalCnvMagFld(vkalMagCnvCst) /* Conversion constant is defined in CommonPars.h */ { // vkalCnvMagFld = 0.0029979246; /* For GeV and cm and Tesla*/ diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx index 763a28d8f4e..fe6c02d023e 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Calculates COVF(21) - symmetric 6x6 covariance matrix @@ -28,7 +28,7 @@ int afterFit(VKVertex *vk, double *ader, double * dcv, double * ptot, double * V { int i,j; double px,py,pz,pt,invR,cth; - double verr[6][6]={0.}; //for (i=0; i<6*6; i++) verr[i]=0; + double verr[6][6]={{0.}}; //for (i=0; i<6*6; i++) verr[i]=0; int NTRK = vk->TrackList.size(); int NVar = NTRK*3+3; @@ -81,7 +81,7 @@ int afterFitWithIniPar(VKVertex *vk, double *ader, double * dcv, double * ptot, { int i,j; double px,py,pz,pt,invR,cth; - double verr[6][6]={0.}; + double verr[6][6]={{0.}}; int NTRK = vk->TrackList.size(); -- GitLab From 44f977beb8a67247f319d6a3c8b01fddd84cfcaa Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Wed, 7 Nov 2018 18:24:52 +0100 Subject: [PATCH 189/209] TileGeoG4SD: Fix clang warnings. clang warnings: Unconsistent use of struct/class. --- .../TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h b/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h index c61ae1f398c..61056970313 100644 --- a/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h +++ b/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILESDOPTIONS_h @@ -14,7 +14,9 @@ #include <string> #include <vector> -struct TileSDOptions { +class TileSDOptions +{ +public: /** Setup defaults */ TileSDOptions() : timeCut(350.5), -- GitLab From 810de26b02a29300195a85f7d895613cae40284c Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 8 Nov 2018 17:24:51 +0100 Subject: [PATCH 190/209] ByteStreamTest: Update test reference file. Fix test failure in master. --- .../share/ByteStreamTestMetaWrite.ref | 122 +++++++++--------- 1 file changed, 60 insertions(+), 62 deletions(-) diff --git a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref index 82e3b9602f7..cfea0267456 100644 --- a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref +++ b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref @@ -15,21 +15,20 @@ ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version Byte ByteStreamInputSvc DEBUG Service base class initialized successfully EventSelector INFO reinitialization... AthenaEventLoopMgr INFO Setup EventSelector service EventSelector -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector ByteStreamInputSvc DEBUG Recorded ByteStreamMetadata in InputMetadataStore ByteStreamInputSvc DEBUG run parameters = ByteStreamInputSvc DEBUG Number of Free meta data strings: 0 - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1038508 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot INVALID ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1324 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamAttLi... INFO ByteStreamAttListMetadataSvc::toBSMetadata ByteStreamAttLi... INFO Found RunEventTag in DetectorStore @@ -41,230 +40,229 @@ ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1000648 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec90000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d12000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 0 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1039848 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 965292 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 1 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 2040512 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1014472 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec7e000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x18146000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 2 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 3005820 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1104432 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ed76000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 3 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 4020308 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1037592 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d22000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 4 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 5124756 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1045524 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec90000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 5 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 6162364 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1126828 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ed90000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 6 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 7207904 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1074584 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e28000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 7 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 8334748 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1361908 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec9a000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 8 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 9409348 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1168392 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ede8000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d62000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 9 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 10771272 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1052428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 10 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 11939680 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1103056 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec94000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d16000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 11 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 12992124 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1110836 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eda2000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e24000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 12 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 14095196 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1058732 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 13 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 15206048 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1156428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ec96000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d18000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 14 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 16264796 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1093640 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2edb2000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e34000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 15 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 17421240 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1149620 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 16 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 18514896 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1051544 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2ecac000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d2e000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 17 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 19664532 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1050384 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x2eb92000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 18 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 20716092 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x2eb79040 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x2ea76120 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 -StreamBSFileOutput INFO AthenaOutputStream StreamBSFileOutput ::stop() ByteStreamInputSvc DEBUG Calling ByteStreamInputSvc::stop() ByteStreamEvent... INFO number of events written: 20 -- GitLab From 7664052ae974e9c702f4e9e6c98d81b9c219ea96 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 8 Nov 2018 17:17:32 +0100 Subject: [PATCH 191/209] AthenaPoolMultiTest: Update reference files. Fix test failures in master. --- .../share/AthenaPoolMultiTestCheckNull.ref | 3 +++ .../share/AthenaPoolMultiTestEventSplit.ref | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref index 119e565dbf5..9ad18527dfc 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref @@ -20,6 +20,8 @@ FullColl DEBUG In initialize FullColl DEBUG Found 'StoreName':StoreGateSvc store. FullColl.Regist... DEBUG Property update for OutputLevel : new value = 2 FullColl DEBUG Tool initialized +FullColl DEBUG Retrieved IncidentSvc +FullColl DEBUG Added MetaDataStop listener FullColl DEBUG Not class requested by Tool, skipping (40774348,"RunEventTag") FullColl DEBUG Not class requested by Tool, skipping (222376821,"*") FullColl DEBUG End initialize @@ -29,6 +31,7 @@ FullColl DEBUG Adding private ToolHandle tool FullColl.RegistrationSt FullColl DEBUG Data Deps for FullColl AthenaEventLoopMgr INFO Setup EventSelector service EventSelector EventSelector DEBUG Try item: "PFN:NullableCollection.root" from the collection list. +FullColl DEBUG handle() incident type: MetaDataStop FullColl.Regist... INFO Collection Events output: 0 FullColl.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:CheckNull.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref index 6c731e098d6..3f0f8677eb2 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref @@ -428,16 +428,11 @@ Splitter48 INFO EventInfo event: 19 run: 0 Splitter48 INFO L1 passed Triggered INFO EventInfo event: 19 run: 0 Triggered INFO L1 passed -Stream2 INFO AthenaOutputStream Stream2 ::stop() StorageSvc INFO EventStreamInfo_p3 [11DF1B8C-0DEE-4687-80D7-E74B520ACBB4] Stream2 INFO Records written: 8 -Stream1 INFO AthenaOutputStream Stream1 ::stop() Stream1 INFO Records written: 8 -Stream3 INFO AthenaOutputStream Stream3 ::stop() Stream3 INFO Records written: 6 -Others INFO AthenaOutputStream Others ::stop() Others INFO Records written: 2 -Bad INFO AthenaOutputStream Bad ::stop() Bad INFO Records written: 1 CollBit1.Regist... INFO Collection Events output: 7 CollBit1.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) -- GitLab From cb41f86058beaff815790836538a371a1fb033f8 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 7 Nov 2018 21:42:17 +0100 Subject: [PATCH 192/209] EventCommonTPCnv: Remove #define private. Fixes compilation with gcc8. --- .../EventCommonTPCnv/INav4MomAssocsCnv_p1.h | 6 +- .../src/HepLorentzVectorCnv_p1.cxx | 6 +- .../src/INav4MomAssocsCnv_p1.cxx | 45 +++++------ .../src/INav4MomAssocsCnv_p2.cxx | 74 +++++++++---------- .../src/INav4MomAssocsCnv_p3.cxx | 71 ++++++++---------- .../EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx | 22 +++--- .../EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx | 22 +++--- .../src/P4IPtCotThPhiMCnv_p1.cxx | 22 +++--- .../src/P4ImplEEtaPhiMCnv_p2.cxx | 22 +++--- .../src/P4ImplPtEtaPhiMCnv_p2.cxx | 22 +++--- .../src/P4PtEtaPhiMCnv_p1.cxx | 22 +++--- .../src/P4PtEtaPhiMCnv_p2.cxx | 22 +++--- .../EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx | 22 +++--- 13 files changed, 157 insertions(+), 221 deletions(-) diff --git a/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h b/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h index 9c0c409a4db..a3390c1e749 100755 --- a/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h +++ b/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p1.h @@ -21,11 +21,7 @@ #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INav4MomAssocs.h" -#undef private -#undef protected // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocs_p1.h" diff --git a/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx b/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx index b0918ae296a..496b694fefd 100644 --- a/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // HepLorentzVectorCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // CLHEP includes -#define private public -#define protected public #include "CLHEP/Vector/LorentzVector.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/HepLorentzVectorCnv_p1.h" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx index 3506494ad3a..42ec2c2f64a 100755 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p1.cxx @@ -17,11 +17,7 @@ #include "StoreGate/StoreGateSvc.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p1.h" @@ -45,6 +41,8 @@ INav4MomAssocsCnv_p1::persToTrans( const INav4MomAssocs_p1* persObj, INav4MomAssocs* transObj, MsgStream &log ) { + *transObj = INav4MomAssocs(); + log << MSG::DEBUG << "Loading INav4MomAssocs from persistent state..." << endmsg; @@ -67,7 +65,7 @@ INav4MomAssocsCnv_p1::persToTrans( const INav4MomAssocs_p1* persObj, << "] !!" << endmsg; } else { - transObj->m_assocStores[*itr] = link; + transObj->addAssocStore (link); } } @@ -141,28 +139,25 @@ INav4MomAssocsCnv_p1::transToPers( const INav4MomAssocs* transObj, << endmsg; // first store the underlying association stores - for ( std::map<std::string, DataLink<INav4MomAssocs> >::const_iterator itr = transObj->m_assocStores.begin(); - itr != transObj->m_assocStores.end(); - ++itr ) { - persObj->m_assocStores.push_back( itr->second.dataID() ); + for (const DataLink<INav4MomAssocs>& l : transObj->getAssocStores()) { + persObj->m_assocStores.push_back( l.dataID() ); } - const INav4MomAssocs::store_type& assocMap = transObj->m_associationMap; - - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr ) { - const INav4MomAssocs_p1::Elem_t objLink( itr->first.dataID(), itr->first.index() ); - const INav4MomAssocs::asso_store& assocs = itr->second; - - for ( unsigned int i = 0; i != assocs.size(); ++i ) { - const INav4MomAssocs_p1::Elem_t assLink( assocs.elementDataID(i), assocs.elementIndex(i) ); - const INav4MomAssocs_p1::ElemLink_t association( objLink, assLink ); - + INav4MomAssocs::object_iterator begObj = transObj->beginObject(); + INav4MomAssocs::object_iterator endObj = transObj->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomAssocs::object_link& key = begObj.getObjectLink(); + INav4MomAssocs_p1::Elem_t keyElem (key.dataID(), key.index()); + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + INav4MomAssocs_p1::Elem_t assoElem (asso.dataID(), asso.index()); + const INav4MomAssocs_p1::ElemLink_t association( keyElem, assoElem ); persObj->m_assocs.push_back( association ); - - }//> loop over associations - }//> loop over object links + } + } log << MSG::DEBUG << "Created persistent state of INav4MomAssocs [OK]" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx index ea33e9ca418..cef9648524f 100644 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p2.cxx @@ -16,12 +16,8 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INavigable4MomentumCollection.h" #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p2.h" @@ -52,33 +48,34 @@ INav4MomAssocsCnv_p2::persToTrans( const INav4MomAssocs_p2* pers, << "Loading INav4MomAssocs from persistent state..." << endmsg; + *trans = INav4MomAssocs(); + // retrieve underlying association stores - trans->m_assocStores.clear(); for ( INav4MomAssocs_p2::INav4MomStores_t::const_iterator i = pers->m_assocStores.begin(), iEnd = pers->m_assocStores.end(); i != iEnd; - ++i ) { - m_assocStoresCnv.persToTrans( &*i, &trans->m_assocStores[i->m_link], msg ); + ++i ) + { + IAssocStoresCnv_t::DLink_t dlink; + m_assocStoresCnv.persToTrans( &*i, &dlink, msg ); + trans->addAssocStore (dlink); } // reset element link converters, and provide container name lookup table m_inav4MomLinkCnv.resetForCnv(pers->m_contNames); - trans->m_associationMap.clear(); for ( std::size_t i = 0, iEnd = pers->m_assocs.size(); i != iEnd; ++i ) { const ElementLinkInt_p2& key = pers->m_assocs[i].first; const INav4MomAssocs_p2::ElemLinkVect_t& val = pers->m_assocs[i].second; INav4MomLink_t k; m_inav4MomLinkCnv.persToTrans( &key, &k, msg ); - trans->m_associationMap[k] = INav4MomAssocs::asso_store(); - trans->m_associationMap[k].reserve( val.size() ); for ( std::size_t j = 0, jEnd = val.size(); j != jEnd; ++j ) { INav4MomLink_t assocLink; m_inav4MomLinkCnv.persToTrans( &val[j], &assocLink, msg ); - trans->m_associationMap[k].push_back( assocLink ); + trans->addAssociation (k, assocLink); } } @@ -97,45 +94,40 @@ INav4MomAssocsCnv_p2::transToPers( const INav4MomAssocs* trans, << "Creating persistent state of INav4MomAssocs..." << endmsg; - pers->m_assocStores.resize( trans->m_assocStores.size() ); - std::size_t j = 0; // retrieve underlying association stores - for ( std::map<std::string, - INav4MomAssocs::INav4MomAssocsLink_t>::const_iterator - i = trans->m_assocStores.begin(), - iEnd = trans->m_assocStores.end(); - i != iEnd; - ++i,++j ) { - m_assocStoresCnv.transToPers( &i->second, - &pers->m_assocStores[j], msg ); + std::vector<DataLink<INav4MomAssocs> > assocStores = trans->getAssocStores(); + pers->m_assocStores.resize( assocStores.size() ); + std::size_t j = 0; + for (const DataLink<INav4MomAssocs>& l : assocStores) { + m_assocStoresCnv.transToPers( &l, &pers->m_assocStores[j], msg ); + ++j; } // reset element link converters, and provide container name lookup table m_inav4MomLinkCnv.resetForCnv(pers->m_contNames); - pers->m_assocs.resize( trans->m_associationMap.size() ); - const INav4MomAssocs::store_type& assocMap = trans->m_associationMap; j = 0; - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr,++j ) { - const INav4MomLink_t& key = itr->first; - const INav4MomAssocs::asso_store& assocs = itr->second; - const std::size_t iMax = assocs.size(); + pers->m_assocs.resize( trans->size() ); + INav4MomAssocs::object_iterator begObj = trans->beginObject(); + INav4MomAssocs::object_iterator endObj = trans->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomLink_t& key = begObj.getObjectLink(); INav4MomAssocs_p2::AssocElem_t& persAssoc = pers->m_assocs[j]; - - persAssoc.second.resize( iMax ); m_inav4MomLinkCnv.transToPers( &key, &persAssoc.first, msg ); + persAssoc.second.resize( begObj.getNumberOfAssociations() ); + + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + size_t i = 0; + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + m_inav4MomLinkCnv.transToPers( &asso, &persAssoc.second[i], msg ); + ++i; + } - - for ( unsigned int i = 0; i != iMax; ++i ) { - const INav4MomLink_t assLink( assocs.elementDataID(i), - assocs.elementIndex(i) ); - - m_inav4MomLinkCnv.transToPers( &assLink, &persAssoc.second[i], msg ); - - }//> loop over associations - }//> loop over object links + ++j; + } msg << MSG::DEBUG << "Created persistent state of INav4MomAssocs [OK]" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx index 4075d03c16e..be21d6ae42c 100755 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p3.cxx @@ -16,12 +16,8 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INavigable4MomentumCollection.h" #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p3.h" @@ -54,8 +50,9 @@ INav4MomAssocsCnv_p3::persToTrans( const INav4MomAssocs_p3* pers, { LOG_MSG(msg, MSG::DEBUG, "Loading INav4MomAssocs from persistent state..." ); + *trans = INav4MomAssocs(); + // retrieve underlying association stores - trans->m_assocStores.clear(); for ( INav4MomAssocs_p3::INav4MomStores_t::const_iterator i = pers->m_assocStores.begin(), iEnd = pers->m_assocStores.end(); @@ -63,23 +60,20 @@ INav4MomAssocsCnv_p3::persToTrans( const INav4MomAssocs_p3* pers, ++i ) { IAssocStoresCnv_t::DLink_t dlink; m_assocStoresCnv.persToTrans( &*i, &dlink, msg ); - trans->m_assocStores[ dlink.dataID() ] = dlink; + trans->addAssocStore (dlink); } - trans->m_associationMap.clear(); for ( std::size_t i = 0, iEnd = pers->m_assocs.size(); i != iEnd; ++i ) { const ElementLinkInt_p3& key = pers->m_assocs[i].first; const INav4MomAssocs_p3::ElemLinkVect_t& val = pers->m_assocs[i].second; INav4MomLink_t k; m_inav4MomLinkCnv.persToTrans( &key, &k, msg ); - trans->m_associationMap[k] = INav4MomAssocs::asso_store(); - trans->m_associationMap[k].reserve( val.size() ); for ( std::size_t j = 0, jEnd = val.size(); j != jEnd; ++j ) { INav4MomLink_t assocLink; m_inav4MomLinkCnv.persToTrans( &val[j], &assocLink, msg ); - trans->m_associationMap[k].push_back( assocLink ); + trans->addAssociation (k, assocLink); } } @@ -95,42 +89,37 @@ INav4MomAssocsCnv_p3::transToPers( const INav4MomAssocs* trans, { LOG_MSG(msg, MSG::DEBUG, "Creating persistent state of INav4MomAssocs..."); - pers->m_assocStores.resize( trans->m_assocStores.size() ); - std::size_t j = 0; // retrieve underlying association stores - for ( std::map<std::string, - INav4MomAssocs::INav4MomAssocsLink_t>::const_iterator - i = trans->m_assocStores.begin(), - iEnd = trans->m_assocStores.end(); - i != iEnd; - ++i,++j ) { - m_assocStoresCnv.transToPers( &i->second, - &pers->m_assocStores[j], msg ); + std::vector<DataLink<INav4MomAssocs> > assocStores = trans->getAssocStores(); + pers->m_assocStores.resize( assocStores.size() ); + std::size_t j = 0; + for (const DataLink<INav4MomAssocs>& l : assocStores) { + m_assocStoresCnv.transToPers( &l, &pers->m_assocStores[j], msg ); + ++j; } - pers->m_assocs.resize( trans->m_associationMap.size() ); - const INav4MomAssocs::store_type& assocMap = trans->m_associationMap; j = 0; - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr,++j ) { - const INav4MomLink_t& key = itr->first; - const INav4MomAssocs::asso_store& assocs = itr->second; - const std::size_t iMax = assocs.size(); + pers->m_assocs.resize( trans->size() ); + INav4MomAssocs::object_iterator begObj = trans->beginObject(); + INav4MomAssocs::object_iterator endObj = trans->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomLink_t& key = begObj.getObjectLink(); INav4MomAssocs_p3::AssocElem_t& persAssoc = pers->m_assocs[j]; - - persAssoc.second.resize( iMax ); m_inav4MomLinkCnv.transToPers( &key, &persAssoc.first, msg ); - - - for ( unsigned int i = 0; i != iMax; ++i ) { - const INav4MomLink_t assLink( assocs[i].key(), // assocs.elementDataID(i), - assocs.elementIndex(i) ); - - m_inav4MomLinkCnv.transToPers( &assLink, &persAssoc.second[i], msg ); - - }//> loop over associations - }//> loop over object links + persAssoc.second.resize( begObj.getNumberOfAssociations() ); + + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + size_t i = 0; + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + m_inav4MomLinkCnv.transToPers( &asso, &persAssoc.second[i], msg ); + ++i; + } + + ++j; + } LOG_MSG(msg, MSG::DEBUG, "Created persistent state of INav4MomAssocs [OK]"); return; diff --git a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx index 4f34ab7102f..2988045058e 100755 --- a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4EEtaPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4EEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4EEtaPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4EEtaPhiMCnv_p1::persToTrans( const P4EEtaPhiM_p1* persObj, P4EEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4EEtaPhiMCnv_p1::transToPers( const P4EEtaPhiM* transObj, P4EEtaPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx index e4a94d52708..df266017fc3 100755 --- a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4EEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4EEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4EEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4EEtaPhiMCnv_p2::persToTrans( const P4EEtaPhiMFloat_p2* persObj, P4EEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4EEtaPhiMCnv_p2::transToPers( const P4EEtaPhiM* transObj, P4EEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx index 4a6035b96eb..18911f0de9b 100755 --- a/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4IPtCotThPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4IPtCotThPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4IPtCotThPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4IPtCotThPhiMCnv_p1::persToTrans( const P4IPtCotThPhiM_p1* persObj, P4IPtCotThPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_iPt = (double)persObj->m_iPt; - transObj->m_cotTh = (double)persObj->m_cotTh; - transObj->m_phi = (double)persObj->m_phi; - transObj->m_m = (double)persObj->m_mass; + transObj->setIPt ((double)persObj->m_iPt); + transObj->setCotTh ((double)persObj->m_cotTh); + transObj->setPhi ((double)persObj->m_phi); + transObj->setM ((double)persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4IPtCotThPhiMCnv_p1::transToPers( const P4IPtCotThPhiM* transObj, P4IPtCotThPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_iPt = (float)transObj->m_iPt; - persObj->m_cotTh = (float)transObj->m_cotTh; - persObj->m_phi = (float)transObj->m_phi; - persObj->m_mass = (float)transObj->m_m; + persObj->m_iPt = (float)transObj->iPt(); + persObj->m_cotTh = (float)transObj->cotTh(); + persObj->m_phi = (float)transObj->phi(); + persObj->m_mass = (float)transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx index 0e0f00d45df..fbc723d1f29 100644 --- a/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4ImplEEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/Lib/P4ImplEEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4ImplEEtaPhiMCnv_p2::persToTrans( const P4EEtaPhiMFloat_p2* persObj, P4ImplEEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4ImplEEtaPhiMCnv_p2::transToPers( const P4ImplEEtaPhiM* transObj, P4EEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx index c5071c0c4f3..12cc3268f9c 100644 --- a/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4ImplPtEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/Lib/P4ImplPtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4ImplPtEtaPhiMCnv_p2::persToTrans( const P4PtEtaPhiMFloat_p2* persObj, P4ImplPtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = (double) persObj->m_pt; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_mass; + transObj->setPt ((double) persObj->m_pt); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4ImplPtEtaPhiMCnv_p2::transToPers( const P4ImplPtEtaPhiM* transObj, P4PtEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = (float) transObj->m_pt; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_mass = (float) transObj->m_m; + persObj->m_pt = (float) transObj->pt(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_mass = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx index 2d26f9071eb..236ff8ced59 100755 --- a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PtEtaPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PtEtaPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4PtEtaPhiMCnv_p1::persToTrans( const P4PtEtaPhiM_p1* persObj, P4PtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = persObj->m_pt; - transObj->m_eta = persObj->m_eta; - transObj->m_phi = persObj->m_phi; - transObj->m_m = persObj->m_mass; + transObj->setPt (persObj->m_pt); + transObj->setEta (persObj->m_eta); + transObj->setPhi (persObj->m_phi); + transObj->setM (persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4PtEtaPhiMCnv_p1::transToPers( const P4PtEtaPhiM* transObj, P4PtEtaPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = transObj->m_pt; - persObj->m_eta = transObj->m_eta; - persObj->m_phi = transObj->m_phi; - persObj->m_mass = transObj->m_m; + persObj->m_pt = transObj->pt(); + persObj->m_eta = transObj->eta(); + persObj->m_phi = transObj->phi(); + persObj->m_mass = transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx index c5697dedb3e..daa16004c65 100755 --- a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PtEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PtEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4PtEtaPhiMCnv_p2::persToTrans( const P4PtEtaPhiMFloat_p2* persObj, P4PtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = (double) persObj->m_pt; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_mass; + transObj->setPt ((double) persObj->m_pt); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4PtEtaPhiMCnv_p2::transToPers( const P4PtEtaPhiM* transObj, P4PtEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = (float) transObj->m_pt; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_mass = (float) transObj->m_m; + persObj->m_pt = (float) transObj->pt(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_mass = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx b/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx index fc2f746ed55..0ea8b437228 100755 --- a/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PxPyPzECnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PxPyPzE.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PxPyPzECnv_p1.h" @@ -44,10 +40,10 @@ P4PxPyPzECnv_p1::persToTrans( const P4PxPyPzE_p1* persObj, P4PxPyPzE* transObj, MsgStream &/*log*/ ) { - transObj->m_px = (double)persObj->m_px; - transObj->m_py = (double)persObj->m_py; - transObj->m_pz = (double)persObj->m_pz; - transObj->m_e = (double)persObj->m_ene; + transObj->setPx ((double)persObj->m_px); + transObj->setPy ((double)persObj->m_py); + transObj->setPz ((double)persObj->m_pz); + transObj->setE ((double)persObj->m_ene); return; } @@ -56,10 +52,10 @@ P4PxPyPzECnv_p1::transToPers( const P4PxPyPzE* transObj, P4PxPyPzE_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_px = (float)transObj->m_px; - persObj->m_py = (float)transObj->m_py; - persObj->m_pz = (float)transObj->m_pz; - persObj->m_ene = (float)transObj->m_e; + persObj->m_px = (float)transObj->px(); + persObj->m_py = (float)transObj->py(); + persObj->m_pz = (float)transObj->pz(); + persObj->m_ene = (float)transObj->e(); return; } -- GitLab From c19ac76b970f29973f3183170a6020158d64cd5c Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 06:07:38 +0100 Subject: [PATCH 193/209] EventCommonTPCnv: Add unit tests for tp converters. Add unit tests for tp converters. --- Event/EventCommonTPCnv/CMakeLists.txt | 32 +++++ .../share/EventCommonTPCnv_test.txt | 2 + .../share/HepLorentzVectorCnv_p1_test.ref | 2 + .../share/INav4MomAssocsCnv_p1_test.ref | 22 ++++ .../share/INav4MomAssocsCnv_p2_test.ref | 2 + .../share/INav4MomAssocsCnv_p3_test.ref | 2 + .../share/P4EEtaPhiMCnv_p1_test.ref | 2 + .../share/P4EEtaPhiMCnv_p2_test.ref | 2 + .../share/P4IPtCotThPhiMCnv_p1_test.ref | 2 + .../share/P4ImplEEtaPhiMCnv_p1_test.ref | 2 + .../share/P4ImplEEtaPhiMCnv_p2_test.ref | 2 + .../share/P4ImplPtEtaPhiMCnv_p1_test.ref | 2 + .../share/P4ImplPtEtaPhiMCnv_p2_test.ref | 2 + .../share/P4PtEtaPhiMCnv_p1_test.ref | 2 + .../share/P4PtEtaPhiMCnv_p2_test.ref | 2 + .../share/P4PxPyPzECnv_p1_test.ref | 2 + .../test/HepLorentzVectorCnv_p1_test.cxx | 55 +++++++++ .../test/INav4MomAssocsCnv_p1_test.cxx | 112 ++++++++++++++++++ .../test/INav4MomAssocsCnv_p2_test.cxx | 102 ++++++++++++++++ .../test/INav4MomAssocsCnv_p3_test.cxx | 102 ++++++++++++++++ .../test/P4EEtaPhiMCnv_p1_test.cxx | 57 +++++++++ .../test/P4EEtaPhiMCnv_p2_test.cxx | 57 +++++++++ .../test/P4IPtCotThPhiMCnv_p1_test.cxx | 57 +++++++++ .../test/P4ImplEEtaPhiMCnv_p1_test.cxx | 57 +++++++++ .../test/P4ImplEEtaPhiMCnv_p2_test.cxx | 57 +++++++++ .../test/P4ImplPtEtaPhiMCnv_p1_test.cxx | 57 +++++++++ .../test/P4ImplPtEtaPhiMCnv_p2_test.cxx | 57 +++++++++ .../test/P4PtEtaPhiMCnv_p1_test.cxx | 57 +++++++++ .../test/P4PtEtaPhiMCnv_p2_test.cxx | 57 +++++++++ .../test/P4PxPyPzECnv_p1_test.cxx | 57 +++++++++ 30 files changed, 1023 insertions(+) create mode 100644 Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt create mode 100644 Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref create mode 100644 Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref create mode 100644 Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref create mode 100644 Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx create mode 100644 Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx create mode 100644 Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx diff --git a/Event/EventCommonTPCnv/CMakeLists.txt b/Event/EventCommonTPCnv/CMakeLists.txt index 7d45e44f2cf..f087c64932e 100644 --- a/Event/EventCommonTPCnv/CMakeLists.txt +++ b/Event/EventCommonTPCnv/CMakeLists.txt @@ -42,3 +42,35 @@ atlas_add_dictionary( OLD_EventCommonTPCnvDict INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthLinks DataModelAthenaPoolLib AthenaPoolCnvSvcLib FourMom NavFourMom AthenaKernel StoreGateLib SGtests GaudiKernel EventCommonTPCnv ) + +# Helper variable for running the tests: +set( _jobOPath "${CMAKE_CURRENT_SOURCE_DIR}/share" ) +set( _jobOPath "${_jobOPath}:${CMAKE_JOBOPT_OUTPUT_DIRECTORY}" ) +set( _jobOPath "${_jobOPath}:$ENV{JOBOPTSEARCHPATH}" ) + +foreach( name + HepLorentzVectorCnv_p1_test + P4EEtaPhiMCnv_p1_test + P4EEtaPhiMCnv_p2_test + P4IPtCotThPhiMCnv_p1_test + P4ImplEEtaPhiMCnv_p1_test + P4ImplEEtaPhiMCnv_p2_test + P4ImplPtEtaPhiMCnv_p1_test + P4ImplPtEtaPhiMCnv_p2_test + P4PtEtaPhiMCnv_p1_test + P4PtEtaPhiMCnv_p2_test + P4PxPyPzECnv_p1_test + INav4MomAssocsCnv_p1_test + INav4MomAssocsCnv_p2_test + INav4MomAssocsCnv_p3_test + ) + + atlas_add_test( ${name} + SOURCES + test/${name}.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} TestTools EventCommonTPCnv + ENVIRONMENT "JOBOPTSEARCHPATH=${_jobOPath}" ) + +endforeach() + diff --git a/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt b/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt new file mode 100644 index 00000000000..52e74f3f396 --- /dev/null +++ b/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt @@ -0,0 +1,2 @@ +ApplicationMgr.DLLs += { "StoreGate", "CLIDComps" }; +ApplicationMgr.ExtSvc += { "StoreGateSvc" }; diff --git a/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref b/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref new file mode 100644 index 00000000000..ba69a00097f --- /dev/null +++ b/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref @@ -0,0 +1,2 @@ +HepLorentzVectorCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref new file mode 100644 index 00000000000..4fea7350231 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref @@ -0,0 +1,22 @@ +INav4MomAssocsCnv_p1_test + + +Initializing Gaudi ApplicationMgr using job opts ../share/EventCommonTPCnv_test.txt +JobOptionsSvc INFO # =======> /home/sss/atlas/dvtest/build/../tests/../share/EventCommonTPCnv_test.txt +JobOptionsSvc INFO # (1,1): ApplicationMgr.DLLs += ["StoreGate", "CLIDComps"] +JobOptionsSvc INFO # (2,1): ApplicationMgr.ExtSvc += ["StoreGateSvc"] +JobOptionsSvc INFO Job options successfully read in from ../share/EventCommonTPCnv_test.txt +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99) + running on karma on Wed Nov 7 22:22:56 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : StoreGate, CLIDComps +ApplicationMgr INFO Application Manager Configured successfully +ClassIDSvc INFO getRegistryEntries: read 1769 CLIDRegistry entries for module ALL +EventLoopMgr WARNING Unable to locate service "EventSelector" +EventLoopMgr WARNING No events will be processed from external input. +HistogramPersis...WARNING Histograms saving not required. +ApplicationMgr INFO Application Manager Initialized successfully +ApplicationMgr Ready +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref new file mode 100644 index 00000000000..4a784808ec4 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref @@ -0,0 +1,2 @@ +INav4MomAssocsCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref new file mode 100644 index 00000000000..fe004517216 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref @@ -0,0 +1,2 @@ +INav4MomAssocsCnv_p3_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref new file mode 100644 index 00000000000..1a009f9cb15 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4EEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref new file mode 100644 index 00000000000..f7290d8dc4a --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4EEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref new file mode 100644 index 00000000000..2b06ba74388 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4IPtCotThPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref new file mode 100644 index 00000000000..848e11604af --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4ImplEEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref new file mode 100644 index 00000000000..fbf93faf0db --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4ImplEEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref new file mode 100644 index 00000000000..6ace0ce31f7 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4ImplPtEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref new file mode 100644 index 00000000000..e32f2e60828 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4ImplPtEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref new file mode 100644 index 00000000000..1618beef378 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4PtEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref new file mode 100644 index 00000000000..a691f839fe1 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4PtEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref new file mode 100644 index 00000000000..e6b94dc5fd2 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref @@ -0,0 +1,2 @@ +P4PxPyPzECnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx new file mode 100644 index 00000000000..1827bab967f --- /dev/null +++ b/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/HepLorentzVectorCnv_p1.h" +#include "CLHEP/Vector/LorentzVector.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const CLHEP::HepLorentzVector& a1, + const CLHEP::HepLorentzVector& a2) +{ + assert (a1 == a2); +} + + +void testit (const CLHEP::HepLorentzVector& trans1) +{ + MsgStream log (0, "test"); + HepLorentzVectorCnv_p1 cnv; + HepLorentzVector_p1 pers; + cnv.transToPers (&trans1, &pers, log); + CLHEP::HepLorentzVector trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + CLHEP::HepLorentzVector trans1 (1, 2, 3, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "HepLorentzVectorCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx new file mode 100644 index 00000000000..6fed93a42b5 --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p1.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "TestTools/initGaudi.h" +#include "StoreGate/StoreGateSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "GaudiKernel/ServiceHandle.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1, StoreGateSvc* sg) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p1 cnv (sg); + INav4MomAssocs_p1 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + ServiceHandle<StoreGateSvc> sg ("StoreGateSvc", "test"); + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + assert (sg->record (in4mc, "in").isSuccess()); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + assert (sg->record (xn4mc, "xn").isSuccess()); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1, &*sg); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p1_test\n"; + + ISvcLocator* pSvcLoc; + if (!Athena_test::initGaudi("EventCommonTPCnv_test.txt", pSvcLoc)) { + std::cerr << "This test can not be run" << std::endl; + return 0; + } + + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx new file mode 100644 index 00000000000..61e396d3af5 --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p2.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "SGTools/TestStore.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p2 cnv; + INav4MomAssocs_p2 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (in4mc, "in"); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (xn4mc, "xn"); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p2_test\n"; + SGTest::initTestStore(); + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx new file mode 100644 index 00000000000..a545621778a --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p3.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "SGTools/TestStore.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p3 cnv; + INav4MomAssocs_p3 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (in4mc, "in"); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (xn4mc, "xn"); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p3_test\n"; + SGTest::initTestStore(); + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx new file mode 100644 index 00000000000..a1bd578cb39 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4EEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4EEtaPhiM& a1, + const P4EEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4EEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4EEtaPhiMCnv_p1 cnv; + P4EEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4EEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4EEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4EEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx new file mode 100644 index 00000000000..8107f534170 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4EEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4EEtaPhiM& a1, + const P4EEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4EEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4EEtaPhiMCnv_p2 cnv; + P4EEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4EEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4EEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4EEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx new file mode 100644 index 00000000000..777926da488 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4IPtCotThPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4IPtCotThPhiM& a1, + const P4IPtCotThPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.cotTh() == a2.cotTh()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4IPtCotThPhiM& trans1) +{ + MsgStream log (0, "test"); + P4IPtCotThPhiMCnv_p1 cnv; + P4IPtCotThPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4IPtCotThPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4IPtCotThPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4IPtCotThPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx new file mode 100644 index 00000000000..158272cfc4d --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplEEtaPhiM& a1, + const P4ImplEEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplEEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplEEtaPhiMCnv_p1 cnv; + P4ImplEEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplEEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplEEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplEEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx new file mode 100644 index 00000000000..1ba14709865 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplEEtaPhiM& a1, + const P4ImplEEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplEEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplEEtaPhiMCnv_p2 cnv; + P4EEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplEEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplEEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplEEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx new file mode 100644 index 00000000000..3a871a73021 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplPtEtaPhiM& a1, + const P4ImplPtEtaPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplPtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplPtEtaPhiMCnv_p1 cnv; + P4ImplPtEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplPtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplPtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplPtEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx new file mode 100644 index 00000000000..1a5ec310296 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplPtEtaPhiM& a1, + const P4ImplPtEtaPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplPtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplPtEtaPhiMCnv_p2 cnv; + P4PtEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplPtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplPtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplPtEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx new file mode 100644 index 00000000000..a6149e31c15 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PtEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PtEtaPhiM& a1, + const P4PtEtaPhiM& a2) +{ + assert (a1.pt() == a2.pt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4PtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4PtEtaPhiMCnv_p1 cnv; + P4PtEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4PtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PtEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx new file mode 100644 index 00000000000..076b088e9ad --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PtEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PtEtaPhiM& a1, + const P4PtEtaPhiM& a2) +{ + assert (a1.pt() == a2.pt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4PtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4PtEtaPhiMCnv_p2 cnv; + P4PtEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4PtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PtEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx new file mode 100644 index 00000000000..e9e5bdc0f4d --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PxPyPzECnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PxPyPzE& a1, + const P4PxPyPzE& a2) +{ + assert (a1.px() == a2.px()); + assert (a1.py() == a2.py()); + assert (a1.pz() == a2.pz()); + assert (a1.e() == a2.e()); +} + + +void testit (const P4PxPyPzE& trans1) +{ + MsgStream log (0, "test"); + P4PxPyPzECnv_p1 cnv; + P4PxPyPzE_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4PxPyPzE trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PxPyPzE trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PxPyPzECnv_p1_test\n"; + test1(); + return 0; +} -- GitLab From bb336c839968a73ff64a7cafcf3586c93145f9af Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 7 Nov 2018 21:44:23 +0100 Subject: [PATCH 194/209] NavFourMom: Add INav4MomAssocs::getAssocStores(). To be used in removing #define private in EventCommonTPCnv. --- Event/NavFourMom/NavFourMom/INav4MomAssocs.h | 5 ++++- Event/NavFourMom/src/INav4MomAssocs.cxx | 14 +++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Event/NavFourMom/NavFourMom/INav4MomAssocs.h b/Event/NavFourMom/NavFourMom/INav4MomAssocs.h index 79b6a639d38..421ce9507fa 100644 --- a/Event/NavFourMom/NavFourMom/INav4MomAssocs.h +++ b/Event/NavFourMom/NavFourMom/INav4MomAssocs.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocs.h @@ -114,6 +114,9 @@ class INav4MomAssocs : public AssociationMap< INavigable4MomentumCollection, */ void addAssocStore( const DataLink<INav4MomAssocs>& assocStore ); + /// Return links to all other association stores. + std::vector<DataLink<INav4MomAssocs> > getAssocStores() const; + /////////////////////////////////////////////////////////////////// // Protected data: /////////////////////////////////////////////////////////////////// diff --git a/Event/NavFourMom/src/INav4MomAssocs.cxx b/Event/NavFourMom/src/INav4MomAssocs.cxx index 86ec2bb3182..c3e1673edbf 100644 --- a/Event/NavFourMom/src/INav4MomAssocs.cxx +++ b/Event/NavFourMom/src/INav4MomAssocs.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -184,6 +184,18 @@ void INav4MomAssocs::addAssocStore( const DataLink<INav4MomAssocs>& assocStore ) } } + +std::vector<DataLink<INav4MomAssocs> > INav4MomAssocs::getAssocStores() const +{ + std::vector<DataLink<INav4MomAssocs> > ret; + ret.reserve (m_assocStores.size()); + for (const auto& p : m_assocStores) { + ret.push_back (p.second); + } + return ret; +} + + #ifdef __APPLE__ /////////////////////////////////////////////////////////////////// // Static template members: -- GitLab From 0c67baef34b95c78b649b72c805150906f7dd37e Mon Sep 17 00:00:00 2001 From: Emmanuel Le Guirriec <emmanuel.le.guirriec@cern.ch> Date: Thu, 8 Nov 2018 20:13:00 +0100 Subject: [PATCH 195/209] Fix q222 test --- .../BTagging/python/BTaggingConfiguration_LoadTools.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py index f4ae66c1c07..68d5cbfa77a 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py @@ -174,14 +174,17 @@ def SetupConditionAlgorithm(ConfInstance=None): return True + from AthenaCommon.GlobalFlags import globalflags from IOVDbSvc.CondDB import conddb if conddb.dbdata == 'COMP200': conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/BTagCalib/RUN12", className='CondAttrListCollection') - conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/TrigBTagCalib/RUN12", className='CondAttrListCollection') + if globalflags.DataSource()!='data': + conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/TrigBTagCalib/RUN12", className='CondAttrListCollection') elif conddb.isMC: conddb.addFolder("GLOBAL_OFL", "/GLOBAL/BTagCalib/RUN12", className='CondAttrListCollection') conddb.addFolder("GLOBAL_OFL", "/GLOBAL/TrigBTagCalib/RUN12", className='CondAttrListCollection') + if ConfInstance.checkFlagsUsingBTaggingFlags(): #IP2D grades= [ "0HitIn0HitNInExp2","0HitIn0HitNInExpIn","0HitIn0HitNInExpNIn","0HitIn0HitNIn", @@ -194,7 +197,6 @@ def SetupConditionAlgorithm(ConfInstance=None): #IP3D #Same as IP2D. Revisit JetTagCalibCondAlg.cxx if not. - from AthenaCommon.GlobalFlags import globalflags from JetTagCalibration.JetTagCalibrationConf import Analysis__JetTagCalibCondAlg as JetTagCalibCondAlg readkeycalibpath = "/GLOBAL/BTagCalib/RUN12" @@ -223,7 +225,7 @@ def SetupConditionAlgorithm(ConfInstance=None): JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = Taggers, channelAliases = BTaggingFlags.CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) #JetTagCalib.OutputLevel=2 condSeq += JetTagCalib - + return True -- GitLab From 931765d9024d6168f0b5108bdd2db60d7225e56e Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 20:31:37 +0100 Subject: [PATCH 196/209] xAODTracking: Specialize SG::Zero to avoid uninitialized fill() with Eigen. Eigen objects have the annoying property that the constructor does not initialize the object. Internally, DataVector can call fill() on an aux variable vector, passing a default-constructed instance. In the case that an Eigen object is used directly as an auxiliary variable, we can then get warnings about the use of uninitialized data. Specialize SG::Zero for Eigen::Matrix so that the instance gets fully initialized. --- Event/xAOD/xAODTracking/CMakeLists.txt | 1 + .../xAODTracking/TrackingPrimitives.h | 29 +++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Event/xAOD/xAODTracking/CMakeLists.txt b/Event/xAOD/xAODTracking/CMakeLists.txt index 76b33abd103..42cfbf213c4 100644 --- a/Event/xAOD/xAODTracking/CMakeLists.txt +++ b/Event/xAOD/xAODTracking/CMakeLists.txt @@ -18,6 +18,7 @@ endif() # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC + Control/CxxUtils Control/AthContainers Control/AthLinks DetectorDescription/GeoPrimitives diff --git a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h index a04109609e5..0f8cf6d6f76 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h +++ b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: xAODPrimitives.h 576255 2013-12-19 12:54:41Z emoyse $ @@ -9,7 +9,9 @@ #define XAODTRACKING_XAODPRIMITIVES_H // EDM include(s): -#include "EventPrimitives/EventPrimitives.h" +#include "EventPrimitives/EventPrimitives.h" +#include "AthContainers/tools/AuxDataTraits.h" +#include "CxxUtils/checker_macros.h" #ifndef AmgMatrixDef #define AmgMatrixDef @@ -419,4 +421,27 @@ namespace xAOD { } // namespace VxType } // namespace xAOD + +namespace SG { + + +// The default Matrix constructor does not initialize the matrix contents. +// Specialize this for Matrix, so that when fill() gets used inside DataVector, +// we'll fill with a fully initialized instance. +template <typename SCALAR, int ROWS, int COLS, int OPTIONS, int MAXROWS, int MAXCOLS> +struct Zero<Eigen::Matrix<SCALAR, ROWS, COLS, OPTIONS, MAXROWS, MAXCOLS> > +{ + typedef Eigen::Matrix<SCALAR, ROWS, COLS, OPTIONS, MAXROWS, MAXCOLS> Matrix; + static Matrix zero ATLAS_CHECK_THREAD_SAFETY () + { + Matrix m; + m.setZero(); + return m; + } +}; + + +} // namespace SG + + #endif // XAODTRACKING_XAODPRIMITIVES_H -- GitLab From 8a0e6dde2eab72a051569ca05d1f61863da6d836 Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Fri, 9 Nov 2018 02:18:33 +0000 Subject: [PATCH 197/209] Raise threshold to help SPOT investigate CPU increase --- .../InDetRecExample/share/InDetRecCaloSeededROISelection.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py index 8831f403ddf..f62a90cf52a 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py @@ -14,9 +14,9 @@ from egammaCaloTools import egammaCaloToolsConf egammaCaloClusterROISelector = ToolFactory( egammaCaloToolsConf.egammaCaloClusterSelector, name = 'caloClusterROISelector', egammaCheckEnergyDepositTool = egammaCheckEnergyDepositTool, - EMEtRanges = [1500.,2500.], - EMFCuts = [0.9,0.85], - RetaCut = [0.7,0.65] + EMEtRanges = [2500.], + EMFCuts = [0.87], + RetaCut = [0.65] ) # # --- get the builder tool -- GitLab From 427c32e68e800e177cee0c72f626301986fa1232 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Fri, 9 Nov 2018 08:33:02 +0100 Subject: [PATCH 198/209] test fine tuning --- Trigger/TrigSteer/TrigOutputHandling/share/test.txt | 1 + .../TrigSteer/TrigOutputHandling/test/void_record_test.cxx | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Trigger/TrigSteer/TrigOutputHandling/share/test.txt b/Trigger/TrigSteer/TrigOutputHandling/share/test.txt index e69de29bb2d..8c483aaab2d 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/share/test.txt +++ b/Trigger/TrigSteer/TrigOutputHandling/share/test.txt @@ -0,0 +1 @@ +StoreGateSvc.OutputLevel=0; diff --git a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx index 6685a2455e8..64e7bfab7e6 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx @@ -18,7 +18,7 @@ int main() { return 0; } assert(pSvcLoc); - MsgStream log(Athena::getMessageSvc(), "Holder_test"); + MsgStream log(Athena::getMessageSvc(), "void_record_test"); StoreGateSvc* pStore = 0; if( pSvcLoc->service("StoreGateSvc", pStore, true).isSuccess() ) { @@ -47,8 +47,9 @@ int main() { log << MSG::INFO << storeRT.Name() << endmsg; BareDataBucket storeDataBucket( rawStorePtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), storeRT ); - pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &containerDataBucket ), "test", false, false ); pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &storeDataBucket ), "testAux.", false, false ); + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &containerDataBucket ), "test", false, false ); + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeContainer>::ID(), "test") ) NOT_EXPECTED ( nullptr ); VALUE ( pStore->accessData( ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), "testAux.") ) NOT_EXPECTED ( nullptr ); -- GitLab From 3a9501f5aafa62102d6445a10560ff7b25ae146e Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Fri, 9 Nov 2018 09:40:52 +0100 Subject: [PATCH 199/209] fixed wong clid issue --- .../TrigOutputHandling/CMakeLists.txt | 2 +- .../TrigOutputHandling/src/BareDataBucket.h | 14 +++++++++---- .../test/void_record_test.cxx | 20 +++++++++++-------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt index 8c92b03e68d..d6bd030b531 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt @@ -44,5 +44,5 @@ atlas_add_test( void_record_test LINK_LIBRARIES ${Boost_LIBRARIES} xAODTrigger AthLinks AthenaKernel StoreGateLib GaudiKernel TestTools xAODCore ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" - EXTRA_PATTERNS "^ClassIDSvc *VERBOSE|added entry for CLID|no dictionary for class|when retrieved" + POST_EXEC_SCRIPT nopost.sh ) diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h index 00d3be05e20..f7fcbe2c1a5 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h @@ -17,8 +17,16 @@ public: ~BareDataBucket() { if ( m_own ) - delete [] static_cast<char*>( m_data ); + m_type.Destruct( m_data ); } + + // DataObject overrides + virtual const CLID& clID() const override { + return m_clid; + } + + // DataBuckedBase overrides + virtual void* object() override { return m_data; } @@ -40,9 +48,7 @@ public: } virtual DataBucketBase* clone() const override { - char* cloneData = new char[m_size]; - std::memcpy( cloneData, m_data, m_size ); - return new BareDataBucket( cloneData, m_size, m_clid, m_type ); + return nullptr; } virtual void relinquish() override { diff --git a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx index 64e7bfab7e6..cb5465f89c3 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx @@ -37,22 +37,26 @@ int main() { testContainer->at(0)->setDetail( "idetail", 7 ); testContainer->at(1)->setDetail( "fdetail", 2.5f ); void * rawContainerPtr = static_cast<void*>( testContainer ); - void * rawStorePtr = static_cast<void*>( testContainer ); + void * rawStorePtr = static_cast<void*>( aux ); + + SG::BaseInfo<xAOD::TrigCompositeContainer>::baseinfo(); // this is problematic because client code does not know about templates, will have to see in athena if the problem persists RootType contaierRT = RootType::ByName( "xAOD::TrigCompositeContainer_v1" ); log << MSG::INFO << contaierRT.Name() << endmsg; - BareDataBucket containerDataBucket( rawContainerPtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), contaierRT ); // size is ficticious in this test + BareDataBucket containerDataBucket( rawContainerPtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), contaierRT ); // size (second arg == 1) is ficticious in this test RootType storeRT = RootType::ByName( "xAOD::TrigCompositeAuxContainer_v1" ); log << MSG::INFO << storeRT.Name() << endmsg; - BareDataBucket storeDataBucket( rawStorePtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), storeRT ); + BareDataBucket storeDataBucket( rawStorePtr, 1, ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), storeRT ); - pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &storeDataBucket ), "testAux.", false, false ); pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &containerDataBucket ), "test", false, false ); + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &storeDataBucket ), "testAux.", false, false ); + + log << MSG::INFO << "recordObject done" << endmsg; - VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeContainer>::ID(), "test") ) NOT_EXPECTED ( nullptr ); - VALUE ( pStore->accessData( ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), "testAux.") ) NOT_EXPECTED ( nullptr ); + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeContainer>::ID(), "test" ) ) NOT_EXPECTED ( nullptr ); + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), "testAux." ) ) NOT_EXPECTED ( nullptr ); log << MSG::INFO << "objects in store, trying to read them back via rertieve" << endmsg; @@ -61,8 +65,8 @@ int main() { VALUE ( containerBack ) NOT_EXPECTED ( nullptr ); VALUE( containerBack->size() ) EXPECTED ( 2 ); - VALUE( containerBack->at(0)->getDetail<int32_t>("idetail") ) EXPECTED ( 7 ); - VALUE( containerBack->at(1)->getDetail<float>("fdetail") ) EXPECTED ( 2.5f ); + VALUE( containerBack->at(0)->getDetail<int32_t>( "idetail" ) ) EXPECTED ( 7 ); + VALUE( containerBack->at(1)->getDetail<float>( "fdetail" ) ) EXPECTED ( 2.5f ); log << MSG::INFO << "Container red back is identical" << endmsg; return 0; -- GitLab From cf26f25d76ed0641fe3f52b829a0fcc977b45d1d Mon Sep 17 00:00:00 2001 From: Carlo Varni <cvarni@lxplus027.cern.ch> Date: Fri, 9 Nov 2018 09:58:53 +0100 Subject: [PATCH 200/209] Update of Copyright statement --- .../TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h index 5bda03e6fa0..bb14da1dc65 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // ************************************************ -- GitLab From b19fcb02215757e93d6a7625057ae64f0e515740 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Fri, 9 Nov 2018 14:32:09 +0100 Subject: [PATCH 201/209] review fixes --- .../TrigOutputHandling/src/BareDataBucket.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h index f7fcbe2c1a5..27a67e1fb4d 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h @@ -12,10 +12,12 @@ class BareDataBucket: public DataBucketBase { public: + BareDataBucket() = delete; + BareDataBucket( void * data, size_t sz, CLID clid, const RootType& type ) : m_data(data), m_size(sz), m_clid(clid), m_type( type ){} - ~BareDataBucket() { + virtual ~BareDataBucket() { if ( m_own ) m_type.Destruct( m_data ); } @@ -58,11 +60,11 @@ public: virtual void lock() override { /*not lockable I think */ }; private: - void* m_data; - size_t m_size; - CLID m_clid; + void* m_data = 0; + size_t m_size = 0; + CLID m_clid = 0; RootType m_type; - bool m_own = true; + bool m_own = false; }; #endif -- GitLab From d43067a98b081d5307a69286b5448557377bab96 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 9 Nov 2018 19:56:33 +0100 Subject: [PATCH 202/209] Fix test to adapt to changes in StorageSvc. --- .../share/ByteStreamTestRead.ref | 17 ++++++++--------- .../DataModelRunTests/share/loadReadDicts.py | 3 +++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref index 72f4c4d377d..2d3913edcfe 100644 --- a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref @@ -1,13 +1,13 @@ -Thu Nov 8 03:53:46 CET 2018 +Fri Nov 9 19:19:08 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/7a133dcd071] -- built on [2018-11-09T1652] Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Py:Athena INFO executing ROOT6Setup Py:Athena INFO including file "AthenaCommon/Execution.py" Py:Athena INFO including file "DataModelRunTests/ByteStreamTestRead_jo.py" Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" -Py:ConfigurableDb INFO Read module info for 5556 configurables from 46 genConfDb files +Py:ConfigurableDb INFO Read module info for 5557 configurables from 49 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "AthenaCommon/runbatch.py" [?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 @@ -15,7 +15,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r4) - running on lxplus076.cern.ch on Thu Nov 8 03:54:04 2018 + running on lxplus050.cern.ch on Fri Nov 9 19:19:25 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -49,15 +49,15 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus076.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-08T0031/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus050.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 3412 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 3449 CLIDRegistry entries for module ALL TrigSerializeCn... INFO initialize() HistogramPersis...WARNING Histograms saving not required. EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 @@ -84,8 +84,7 @@ Warning in <TClass::Init>: no dictionary for class MdtTrackSegmentCollection_p1 Warning in <TClass::Init>: no dictionary for class MdtTrackSegment_p1 is available Warning in <TClass::Init>: no dictionary for class MdtTrackSegmentCollection_p2 is available ToolSvc.TrigSer... INFO Initializing - Package version: TrigSerializeTP-00-00-00 -APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=10DE610D-5634-4D42-80D4-80B0A8C16452 -APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=2577D84A-BC0F-4CD2-9539-9F0A4EFC64AA +APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=EAD7484F-1F40-4344-A667-BB9C47536BE6 APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=740C4020-F0A3-40B3-88E1-B15A8055DB64 HLT_DMTest__CVec_cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 diff --git a/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py b/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py index abf47867a1d..376ac6a1017 100644 --- a/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py +++ b/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py @@ -22,6 +22,9 @@ class LoadReadDicts (Alg): cppyy.loadDictionary("libDataModelTestDataCommonDict") cppyy.loadDictionary("libDataModelTestDataReadDict") ROOT.DMTest.B + ROOT.gROOT.GetClass('DMTest::HAuxContainer_v1') + ROOT.gROOT.GetClass('DataVector<DMTest::H_v1>') + ROOT.gROOT.GetClass('DMTest::HView_v1') ROOT.DMTest.setConverterLibrary ('libDataModelTestDataReadCnvPoolCnv.so') ROOT.DMTest.setTrigConverterLibrary ('libDataModelTestDataReadSerCnv.so') return StatusCode.Success -- GitLab From e63abe10e6c9b7ebb0e55285e77ef4c1fb66616e Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Fri, 9 Nov 2018 19:59:55 +0100 Subject: [PATCH 203/209] trigger rebuild -- GitLab From 6243004dc119acef39c1baf0187dde654f39385a Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 20:43:55 +0100 Subject: [PATCH 204/209] Identifier: Coverity 113411. Coverity warning: missing move assignment. Add some move assignment operators where they may make sense. --- .../Identifier/ExpandedIdentifier.h | 19 +++++- .../Identifier/Identifier/Range.h | 14 ++-- DetectorDescription/Identifier/src/Range.cxx | 66 ++++++++++++++++++- 3 files changed, 91 insertions(+), 8 deletions(-) diff --git a/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h b/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h index 7903091a00b..dd3aa92232d 100644 --- a/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h +++ b/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h @@ -1,9 +1,9 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#ifndef __ExpandedIdentifier_h__ -#define __ExpandedIdentifier_h__ +#ifndef IDENTIFIER_EXPANDEDIDENTIFIER_H +#define IDENTIFIER_EXPANDEDIDENTIFIER_H #include <vector> #include <string> @@ -165,6 +165,7 @@ public: //---------------------------------------------------------------- ExpandedIdentifier (const ExpandedIdentifier& other); ExpandedIdentifier& operator= (const ExpandedIdentifier& other); + ExpandedIdentifier& operator= (ExpandedIdentifier&& other); //---------------------------------------------------------------- // Constructor from a subset of another ExpandedIdentifier @@ -301,6 +302,18 @@ ExpandedIdentifier::operator= (const ExpandedIdentifier& other) return *this; } +//----------------------------------------------- +inline +ExpandedIdentifier& +ExpandedIdentifier::operator= (ExpandedIdentifier&& other) +{ + if (this != &other) { + set_last_error (none); + m_fields = std::move(other.m_fields); + } + return *this; +} + //----------------------------------------------- inline ExpandedIdentifier::ExpandedIdentifier (const ExpandedIdentifier& other, size_type start) diff --git a/DetectorDescription/Identifier/Identifier/Range.h b/DetectorDescription/Identifier/Identifier/Range.h index 7a8e8e024e6..699f7285a43 100644 --- a/DetectorDescription/Identifier/Identifier/Range.h +++ b/DetectorDescription/Identifier/Identifier/Range.h @@ -1,9 +1,9 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#ifndef __Range_h__ -#define __Range_h__ +#ifndef IDENTIFIER_RANGE_H +#define IDENTIFIER_RANGE_H #include <Identifier/ExpandedIdentifier.h> #include <cassert> @@ -166,8 +166,10 @@ public: public: identifier_factory (); identifier_factory (const Range& range); + identifier_factory (const identifier_factory&) = default; identifier_factory& operator = (const identifier_factory& other); + identifier_factory& operator = (identifier_factory&& other); void operator ++ (); @@ -188,8 +190,10 @@ public: public: const_identifier_factory (); const_identifier_factory (const Range& range); + const_identifier_factory (const const_identifier_factory&) = default; const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const_identifier_factory&& other); void operator ++ (); @@ -364,6 +368,7 @@ public: ~identifier_factory (); identifier_factory& operator = (const identifier_factory& other); + identifier_factory& operator = (identifier_factory&& other); void operator ++ (); @@ -396,7 +401,8 @@ public: const_identifier_factory (const MultiRange& multirange, bool sort); ~const_identifier_factory (); - const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const_identifier_factory&& other); void operator ++ (); diff --git a/DetectorDescription/Identifier/src/Range.cxx b/DetectorDescription/Identifier/src/Range.cxx index 7d001d72b4c..ec4d2e29ee2 100644 --- a/DetectorDescription/Identifier/src/Range.cxx +++ b/DetectorDescription/Identifier/src/Range.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -1805,6 +1805,20 @@ Range::identifier_factory& Range::identifier_factory::operator = (const identifi return (*this); } +//----------------------------------------------- +Range::identifier_factory& Range::identifier_factory::operator = (identifier_factory&& other) +{ + if (&other != this) { + m_indices = std::move(other.m_indices); + m_id = std::move(other.m_id); + m_min = std::move(other.m_min); + m_max = std::move(other.m_max); + m_range = other.m_range; + } + + return (*this); +} + //----------------------------------------------- void Range::identifier_factory::operator ++ () { @@ -1973,6 +1987,20 @@ Range::const_identifier_factory& Range::const_identifier_factory::operator = (co return (*this); } +//----------------------------------------------- +Range::const_identifier_factory& Range::const_identifier_factory::operator = (const_identifier_factory&& other) +{ + if (&other != this) { + m_indices = std::move(other.m_indices); + m_id = std::move(other.m_id); + m_min = std::move(other.m_min); + m_max = std::move(other.m_max); + m_range = other.m_range; + } + + return (*this); +} + //----------------------------------------------- void Range::const_identifier_factory::operator ++ () { @@ -2706,6 +2734,24 @@ MultiRange::identifier_factory& MultiRange::identifier_factory::operator = (cons return (*this); } +//----------------------------------------------- +MultiRange::identifier_factory& MultiRange::identifier_factory::operator = (identifier_factory&& other) +{ + if (this != &other) { + m_id = std::move(other.m_id); + m_sort = other.m_sort; + m_id_fac_it = std::move(other.m_id_fac_it); + m_id_fac_end = std::move(other.m_id_fac_end); + m_range_it = other.m_range_it; + m_range_end = other.m_range_end; + m_id_vec_it = other.m_id_vec_it; + m_id_vec_end = other.m_id_vec_end; + m_multirange = other.m_multirange; + other.m_multirange = nullptr; + } + return (*this); +} + //----------------------------------------------- void MultiRange::identifier_factory::operator ++ () { @@ -2926,6 +2972,24 @@ MultiRange::const_identifier_factory& MultiRange::const_identifier_factory::oper return (*this); } +//----------------------------------------------- +MultiRange::const_identifier_factory& MultiRange::const_identifier_factory::operator = (const_identifier_factory&& other) +{ + if (this != &other) { + m_id = std::move(other.m_id); + m_sort = other.m_sort; + m_id_fac_it = std::move(other.m_id_fac_it); + m_id_fac_end = std::move(other.m_id_fac_end); + m_range_it = other.m_range_it; + m_range_end = other.m_range_end; + m_id_vec_it = other.m_id_vec_it; + m_id_vec_end = other.m_id_vec_end; + m_multirange = other.m_multirange; + other.m_multirange = nullptr; + } + return (*this); +} + //----------------------------------------------- void MultiRange::const_identifier_factory::operator ++ () { -- GitLab From 2c9aad762865755127d5fe91db4ecbb6289714f8 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 20:49:32 +0100 Subject: [PATCH 205/209] CaloClusterMatching: Fix clang warnings. Clang warnings: missing override keywords. --- .../CaloClusterMatching/src/CaloClusterMatchingTool.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h b/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h index 9f1252c601f..5cc3a628b07 100644 --- a/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h +++ b/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // CaloClusterMatchingTool.h @@ -48,8 +48,8 @@ namespace ClusterMatching { virtual ~CaloClusterMatchingTool(); // Athena algtool's Hooks - virtual StatusCode initialize(); - virtual StatusCode finalize(); + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; /////////////////////////////////////////////////////////////////// // Const methods: -- GitLab From 6dd84fc35ecc9b8d75b57afd41bacfd127c7bd01 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 20:50:18 +0100 Subject: [PATCH 206/209] egammaCaloTools: Fix using declaration. Don't put using declarations in the global namespace in headers. --- .../egamma/egammaCaloTools/src/egammaCaloClusterSelector.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h index 23a2d70a5b8..3a882861b2c 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h @@ -17,8 +17,6 @@ // STL includes #include <string> -using CLHEP::GeV; - /** * @class egammaCaloClusterSelector * @brief A tool which specifies whether a cluster passes a selection -- GitLab From f4938c1790e6a7d72e89c47926448fdcd49063e0 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 21:02:24 +0100 Subject: [PATCH 207/209] TrkVKalVrtFitter: Fix compilation warning. Make sure eigen objects are fully initialized to avoid warnings about reading uninitialized memory. --- Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx index e786cd93099..ba87194f0bc 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Convert TrkTrack parameters to internal VKalVrt parameters @@ -73,6 +73,7 @@ namespace Trk{ tmpMat.TrkPnt=mPer; tmpMat.prtMass = 139.5702; if(counter<(int)m_MassInputParticles.size())tmpMat.prtMass = m_MassInputParticles[counter]; + tmpMat.trkSavedLocalVertex.setZero(); tmpMat.TrkID=counter; m_trkControl.push_back(tmpMat); counter++; } -- GitLab From 813485ffba57812b0ff4c4270e5d7776944960a0 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 8 Nov 2018 21:02:44 +0100 Subject: [PATCH 208/209] TRT_ConditionsAlgs: Fix clang warning. Clang warning: unused private class member. --- .../TRT_ConditionsAlgs/TRTStrawStatusWrite.h | 3 +-- .../TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h index 0bd0d08b26d..7aad5538610 100755 --- a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h +++ b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////// @@ -37,7 +37,6 @@ class TRTStrawStatusWrite : public AthAlgorithm std::string m_par_statusfile; std::string m_par_statusfilepermanent; std::string m_par_statusfileHT; - bool m_setup; }; diff --git a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx index c16cb5ccdb9..e0f7f558636 100755 --- a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx +++ b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx @@ -12,8 +12,7 @@ TRTStrawStatusWrite::TRTStrawStatusWrite( const std::string &name, ISvcLocator * m_trtStrawStatus("TRT_StrawStatusSummarySvc",name), m_par_statusfile(""), m_par_statusfilepermanent(""), - m_par_statusfileHT(""), - m_setup(false) + m_par_statusfileHT("") { declareProperty("StatusTool",m_trtStrawStatusIF); declareProperty("StrawStatusTool",m_trtStrawStatus); -- GitLab From c131acb33d2b5916381eae2d36a0226e72641906 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Sat, 10 Nov 2018 05:07:22 +0100 Subject: [PATCH 209/209] trigger rebuild -- GitLab